示例#1
0
        public ActionResult PermissionEdit(int id)
        {
            PERMISSIONS _permission = database.PERMISSIONS.Find(id);

            ViewBag.RoleId = new SelectList(database.ROLES.OrderBy(p => p.RoleDescription), "Role_Id", "RoleDescription");
            return(View(_permission));
        }
        public static bool HasPermissions(this IObjVerEx obj, PERMISSIONS permissionsToCheck, int userOrGroupId, bool isGroup)
        {
            if (obj.objVerEx.Permissions == null)
            {
                return(false);
            }

            bool hasPermission = true;
            ObjectVersionPermissions   objPermissions = obj.objVerEx.Permissions;
            AccessControlListComponent aclComponent   = objPermissions.AccessControlList.CustomComponent;
            AccessControlEntryData     aceData        = aclComponent.GetACEByUserOrGroupID(userOrGroupId, isGroup);

            if ((permissionsToCheck & PERMISSIONS.READ) == PERMISSIONS.READ)
            {
                hasPermission = hasPermission && aceData.ReadPermission == MFPermission.MFPermissionAllow;
            }
            if ((permissionsToCheck & PERMISSIONS.DELETE) == PERMISSIONS.DELETE)
            {
                hasPermission = hasPermission && aceData.DeletePermission == MFPermission.MFPermissionAllow;
            }
            if ((permissionsToCheck & PERMISSIONS.EDIT) == PERMISSIONS.EDIT)
            {
                hasPermission = hasPermission && aceData.EditPermission == MFPermission.MFPermissionAllow;
            }
            if ((permissionsToCheck & PERMISSIONS.CHANGE_PERMISSIONS) == PERMISSIONS.CHANGE_PERMISSIONS)
            {
                hasPermission = hasPermission && aceData.ChangePermissionsPermission == MFPermission.MFPermissionAllow;
            }
            if ((permissionsToCheck & PERMISSIONS.ATTACH_OBJECT) == PERMISSIONS.ATTACH_OBJECT)
            {
                hasPermission = hasPermission && aceData.AttachObjectsPermission == MFPermission.MFPermissionAllow;
            }

            return(hasPermission);
        }
