zoukankan      html  css  js  c++  java
  • 一段关于实体类映射的代码

    handler层:

    #region 根据市场费用编号删除制定市场费用
            private void DelCommissionByCommissionID(HttpRequest Request, HttpContext context)
            {
                int pindex = 0;
                if (Request["pindex"] != "" && !string.IsNullOrEmpty(Request["pindex"]))
                {
                    pindex = Convert.ToInt32(Request["pindex"]);
                }
                //验证权限
                UserControler control = new UserControler(context);
                //映射实体类Commission
                object obj = Utility.InitObject(Request, "Contract.Model.dll", "Contract.Model.Commission");
                Model.Commission commission = obj as Model.Commission;
                //ContractControler controler = ContractControler.GetContractByID(control.UserID, commission.ContractID);
                ContractControler controler = ContractControler.GetContractByID(control.UserID, commission.ContractID, pindex, 10, control.DepartmentID);
                int result = controler.DeleteCommission(commission);
                var json = new { Status = "failed", Msg = "删除失败" };
                if (result > 0)
                {
                    json = new { Status = "success", Msg = "删除成功"};
    
                }
                context.Response.Write(js.Serialize(json));
            } 
            #endregion

    具体方法:

    /// <summary>
            /// 用页面request中的参数实例化对象,要求页面中的参数名必须和对象中的属性名一致
            /// </summary>
            /// <param name="Request"></param>
            /// <param name="assemblyName">要求是dll文件名</param>
            /// <param name="typeName">对象名,要求对象必须有公用的无参数的实例化方法</param>
            /// <returns></returns>
            public static Object InitObject(HttpRequest Request, string assemblyName, string typeName)
            {
                Assembly assembly = Assembly.LoadFrom(Request.PhysicalApplicationPath
                    + "\\bin\\" + assemblyName);
    
    
    
                Type type = assembly.GetType(typeName);
                //Type type = Type.GetType(typeName);
                Object obj = System.Activator.CreateInstance(type);
                foreach (var item in type.GetProperties())
                {
                    string temp = Request[item.Name];
                    if (item.PropertyType == typeof(string))
                        item.SetValue(obj, temp, null);
                    if ((item.PropertyType == typeof(int) || item.PropertyType == typeof(int?)) && temp != null && temp != "")
                    {
                        try
                        {
                            int intTmp = 0;
                            int.TryParse(temp, out intTmp);
                            item.SetValue(obj, intTmp, null);
                        }
                        catch { }
                    }
                    if (item.PropertyType == typeof(DateTime?) || item.PropertyType == typeof(DateTime))
                    {
                        try
                        {
                            DateTime tmpd = DateTime.Now;
                            DateTime.TryParse(temp, out tmpd);
                            if (tmpd == DateTime.MinValue) tmpd = DateTime.Now;
                            item.SetValue(obj, tmpd, null);
                        }
                        catch { }
                    }
    
                    if (item.PropertyType == typeof(Decimal) && temp != null && temp != "")
                    {
                        try
                        {
                            Decimal d = 0;
                            Decimal.TryParse(temp, out d);
    
                            item.SetValue(obj, d, null);
                        }
                        catch { }
                    }
                    if (item.PropertyType == typeof(Boolean) && temp != null && temp != "")
                    {
                        try
                        {
                            bool d = false;
    
                            Boolean.TryParse(temp, out d);
    
                            item.SetValue(obj, d, null);
                        }
                        catch { }
                    }
                }
    
                return obj;
            }
  • 相关阅读:
    [51Nod] 配对
    [Poj] Roads in the North
    【Java学习笔记之二十六】深入理解Java匿名内部类
    【Java学习笔记之二十五】初步认知Java内部类
    【Java学习笔记之二十四】对Java多态性的一点理解
    【Java学习笔记之二十三】instanceof运算符的用法小结
    【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析
    图论--拓扑排序模板
    hdu 5384 AC自动机
    java大数
  • 原文地址:https://www.cnblogs.com/chzbgb/p/6801085.html
Copyright © 2011-2022 走看看