コード例 #1
0
        /// <summary>
        /// 添加角色和角色部门中间表
        /// 或修改角色
        /// Esmart_Sys_Roles
        /// Esmart_Sys_RolesInDeparent
        /// Esmart_Sys_Role_App
        /// </summary>
        /// <param name="request">request</param>
        /// <returns></returns>
        public bool AddOrUpdate(RoleModel request)
        {
            if (string.IsNullOrWhiteSpace(request.Name))
            {
                throw new TpoBaseException("角色名称不能为空");
            }

            if (request.Name.Length > 50)
            {
                throw new TpoBaseException(string.Format(CultureInfo.CurrentCulture, "角色名称:{0} 不能超过50!", request.Name));
            }

            if (request.Id > 0)
            {
                return(RoleDbAction.Update(request));
            }

            var role = new Esmart_Sys_Roles()
            {
                CreateId   = request.CreatorId ?? 0,
                CreateTime = DateTime.Now,
                StartTime  = request.StartDate ?? DateTime.Now,
                EndTime    = request.EndDate ?? DateTime.Now.AddYears(99),
                Remark     = request.Remark,
                RoleName   = request.Name
            };

            if (role.StartTime > role.EndTime)
            {
                throw new TpoBaseException("角色开始时间不能大于结束时间");
            }
            RoleDbAction.Add(role);
            return(true);
        }
コード例 #2
0
        /// <summary>
        /// 获取角色信息
        /// </summary>
        /// <param name="roleid">角色Id</param>
        /// <returns></returns>
        public RoleModel GetRoleRequest(int roleid)
        {
            Esmart_Sys_Roles role     = RoleDbAction.Find(roleid);
            RoleModel        response = new RoleModel();

            if (role != null)
            {
                response.CreatorId  = role.CreateId;
                response.CreateTime = role.CreateTime;
                response.EndDate    = role.EndTime;
                response.Remark     = role.Remark;
                response.Id         = role.RoleId;
                response.Name       = role.RoleName;
                response.StartDate  = role.StartTime;
                response.IsBuiltin  = role.IsBuiltin;
            }
            return(response);
        }
コード例 #3
0
ファイル: RoleDbAction.cs プロジェクト: zszqwe/MvcBase
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="model">角色entity</param>
        /// <returns>true|false</returns>
        public static Esmart_Sys_Roles Add(Esmart_Sys_Roles model)
        {
            var engine = PermissionDb.CreateEngine();

            model.RoleName = model.RoleName.Trim();

            if (engine.Esmart_Sys_Roles.Any(n => n.RoleName == model.RoleName))
            {
                throw new TpoBaseException("角色名称已经存在");
            }

            model.RoleId = (engine.Esmart_Sys_Roles.Max(m => (int?)m.RoleId) ?? 0) + 1;
            var entity = engine.Esmart_Sys_Roles.Add(model);

            engine.SaveChanges();
            RightLogDb.AddLog(new Esmart_Right_Log {
                CreateBy = model.CreateId, CreateTime = System.DateTime.Now, EventType = "add", OprTbName = "Esmart_Sys_Roles", OprUserId = model.CreateId, OptDescription = string.Format(logFormat, model.CreateId, "添加", model.RoleId), Remark = JsonConvert.SerializeObject(model)
            });
            CommonAction.ClearCache();
            return(entity);
        }