示例#3
0
        /// <summary>
        /// Kiem tra model backing changed,
        /// CSDL Sẽ tạo tự động nếu chưa có (Chưa hay lắm)
        /// </summary>
        /// <returns></returns>
        public bool isValidModel()
        {
            try
            {
                COSOS.Find(Guid.Empty);
                DAYYS.Find(Guid.Empty);
                TANGS.Find(Guid.Empty);
                VITRIS.Find(Guid.Empty);
                PHONGS.Find(Guid.Empty);
                THIETBIS.Find(Guid.Empty);
                CTTHIETBIS.Find(Guid.Empty);
                HINHANHS.Find(Guid.Empty);
                QUANTRIVIENS.Find(Guid.Empty);
                NHANVIENPTS.Find(Guid.Empty);
                LOGHETHONGS.Find(Guid.Empty);
                LOGSUCOPHONGS.Find(Guid.Empty);
                LOGTHIETBIS.Find(Guid.Empty);
                LOAITHIETBIS.Find(Guid.Empty);
                SETTINGS.Find(Guid.Empty);
                TINHTRANGS.Find(Guid.Empty);
                PERMISSIONS.Find(Guid.Empty);
                SUCOPHONGS.Find(Guid.Empty);
                GROUPS.Find(Guid.Empty);
                PHIEUMUONPHONGS.Find(Guid.Empty);

                return(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                return(false);
            }
        }
示例#4
0
 public ActionResult PermissionEdit(PERMISSIONS _permission)
 {
     if (ModelState.IsValid)
     {
         database.Entry(_permission).State = EntityState.Modified;
         database.SaveChanges();
         return(RedirectToAction("PermissionDetails", new RouteValueDictionary(new { id = _permission.Permission_Id })));
     }
     return(View(_permission));
 }
示例#5
0
        public PartialViewResult AddRole2PermissionReturnPartialView(int permissionId, int roleId)
        {
            ROLES       role        = database.ROLES.Find(roleId);
            PERMISSIONS _permission = database.PERMISSIONS.Find(permissionId);

            if (!role.PERMISSIONS.Contains(_permission))
            {
                role.PERMISSIONS.Add(_permission);
                database.SaveChanges();
            }
            return(PartialView("_ListRolesTable4Permission", _permission));
        }
示例#6
0
        public PartialViewResult DeleteRoleFromPermissionReturnPartialView(int id, int permissionId)
        {
            ROLES       role       = database.ROLES.Find(id);
            PERMISSIONS permission = database.PERMISSIONS.Find(permissionId);

            if (role.PERMISSIONS.Contains(permission))
            {
                role.PERMISSIONS.Remove(permission);
                database.SaveChanges();
            }
            return(PartialView("_ListRolesTable4Permission", permission));
        }
        public PartialViewResult DeletePermissionReturnPartialView(int id)
        {
            PERMISSIONS permission = database.PERMISSIONS.Find(id);

            if (permission != null)
            {
                database.Entry(permission).State = EntityState.Deleted;
                database.SaveChanges();
            }
            //return RedirectToAction("PermissionIndex");
            return(PartialView("_ListPermissionsTable", database.PERMISSIONS.OrderBy(r => r.PermissionDescription).ToList()));
        }
示例#8
0
        public PartialViewResult AddPermission2RoleReturnPartialView(int id, int permissionId)
        {
            ROLES       role        = database.ROLES.Find(id);
            PERMISSIONS _permission = database.PERMISSIONS.Find(permissionId);

            if (!role.PERMISSIONS.Contains(_permission))
            {
                role.PERMISSIONS.Add(_permission);
                database.SaveChanges();
            }
            return(PartialView("_ListPermissions", role));
        }
示例#9
0
        public PartialViewResult DeletePermissionFromRoleReturnPartialView(int id, int permissionId)
        {
            ROLES       _role       = database.ROLES.Find(id);
            PERMISSIONS _permission = database.PERMISSIONS.Find(permissionId);

            if (_role.PERMISSIONS.Contains(_permission))
            {
                _role.PERMISSIONS.Remove(_permission);
                database.SaveChanges();
            }
            return(PartialView("_ListPermissions", _role));
        }
示例#10
0
        public ActionResult PermissionDelete(int id)
        {
            PERMISSIONS permission = database.PERMISSIONS.Find(id);

            if (permission.ROLES.Count > 0)
            {
                permission.ROLES.Clear();
            }

            database.Entry(permission).State = EntityState.Deleted;
            database.SaveChanges();
            return(RedirectToAction("PermissionIndex"));
        }
示例#11
0
        public ActionResult PermissionCreate(PERMISSIONS _permission)
        {
            if (_permission.PermissionDescription == null)
            {
                ModelState.AddModelError("Permission Description", "Permission Description must be entered");
            }

            if (ModelState.IsValid)
            {
                database.PERMISSIONS.Add(_permission);
                database.SaveChanges();
                return(RedirectToAction("PermissionIndex"));
            }
            return(View(_permission));
        }
 public ActionResult DeletePermission(int id)
 {
     try
     {
         PERMISSIONS permission = database.PERMISSIONS.Find(id);
         if (permission != null)
         {
             database.Entry(permission).State = EntityState.Deleted;
             database.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.OK));
 }
        private void PermissionsButton_Click(object sender, EventArgs e)
        {
            try
            {
                PERMISSIONS permissionType = (PERMISSIONS)((ComponentFactory.Krypton.Toolkit.KryptonCheckButton)sender).Tag;
                bool        isChecked      = ((ComponentFactory.Krypton.Toolkit.KryptonCheckButton)sender).Checked;
                string      strText        = string.Empty;
                switch (permissionType)
                {
                case PERMISSIONS.ADD_NEW: strText = "Can Add a New Record"; break;

                case PERMISSIONS.APPROVE: strText = "Can Approve  Record"; break;

                case PERMISSIONS.AUTHORIZE: strText = "Can Authorize  Record"; break;

                case PERMISSIONS.CHECK: strText = "Can Check  Record"; break;

                case PERMISSIONS.DELETE: strText = "Can Delete  Record"; break;

                case PERMISSIONS.MODIFY: strText = "Can Modify  Record"; break;

                case PERMISSIONS.PRINT: strText = "Can Print  Record"; break;

                case PERMISSIONS.SEARCH: strText = "Can Search  Record"; break;

                case PERMISSIONS.UNDELETE: strText = "Can Undelete  Record"; break;

                case PERMISSIONS.VIEW: strText = "Can View  Record"; break;
                }
                if (isChecked)
                {
                    strText += string.Format(" {0}", uniCodeCharacter);
                }
                ((ComponentFactory.Krypton.Toolkit.KryptonCheckButton)sender).Text = strText;
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "frmAddEditFormPermission::PermissionsButton_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#14
0
        public ActionResult PermissionsImport()
        {
            var _controllerTypes = AppDomain.CurrentDomain.GetAssemblies()
                                   .SelectMany(a => a.GetTypes())
                                   .Where(t => t != null &&
                                          t.IsPublic &&
                                          t.Name.EndsWith("Controller", StringComparison.OrdinalIgnoreCase) &&
                                          !t.IsAbstract &&
                                          typeof(IController).IsAssignableFrom(t));

            var _controllerMethods = _controllerTypes.ToDictionary(controllerType => controllerType,
                                                                   controllerType => controllerType.GetMethods(BindingFlags.Public | BindingFlags.Instance)
                                                                   .Where(m => typeof(ActionResult).IsAssignableFrom(m.ReturnType)));

            foreach (var _controller in _controllerMethods)
            {
                string _controllerName = _controller.Key.Name;
                foreach (var _controllerAction in _controller.Value)
                {
                    string _controllerActionName = _controllerAction.Name;
                    if (_controllerName.EndsWith("Controller"))
                    {
                        _controllerName = _controllerName.Substring(0, _controllerName.LastIndexOf("Controller"));
                    }

                    string      _permissionDescription = string.Format("{0}-{1}", _controllerName, _controllerActionName);
                    PERMISSIONS _permission            = database.PERMISSIONS.Where(p => p.PermissionDescription == _permissionDescription).FirstOrDefault();
                    if (_permission == null)
                    {
                        if (ModelState.IsValid)
                        {
                            PERMISSIONS _perm = new PERMISSIONS();
                            _perm.PermissionDescription = _permissionDescription;

                            database.PERMISSIONS.Add(_perm);
                            database.SaveChanges();
                        }
                    }
                }
            }
            return(RedirectToAction("PermissionIndex"));
        }
示例#15
0
        /// <summary>
        /// Kiem tra model backing changed,
        /// CSDL Sẽ tạo tự động nếu chưa có (Chưa hay lắm)
        /// </summary>
        /// <returns></returns>
        public bool isValidModel()
        {
            try
            {
                COSOS.Find(Guid.Empty);
                DAYYS.Find(Guid.Empty);
                TANGS.Find(Guid.Empty);
                VITRIS.Find(Guid.Empty);
                PHONGS.Find(Guid.Empty);
                LOAIPHONGS.Find(Guid.Empty);

                QUANTRIVIENS.Find(Guid.Empty);

                LOGHETHONGS.Find(Guid.Empty);

                SETTINGS.Find(Guid.Empty);
                TINHTRANGS.Find(Guid.Empty);
                PERMISSIONS.Find(Guid.Empty);

                GROUPS.Find(Guid.Empty);

                CTTAISANS.Find(Guid.Empty);
                TAISANS.Find(Guid.Empty);
                LOAITAISANS.Find(Guid.Empty);
                DONVIS.Find(Guid.Empty);
                LOAIDONVIS.Find(Guid.Empty);
                DONVITINHS.Find(Guid.Empty);
                LOGTANGGIAMTAISANS.Find(Guid.Empty);

                return(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                return(false);
            }
        }
示例#16
0
        public ViewResult PermissionDetails(int id)
        {
            PERMISSIONS _permission = database.PERMISSIONS.Find(id);

            return(View(_permission));
        }
 public static bool HasPermissions(this IObjVerEx obj, PERMISSIONS permissionsToCheck, VL_User_group userGroupId)
 {
     return(obj.HasPermissions(permissionsToCheck, (int)userGroupId, true));
 }
 public static bool HasPermissions(this IObjVerEx obj, PERMISSIONS permissionsToCheck, VL_User userId)
 {
     return(obj.HasPermissions(permissionsToCheck, (int)userId, false));
 }