Beispiel #1
0
        /// <summary>
        /// 增加新的角色
        /// </summary>
        /// <param name="model">增加角色,并且添加菜单权限</param>
        /// <returns>操作正常返回空值,失败返回错误提示</returns>
        public string AddNewRole(SysRolesDicInfo model)
        {
            IWCFService.ISeatManageService seatService = WcfAccessProxy.ServiceProxy.CreateChannelSeatManageService();
            bool error = false;

            try
            {
                return(seatService.AddRole(model));
            }
            catch (Exception ex)
            {
                error = true;
                WriteLog.Write("添加角色失败:" + ex.Message);
                return(ex.Message);
            }
            finally
            {
                ICommunicationObject ICommObjectService = seatService as ICommunicationObject;
                try
                {
                    if (ICommObjectService.State == CommunicationState.Faulted)
                    {
                        ICommObjectService.Abort();
                    }
                    else
                    {
                        ICommObjectService.Close();
                    }
                }
                catch
                {
                    ICommObjectService.Abort();
                }
            }
        }
        /// <summary>
        /// 删除权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool DeleteFuncRights(SysRolesDicInfo model)
        {
            StringBuilder sqlstr = new StringBuilder();

            sqlstr.Append("delete SysFuncRights");
            sqlstr.Append(" where RoleID=@RoleID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@RoleID", model.RoleID)
            };
            try
            {
                int row = DbHelperSQL.ExecuteSql(sqlstr.ToString(), parameters);
                if (row > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                throw;
            }
        }
 /// <summary>
 /// 修改角色
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public string UpdateRole(SysRolesDicInfo model)
 {
     try
     {
         if (IsExistsSameRoleName(model, true))
         {
             return("角色名称重复");
         }
         else
         {
             if (sysrolesdic_dal.Update(model))
             {
                 sysfuncrights_dal.DeleteFuncRights(model);
                 foreach (SysMenuInfo smi in model.RoleMenu)
                 {
                     sysfuncrights_dal.AddFuncRight(model.RoleID, smi.MenuID);
                     foreach (SysMenuInfo smic in smi.ChildMenu)
                     {
                         sysfuncrights_dal.AddFuncRight(model.RoleID, smic.MenuID);
                     }
                 }
                 return("");
             }
             else
             {
                 return("操作失败");
             }
         }
     }
     catch
     {
         throw;
     }
 }
        /// <summary>
        /// 数据行转成实体
        /// </summary>
        /// <param name="dr"></param>
        /// <returns></returns>
        private SysRolesDicInfo DataRowToSysRolesDicInfo(DataRow dr)
        {
            SysRolesDicInfo srd = new SysRolesDicInfo();

            srd.RoleID   = dr["RoleID"].ToString();
            srd.RoleName = dr["RoleName"].ToString();
            srd.IsLock   = bool.Parse(dr["IsLock"].ToString());
            return(srd);
        }
 /// <summary>
 /// 删除角色
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool DeleteRole(SysRolesDicInfo model)
 {
     try
     {
         return(sysrolesdic_dal.Delete(model));
     }
     catch
     {
         throw;
     }
 }
        /// <summary>
        /// 删除角色,连表删除,会连同权限一起删除
        /// </summary>
        /// <param name="model">删除的角色</param>
        /// <returns>成功返回true,失败返回false</returns>
        public bool DeleteRole(SysRolesDicInfo model)
        {
            IWCFService.ISeatManageService seatService = new WcfServiceForSeatManage.SeatManageDateService();
            bool error = false;

            try
            {
                return(seatService.DeleteRole(model));
            }
            catch (Exception ex)
            {
                error = true;
                WriteLog.Write("删除角色错误:" + ex.Message);
                return(false);
            }
        }
        /// <summary>
        /// 增加新的角色
        /// </summary>
        /// <param name="model">增加角色,并且添加菜单权限</param>
        /// <returns>操作正常返回空值,失败返回错误提示</returns>
        public string AddNewRole(SysRolesDicInfo model)
        {
            IWCFService.ISeatManageService seatService = new WcfServiceForSeatManage.SeatManageDateService();
            bool error = false;

            try
            {
                return(seatService.AddRole(model));
            }
            catch (Exception ex)
            {
                error = true;
                WriteLog.Write("添加角色失败:" + ex.Message);
                return(ex.Message);
            }
        }
        /// <summary>
        /// 判断是否有重复的角色
        /// </summary>
        /// <param name="model"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public bool IsExistsSameRoleName(SysRolesDicInfo model, bool mode)
        {
            StringBuilder strWhere = new StringBuilder();

            if (mode)
            {
                strWhere.Append(" RoleID<>'" + model.RoleID + "'");
            }
            if (model != null)
            {
                if (!string.IsNullOrEmpty(strWhere.ToString()))
                {
                    strWhere.Append(" and RoleName='" + model.RoleName + "'");
                }
                else
                {
                    strWhere.Append(" RoleName='" + model.RoleName + "'");
                }
            }
            else
            {
                return(false);
            }
            List <SysRolesDicInfo> list = new List <SysRolesDicInfo>();

            try
            {
                DataSet ds = sysrolesdic_dal.GetList(strWhere.ToString());
                if (ds.Tables[0].Rows.Count > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                throw;
            }
        }
 /// <summary>
 /// 增加角色
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public string AddRole(SysRolesDicInfo model)
 {
     try
     {
         if (IsExistsSameRoleName(model, false))
         {
             return("角色名称重复");
         }
         else
         {
             int newid = sysrolesdic_dal.Add(model);
             model.RoleID = newid.ToString();
             if (newid > 0)
             {
                 sysfuncrights_dal.DeleteFuncRights(model);
                 foreach (SysMenuInfo smi in model.RoleMenu)
                 {
                     sysfuncrights_dal.AddFuncRight(model.RoleID, smi.MenuID);
                     foreach (SysMenuInfo smic in smi.ChildMenu)
                     {
                         sysfuncrights_dal.AddFuncRight(model.RoleID, smic.MenuID);
                     }
                 }
                 return("");
             }
             else
             {
                 return("操作失败");
             }
         }
     }
     catch
     {
         throw;
     }
 }