/// <summary>
        /// 使用新模块创建权限
        /// </summary>
        /// <param name="privilegeAdd"></param>
        /// <returns></returns>
        public int AddPrivilegeForNewGroup(PrivilegeAddForNewGroupDto privilegeAdd)
        {
            TPrivilegeGroup privilegeGroup = new TPrivilegeGroup
            {
                Id       = IdentityHelper.NewSequentialGuid().ToString("N"),
                Name     = privilegeAdd.GroupName,
                SystemId = privilegeAdd.SystemId
            };
            string     SystemCode = IocUnity.Get <RepositorySystem>().GetCode(privilegeAdd.SystemId);
            TPrivilege privilege  = new TPrivilege
            {
                Id           = IdentityHelper.NewSequentialGuid().ToString("N"),
                Code         = $"{SystemCode}-{privilegeAdd.Code}",
                OriginalCode = privilegeAdd.Code,
                Name         = privilegeAdd.Name,
                GroupId      = privilegeGroup.Id,
                Instruction  = privilegeAdd.Instruction
            };
            int count = 0;

            IocUnity.Get <RepositoryPrivilege>().DapperRepository.ExcuteTransaction(tranc =>
            {
                IocUnity.Get <RepositoryPrivilegeGroup>().Insert(privilegeGroup);
                count += IocUnity.Get <RepositoryPrivilege>().Insert(privilege);
            });
            return(count);
        }
        /// <summary>
        /// 使用已有模块添加权限
        /// </summary>
        /// <param name="privilegeAddDto"></param>
        /// <returns></returns>
        public int AddPrivilege(PrivilegeAddDto privilegeAddDto)
        {
            TPrivilege privilege = AutoMapperExtensions.MapTo <TPrivilege>(privilegeAddDto);

            privilege.OriginalCode = privilegeAddDto.Code;
            string SystemCode = IocUnity.Get <RepositoryPrivilegeGroup>().GetSystemCode(privilegeAddDto.GroupId);

            privilege.Code = $"{SystemCode}-{privilege.OriginalCode}";
            privilege.Id   = IdentityHelper.NewSequentialGuid().ToString("N");
            return(IocUnity.Get <RepositoryPrivilege>().Insert(privilege));
        }
Exemple #3
0
        public ActionResult UserPrivilege(string userName, List <TreeViewItem> TreeView1_checkedNodes, FormCollection formCollection)
        {
            string Message = string.Empty;
            bool   Success = true;

            try
            {
                _tPrivilegeRepository.DbContext.BeginTransaction();

                _tPrivilegeRepository.DeleteByUserName(userName);

                //for (int i = 0; i < formCollection.Count; i++)
                //{
                //    Message += "name : " + formCollection.Keys[i] + "  value : " + formCollection[i] + "\n";
                //}

                string checkedNodes = formCollection["checkedId"];
                if (!string.IsNullOrEmpty(checkedNodes))
                {
                    TPrivilege privilege = new TPrivilege();
                    string     separator = ",";
                    foreach (string checkedId in checkedNodes.Split(separator.ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
                    {
                        privilege = new TPrivilege();
                        privilege.SetAssignedIdTo(Guid.NewGuid().ToString());
                        privilege.UserName      = userName;
                        privilege.MenuId        = _mMenuRepository.Get(checkedId);
                        privilege.PrivilegeType = EnumPrivilegeType.Menu.ToString();
                        privilege.ModifiedBy    = User.Identity.Name;
                        privilege.ModifiedDate  = DateTime.Now;
                        privilege.DataStatus    = EnumDataStatus.New.ToString();
                        _tPrivilegeRepository.Save(privilege);
                    }
                }


                //if (TreeView1_checkedNodes != null)
                //{
                //    TPrivilege privilege = new TPrivilege();
                //    foreach (TreeViewItem node in TreeView1_checkedNodes)
                //    {
                //        Message += "text : " + node.Text + "  value : " + node.Value + "\n";
                //        //if (node.Checked)
                //        {
                //            //privilege = new TPrivilege();
                //            //privilege.SetAssignedIdTo(Guid.NewGuid().ToString());
                //            //privilege.UserName = userName;
                //            //privilege.MenuId = _mMenuRepository.Get(node.Value);
                //            //privilege.PrivilegeType = EnumPrivilegeType.Menu.ToString();
                //            //privilege.ModifiedBy = User.Identity.Name;
                //            //privilege.ModifiedDate = DateTime.Now;
                //            //privilege.DataStatus = EnumDataStatus.New.ToString();
                //            //_tPrivilegeRepository.Save(privilege);
                //        }
                //    }
                //}

                //ViewData["message"] = Message;
                //ViewData["TreeView1_checkedNodes"] = TreeView1_checkedNodes;

                _tPrivilegeRepository.DbContext.CommitTransaction();
                Success = true;
                Message = "Hak akses pengguna Berhasil Disimpan.";
            }
            catch (Exception ex)
            {
                Success = false;
                Message = "Error :\n" + ex.GetBaseException().Message;
                _tPrivilegeRepository.DbContext.RollbackTransaction();
            }
            var e = new
            {
                Success,
                Message
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
        }