public void ActionApply(SysRoleModel model)
 {
     if (ValidSave(model))
     {
         ApplyRedirect(model.RecordID, _item.ID);
     }
 }
 public void ActionSaveNew(SysRoleModel model)
 {
     if (ValidSave(model))
     {
         SaveNewRedirect(model.RecordID, _item.ID);
     }
 }
 public void ActionSave(SysRoleModel model)
 {
     if (ValidSave(model))
     {
         SaveRedirect();
     }
 }
        public void ActionAdd(SysRoleModel model)
        {
            _item = model.RecordID > 0 ? CPRoleService.Instance.GetByID(model.RecordID) : new CPRoleEntity {
                Order = GetMaxOrder()
            };

            ViewBag.Data  = _item;
            ViewBag.Model = model;
        }
        private void UpdateRoleModule(SysRoleModel model)
        {
            CPAccessService.Instance.Delete(o => o.Type == "CP.MODULE" && o.RoleID == _item.ID);

            for (var i = -1; i < Web.Application.CPModules.Count; i++)
            {
                var moduleCode = "SysAdministrator";

                if (i > -1)
                {
                    moduleCode = Web.Application.CPModules[i].Code;
                }

                var access = 0;

                if (model.ArrApprove != null && model.ArrApprove.Exists(o => o.Equals(moduleCode)))
                {
                    access |= 16;
                }
                if (model.ArrDelete != null && model.ArrDelete.Exists(o => o.Equals(moduleCode)))
                {
                    access |= 8;
                }
                if (model.ArrEdit != null && model.ArrEdit.Exists(o => o.Equals(moduleCode)))
                {
                    access |= 4;
                }
                if (model.ArrAdd != null && model.ArrAdd.Exists(o => o.Equals(moduleCode)))
                {
                    access |= 2;
                }
                if (model.ArrView != null && model.ArrView.Exists(o => o.Equals(moduleCode)))
                {
                    access |= 1;
                }

                //if (access <= 0) continue;

                //if ((access & 1) != 1)
                //    access |= 1;

                var accessEntity = new CPAccessEntity
                {
                    RefCode = moduleCode,
                    RoleID  = _item.ID,
                    Value   = access,
                    Type    = "CP.MODULE"
                };
                CPAccessService.Instance.Save(accessEntity);
            }
        }
        public void ActionIndex(SysRoleModel model)
        {
            //sap xep tu dong
            var orderBy = AutoSort(model.Sort, "[Order]");

            //tao danh sach
            var dbQuery = CPRoleService.Instance.CreateQuery()
                          .Take(model.PageSize)
                          .OrderBy(orderBy)
                          .Skip(model.PageIndex * model.PageSize);

            ViewBag.Data      = dbQuery.ToList();
            model.TotalRecord = dbQuery.TotalRecord;
            ViewBag.Model     = model;
        }
        private bool ValidSave(SysRoleModel model)
        {
            TryUpdateModel(_item);

            ViewBag.Data  = _item;
            ViewBag.Model = model;

            CPViewPage.Message.MessageType = Message.MessageTypeEnum.Error;
            //kiem tra quyen han
            if ((model.RecordID < 1 && !CPViewPage.UserPermissions.Add) || (model.RecordID > 0 && !CPViewPage.UserPermissions.Edit))
            {
                CPViewPage.Message.ListMessage.Add("Quyền hạn chế.");
            }
            //kiem tra ten
            if (_item.Name.Trim() == string.Empty)
            {
                CPViewPage.Message.ListMessage.Add("Nhập tên nhóm người sử dụng.");
            }

            if (CPViewPage.Message.ListMessage.Count != 0)
            {
                return(false);
            }

            try
            {
                //save
                CPRoleService.Instance.Save(_item);

                UpdateRoleModule(model);
            }
            catch (Exception ex)
            {
                Error.Write(ex);
                CPViewPage.Message.ListMessage.Add(ex.Message);
                return(false);
            }

            return(true);
        }