Exemplo n.º 1
0
        /// <summary>
        /// lấy nội dung
        /// </summary>
        ///
        public virtual SysConfigVM GetConfigCache()
        {
            var __idlang = myCookies.GetLangKey();

            return(CacheServ.GetOrSet <SysConfigVM>(constCacheKey.vd_sys_configs + "_" + __idlang,
                                                    () =>
            {
                try
                {
                    SysConfigVM vm = new SysConfigVM();
                    foreach (var prop in vm.GetType().GetProperties())
                    {
                        prop.SetValue(vm, GetContentCulture(prop.Name, __idlang), null);
                    }
                    return vm;
                }
                catch
                {
                    return new SysConfigVM();
                }
            }));
        }
Exemplo n.º 2
0
        protected void GridView_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
        {
            SysConfigVM item = new SysConfigVM();

            if (GridView.IsNewRowEditing)
            {
                //foreach (var itemKey in e.NewValues.Keys)
                foreach (GridViewColumn column in GridView.Columns)
                {
                    GridViewDataColumn dataColumn = column as GridViewDataColumn;
                    if (dataColumn == null)
                    {
                        continue;
                    }

                    PropertyInfo myFieldInfo = typeof(SysConfigVM).GetProperty(dataColumn.FieldName);
                    if (myFieldInfo == null)
                    {
                        continue;
                    }

                    myFieldInfo.SetValue(item, e.NewValues[dataColumn.FieldName]);

                    ValidationContext context = new ValidationContext(item)
                    {
                        MemberName = dataColumn.FieldName
                    };
                    var errors = new List <ValidationResult>();

                    var myProperty = item.GetType().GetProperty(dataColumn.FieldName).GetValue(item, null);

                    bool isValid = Validator.TryValidateProperty(myProperty, context, errors);

                    if (!isValid)
                    {
                        //e.Errors[dataColumn] = errors[0].ErrorMessage;
                        AddError(e.Errors, dataColumn, errors[0].ErrorMessage);
                    }
                    //var myPropertyInfo = item.GetType().GetProperty(dataColumn.FieldName);
                    //myFieldInfo.SetValue(item, e.NewValues[itemKey.ToString()]);
                }
            }
            else
            {
                //foreach (var itemKey in e.NewValues.Keys)
                foreach (GridViewColumn column in GridView.Columns)
                {
                    GridViewDataColumn dataColumn = column as GridViewDataColumn;
                    if (dataColumn == null)
                    {
                        continue;
                    }

                    PropertyInfo myFieldInfo = typeof(SysConfigVM).GetProperty(dataColumn.FieldName);
                    if (myFieldInfo == null)
                    {
                        continue;
                    }

                    myFieldInfo.SetValue(item, e.NewValues[dataColumn.FieldName]);

                    ValidationContext context = new ValidationContext(item)
                    {
                        MemberName = dataColumn.FieldName
                    };
                    var errors = new List <ValidationResult>();

                    var myProperty = item.GetType().GetProperty(dataColumn.FieldName).GetValue(item, null);

                    bool isValid = Validator.TryValidateProperty(myProperty, context, errors);

                    if (!isValid)
                    {
                        if (dataColumn.FieldName != "FastName" && dataColumn.FieldName != "UserName" && dataColumn.FieldName != "Password" && dataColumn.FieldName != "ConfirmPassword")
                        {
                            //e.Errors[dataColumn] = errors[0].ErrorMessage;
                            AddError(e.Errors, dataColumn, errors[0].ErrorMessage);
                        }
                    }
                    //var myPropertyInfo = item.GetType().GetProperty(dataColumn.FieldName);
                    //myFieldInfo.SetValue(item, e.NewValues[itemKey.ToString()]);
                }
            }
            if (e.Errors.Count > 0)
            {
                e.RowError = "Vui lòng nhập đầy đủ thông tin theo yêu cầu.";
            }
        }