コード例 #1
0
        public void SaveChanges()
        {
            if (View.SelectedRoleAccess == null)
            {
                View.SelectedRoleAccess = new RoleAccessViewModel();
            }

            View.SelectedRoleAccess.RoleId             = View.RoleId;
            View.SelectedRoleAccess.ApplicationModulId = View.ApplicationModulId;
            DbConstant.AccessTypeEnum accessType = DbConstant.AccessTypeEnum.Read;
            if (View.AllowCreate)
            {
                accessType = accessType | DbConstant.AccessTypeEnum.Create;
            }
            if (View.AllowUpdate)
            {
                accessType = accessType | DbConstant.AccessTypeEnum.Update;
            }
            if (View.AllowDelete)
            {
                accessType = accessType | DbConstant.AccessTypeEnum.Delete;
            }
            View.SelectedRoleAccess.AccessCode = (int)accessType;

            if (View.SelectedRoleAccess.Id > 0)
            {
                Model.UpdateRoleAccess(View.SelectedRoleAccess);
            }
            else
            {
                Model.InsertRoleAccess(View.SelectedRoleAccess);
            }
        }
コード例 #2
0
        public static bool IsAccessible(int accessCode, DbConstant.AccessTypeEnum accessType)
        {
            int defaultAction = (int)DbConstant.AccessTypeEnum.Read;

            defaultAction = defaultAction | accessCode;
            return(defaultAction.Has(accessType));
        }
コード例 #3
0
        public static bool Validate(this ModulInfo sender, DbConstant.AccessTypeEnum accessType)
        {
            if (sender != null)
            {
                return(IsAccessible(sender.AccessCode, accessType));
            }

            return(false);
        }
コード例 #4
0
 private bool Has(int accessCode, DbConstant.AccessTypeEnum flags)
 {
     return((int)accessCode == ((int)flags | (int)accessCode));
 }
コード例 #5
0
 public static bool Has(this int accessCode, DbConstant.AccessTypeEnum flags)
 {
     return((int)accessCode == ((int)flags | (int)accessCode));
 }