예제 #1
0
        public static ErrorData OnCreating(
            Context context, SiteSettings ss, UserModel userModel, bool api = false)
        {
            if (api && (context.ContractSettings.Api == false || !Parameters.Api.Enabled))
            {
                return(new ErrorData(type: Error.Types.InvalidRequest));
            }
            if (!Parameters.Service.ShowProfiles)
            {
                return(new ErrorData(type: Error.Types.InvalidRequest));
            }
            if (!context.CanCreate(ss: ss))
            {
                return(!context.CanRead(ss: ss)
                    ? new ErrorData(type: Error.Types.NotFound)
                    : new ErrorData(type: Error.Types.HasNotPermission));
            }
            ss.SetColumnAccessControls(context: context, mine: userModel.Mine(context: context));
            foreach (var column in ss.Columns
                     .Where(o => !o.CanCreate)
                     .Where(o => !ss.FormulaTarget(o.ColumnName))
                     .Where(o => !o.Linking))
            {
                switch (column.ColumnName)
                {
                case "LoginId":
                    if (userModel.LoginId_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "GlobalId":
                    if (userModel.GlobalId_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Name":
                    if (userModel.Name_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "UserCode":
                    if (userModel.UserCode_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Password":
                    if (userModel.Password_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LastName":
                    if (userModel.LastName_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "FirstName":
                    if (userModel.FirstName_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Gender":
                    if (userModel.Gender_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Language":
                    if (userModel.Language_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "TimeZone":
                    if (userModel.TimeZone_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "DeptId":
                    if (userModel.DeptId_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "FirstAndLastNameOrder":
                    if (userModel.FirstAndLastNameOrder_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Body":
                    if (userModel.Body_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "NumberOfLogins":
                    if (userModel.NumberOfLogins_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "NumberOfDenial":
                    if (userModel.NumberOfDenial_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "TenantManager":
                    if (userModel.TenantManager_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Disabled":
                    if (userModel.Disabled_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Lockout":
                    if (userModel.Lockout_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LockoutCounter":
                    if (userModel.LockoutCounter_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "ApiKey":
                    if (userModel.ApiKey_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LdapSearchRoot":
                    if (userModel.LdapSearchRoot_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Birthday":
                    if (userModel.Birthday_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LastLoginTime":
                    if (userModel.LastLoginTime_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "PasswordExpirationTime":
                    if (userModel.PasswordExpirationTime_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "PasswordChangeTime":
                    if (userModel.PasswordChangeTime_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "SynchronizedTime":
                    if (userModel.SynchronizedTime_Updated(context: context, column: column))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Comments":
                    if (userModel.Comments_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                default:
                    switch (Def.ExtendedColumnTypes.Get(column.Name))
                    {
                    case "Class":
                        if (userModel.Class_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Num":
                        if (userModel.Num_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Date":
                        if (userModel.Date_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Description":
                        if (userModel.Description_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Check":
                        if (userModel.Check_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Attachments":
                        if (userModel.Attachments_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;
                    }
                    break;
                }
            }
            return(new ErrorData(type: Error.Types.None));
        }
예제 #2
0
        public static Error.Types OnUpdating(SiteSettings ss, UserModel userModel)
        {
            if (Forms.Exists("Users_TenantManager") && userModel.Self())
            {
                return(Error.Types.PermissionNotSelfChange);
            }
            if (!ss.CanUpdate())
            {
                return(Error.Types.HasNotPermission);
            }
            ss.SetColumnAccessControls(userModel.Mine());
            foreach (var column in ss.Columns
                     .Where(o => !o.CanUpdate)
                     .Where(o => !ss.FormulaTarget(o.ColumnName)))
            {
                switch (column.ColumnName)
                {
                case "LoginId":
                    if (userModel.LoginId_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "GlobalId":
                    if (userModel.GlobalId_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Name":
                    if (userModel.Name_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "UserCode":
                    if (userModel.UserCode_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Password":
                    if (userModel.Password_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "LastName":
                    if (userModel.LastName_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "FirstName":
                    if (userModel.FirstName_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Birthday":
                    if (userModel.Birthday_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Gender":
                    if (userModel.Gender_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Language":
                    if (userModel.Language_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "TimeZone":
                    if (userModel.TimeZone_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "DeptId":
                    if (userModel.DeptId_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "FirstAndLastNameOrder":
                    if (userModel.FirstAndLastNameOrder_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Body":
                    if (userModel.Body_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "LastLoginTime":
                    if (userModel.LastLoginTime_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "PasswordExpirationTime":
                    if (userModel.PasswordExpirationTime_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "PasswordChangeTime":
                    if (userModel.PasswordChangeTime_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "NumberOfLogins":
                    if (userModel.NumberOfLogins_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "NumberOfDenial":
                    if (userModel.NumberOfDenial_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "TenantManager":
                    if (userModel.TenantManager_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Disabled":
                    if (userModel.Disabled_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "ApiKey":
                    if (userModel.ApiKey_Updated())
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Comments":
                    if (!ss.GetColumn("Comments").CanUpdate)
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;
                }
            }
            return(Error.Types.None);
        }
예제 #3
0
        public static Error.Types OnCreating(SiteSettings ss, UserModel userModel)
        {
            if (!DefinitionAccessor.Parameters.Service.ShowProfiles)
            {
                return(Error.Types.InvalidRequest);
            }
            if (!ss.CanCreate())
            {
                return(Error.Types.HasNotPermission);
            }
            ss.SetColumnAccessControls(userModel.Mine());
            foreach (var column in ss.Columns
                     .Where(o => !o.CanCreate)
                     .Where(o => !ss.FormulaTarget(o.ColumnName))
                     .Where(o => !o.Linking))
            {
                switch (column.ColumnName)
                {
                case "LoginId":
                    if (userModel.LoginId_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.LoginId))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "GlobalId":
                    if (userModel.GlobalId_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.GlobalId))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Name":
                    if (userModel.Name_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.Name))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "UserCode":
                    if (userModel.UserCode_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.UserCode))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Password":
                    if (userModel.Password_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.Password))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "LastName":
                    if (userModel.LastName_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.LastName))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "FirstName":
                    if (userModel.FirstName_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.FirstName))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Gender":
                    if (userModel.Gender_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.Gender))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Language":
                    if (userModel.Language_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.Language))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "TimeZone":
                    if (userModel.TimeZone_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.TimeZone))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "DeptId":
                    if (userModel.DeptId_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToInt() != userModel.DeptId))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "FirstAndLastNameOrder":
                    if (userModel.FirstAndLastNameOrder_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToInt() != userModel.FirstAndLastNameOrder.ToInt()))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Body":
                    if (userModel.Body_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.Body))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "NumberOfLogins":
                    if (userModel.NumberOfLogins_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToInt() != userModel.NumberOfLogins))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "NumberOfDenial":
                    if (userModel.NumberOfDenial_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToInt() != userModel.NumberOfDenial))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "TenantManager":
                    if (userModel.TenantManager_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToBool() != userModel.TenantManager))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Disabled":
                    if (userModel.Disabled_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToBool() != userModel.Disabled))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "ApiKey":
                    if (userModel.ApiKey_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultInput.ToString() != userModel.ApiKey))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Birthday":
                    if (userModel.Birthday_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultTime().Date != userModel.Birthday.Value.Date))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "LastLoginTime":
                    if (userModel.LastLoginTime_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultTime().Date != userModel.LastLoginTime.Value.Date))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "PasswordExpirationTime":
                    if (userModel.PasswordExpirationTime_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultTime().Date != userModel.PasswordExpirationTime.Value.Date))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "PasswordChangeTime":
                    if (userModel.PasswordChangeTime_Updated() &&
                        (column.DefaultInput.IsNullOrEmpty() ||
                         column.DefaultTime().Date != userModel.PasswordChangeTime.Value.Date))
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;

                case "Comments":
                    if (!ss.GetColumn("Comments").CanUpdate)
                    {
                        return(Error.Types.HasNotPermission);
                    }
                    break;
                }
            }
            return(Error.Types.None);
        }
        public static ErrorData OnUpdating(
            Context context, SiteSettings ss, UserModel userModel, bool api = false)
        {
            if (api)
            {
                if ((!Parameters.Api.Enabled ||
                     context.ContractSettings.Api == false ||
                     context.UserSettings?.AllowApi(context: context) == false))
                {
                    return(new ErrorData(type: Error.Types.InvalidRequest));
                }
                if (context.InvalidJsonData)
                {
                    return(new ErrorData(type: Error.Types.InvalidJsonData));
                }
            }
            if (!Parameters.Service.ShowProfiles && !context.HasPrivilege)
            {
                return(new ErrorData(type: Error.Types.InvalidRequest));
            }
            if (context.Forms.Exists("Users_TenantManager") &&
                userModel.Self(context: context))
            {
                return(new ErrorData(type: Error.Types.PermissionNotSelfChange));
            }
            if (!context.CanUpdate(ss: ss) || userModel.ReadOnly)
            {
                return(!context.CanRead(ss: ss)
                    ? new ErrorData(type: Error.Types.NotFound)
                    : new ErrorData(type: Error.Types.HasNotPermission));
            }
            foreach (var column in ss.Columns
                     .Where(o => !o.CanUpdate(
                                context: context,
                                ss: ss,
                                mine: userModel.Mine(context: context)))
                     .Where(o => !ss.FormulaTarget(o.ColumnName)))
            {
                switch (column.ColumnName)
                {
                case "LoginId":
                    if (userModel.LoginId_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "GlobalId":
                    if (userModel.GlobalId_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Name":
                    if (userModel.Name_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "UserCode":
                    if (userModel.UserCode_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Password":
                    if (userModel.Password_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LastName":
                    if (userModel.LastName_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "FirstName":
                    if (userModel.FirstName_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Birthday":
                    if (userModel.Birthday_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Gender":
                    if (userModel.Gender_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Language":
                    if (userModel.Language_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "TimeZone":
                    if (userModel.TimeZone_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "DeptId":
                    if (userModel.DeptId_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Theme":
                    if (userModel.Theme_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "FirstAndLastNameOrder":
                    if (userModel.FirstAndLastNameOrder_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Body":
                    if (userModel.Body_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LastLoginTime":
                    if (userModel.LastLoginTime_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "PasswordExpirationTime":
                    if (userModel.PasswordExpirationTime_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "PasswordChangeTime":
                    if (userModel.PasswordChangeTime_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "NumberOfLogins":
                    if (userModel.NumberOfLogins_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "NumberOfDenial":
                    if (userModel.NumberOfDenial_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "TenantManager":
                    if (userModel.TenantManager_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "AllowCreationAtTopSite":
                    if (userModel.AllowCreationAtTopSite_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "AllowGroupAdministration":
                    if (userModel.AllowGroupAdministration_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "AllowGroupCreation":
                    if (userModel.AllowGroupCreation_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "AllowApi":
                    if (userModel.AllowApi_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Disabled":
                    if (userModel.Disabled_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Lockout":
                    if (userModel.Lockout_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LockoutCounter":
                    if (userModel.LockoutCounter_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "ApiKey":
                    if (userModel.ApiKey_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "SecondaryAuthenticationCode":
                    if (userModel.SecondaryAuthenticationCode_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "SecondaryAuthenticationCodeExpirationTime":
                    if (userModel.SecondaryAuthenticationCodeExpirationTime_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "LdapSearchRoot":
                    if (userModel.LdapSearchRoot_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "SynchronizedTime":
                    if (userModel.SynchronizedTime_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                case "Comments":
                    if (userModel.Comments_Updated(context: context))
                    {
                        return(new ErrorData(type: Error.Types.HasNotPermission));
                    }
                    break;

                default:
                    switch (Def.ExtendedColumnTypes.Get(column.Name))
                    {
                    case "Class":
                        if (userModel.Class_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Num":
                        if (userModel.Num_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Date":
                        if (userModel.Date_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Description":
                        if (userModel.Description_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Check":
                        if (userModel.Check_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;

                    case "Attachments":
                        if (userModel.Attachments_Updated(
                                columnName: column.Name,
                                context: context,
                                column: column))
                        {
                            return(new ErrorData(type: Error.Types.HasNotPermission));
                        }
                        break;
                    }
                    break;
                }
            }
            return(new ErrorData(type: Error.Types.None));
        }