Exemplo n.º 1
0
        public virtual ActionResult GetFormJson(string keyValue)
        {
            var         data   = baseBLL.FindByID(keyValue);
            ResultModel result = OnBeforeGetFormJson(data);

            if (result != null && result.bSuccess == false)
            {
                return(Content(""));
            }
            return(Content(JsonAppHelper.ToJson(data)));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 更新对象属性到数据库中
        /// </summary>
        /// <param name="id">主键ID的值</param>
        /// <param name="formValues">集合信息</param>
        /// <returns>执行成功返回<c>true</c>,否则为<c>false</c>。</returns>
        public virtual ActionResult Update(string id, FormCollection formValues)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.UpdateKey);

            #region 对象属性赋值(默认反射方式)
            T obj = baseBLL.FindByID(id);
            if (obj != null)
            {
                //遍历提交过来的数据(可能是实体类的部分属性更新)
                foreach (string key in formValues.Keys)
                {
                    string value = formValues[key];
                    System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(key);
                    if (propertyInfo != null)
                    {
                        try
                        {
                            // obj对象有key的属性,把对应的属性值赋值给它(从字符串转换为合适的类型)
                            //如果转换失败,会抛出InvalidCastException异常
                            propertyInfo.SetValue(obj, ChangeType(value, propertyInfo.PropertyType), null);
                        }
                        catch (Exception ex)
                        {
                            LogHelper.Error(ex);
                        }
                    }
                }
            }
            #endregion

            CommonResult result = new CommonResult();
            try
            {
                result = Update(id, obj);
            }
            catch (Exception ex)
            {
                LogTextHelper.Error(ex);//错误记录
                result.ErrorMessage = ex.Message;
            }

            return(ToJsonContent(result));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 更新对象属性到数据库中
        /// </summary>
        /// <param name="info">指定的对象</param>
        /// <param name="id">主键ID的值</param>
        /// <returns>执行成功返回<c>true</c>,否则为<c>false</c>。</returns>
        public virtual ActionResult Update(string id, FormCollection formValues)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.UpdateKey);

            T obj = baseBLL.FindByID(id);

            if (obj != null)
            {
                //遍历提交过来的数据(可能是实体类的部分属性更新)
                foreach (string key in formValues.Keys)
                {
                    string value = formValues[key];
                    System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(key);
                    if (propertyInfo != null)
                    {
                        try
                        {
                            // obj对象有key的属性,把对应的属性值赋值给它(从字符串转换为合适的类型)
                            //如果转换失败,会抛出InvalidCastException异常
                            propertyInfo.SetValue(obj, Convert.ChangeType(value, propertyInfo.PropertyType), null);
                        }
                        catch { }
                    }
                }
            }

            CommonResult result = new CommonResult();

            try
            {
                result.Success = Update(id, obj);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(BusinessController <B, T>));
                result.ErrorMessage = ex.Message;
            }

            return(ToJsonContent(result));
        }
Exemplo n.º 4
0
        public virtual ActionResult Update(string id, FormCollection formValues)
        {
            base.CheckAuthorized(AuthorizeKey.UpdateKey);

            T obj = baseBLL.FindByID(id);

            if (obj != null)
            {
                foreach (string key in formValues.Keys)
                {
                    string value = formValues[key];
                    string temp  = key.Substring(key.IndexOf('.') + 1);
                    System.Reflection.PropertyInfo propertyInfo;
                    if (key.IndexOf('.') != -1)
                    {
                        propertyInfo = obj.GetType().GetProperty(key.Substring(key.IndexOf('.') + 1));
                    }
                    else
                    {
                        propertyInfo = obj.GetType().GetProperty(key);
                    }
                    if (propertyInfo != null)
                    {
                        try
                        {
                            propertyInfo.SetValue(obj, Convert.ChangeType(value, propertyInfo.PropertyType), null);
                        }
                        catch (Exception e)
                        {
                            //throw new Exception("字段类型转换出错。" + e.ToString());
                        }
                    }
                }
            }

            bool result = Update(id, obj);

            return(Content(result));
        }
Exemplo n.º 5
0
 /// <summary>
 /// 查询数据库,检查是否存在指定ID的对象(用于字符型主键)
 /// </summary>
 /// <param name="key">对象的ID值</param>
 /// <returns>存在则返回指定的对象,否则返回Null</returns>
 public virtual T FindByID(string key)
 {
     return(baseBLL.FindByID(key));
 }