示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.Page.IsPostBack)
            {
                int queryString = RequestHelper.GetQueryString <int>("ID");
                if (queryString != -2147483648)
                {
                    base.CheckAdminPower("ReadAdminGroup", PowerCheckType.Single);
                    AdminGroupInfo info = AdminGroupBLL.ReadAdminGroupCache(queryString);
                    this.Name.Text  = info.Name;
                    this.Note.Text  = info.Note;
                    this.State.Text = info.State.ToString();
                    this.power      = info.Power;
                }
            }
            XmlNode node = new XmlHelper(ServerHelper.MapPath("/Config/AdminPower.Config")).ReadNode("Config");

            foreach (XmlNode node2 in node.ChildNodes)
            {
                PowerInfo item = new PowerInfo();
                item.Text = node2.Attributes["Text"].Value;
                item.Key  = node2.Attributes["Key"].Value;
                item.XML  = node2.InnerXml;
                this.channelPowerList.Add(item);
            }
        }
示例#2
0
        /// <summary>
        /// 比较权限类的字符串
        /// </summary>
        /// <param name="powerString">比较字符串,用','隔开</param>
        /// <param name="powerCheckType">比较类型</param>
        /// <returns></returns>
        public bool CompareUserPower(string powerString, PowerCheckType powerCheckType)
        {
            string power    = AdminGroupBLL.ReadAdminGroupCache(this.UserGroupID).Power;
            bool   flag     = false;
            string powerKey = ShopConfig.ReadConfigInfo().PowerKey;

            switch (powerCheckType)
            {
            case PowerCheckType.Single:
                if (power.IndexOf("|" + powerKey + powerString + "|") > -1)
                {
                    flag = true;
                }
                break;

            case PowerCheckType.OR:
                foreach (string str2 in powerString.Split(new char[] { ',' }))
                {
                    if (power.IndexOf("|" + powerKey + str2 + "|") > -1)
                    {
                        flag = true;
                        break;
                    }
                }
                break;

            case PowerCheckType.AND:
                flag = true;
                foreach (string str2 in powerString.Split(new char[] { ',' }))
                {
                    if (power.IndexOf("|" + powerKey + str2 + "|") == -1)
                    {
                        flag = false;
                        break;
                    }
                }
                break;
            }
            return(flag);
        }
示例#3
0
        private void CheckAdminPower(string powerKey, string powerString, PowerCheckType powerCheckType, ref int adminID)
        {
            string power = AdminGroupBLL.ReadAdminGroupCache(Cookies.Admin.GetGroupID(false)).Power;
            bool   flag  = false;

            switch (powerCheckType)
            {
            case PowerCheckType.Single:
                if (power.IndexOf("|" + powerKey + powerString + "|") > -1)
                {
                    flag = true;
                }
                break;

            case PowerCheckType.OR:
                foreach (string str2 in powerString.Split(new char[] { ',' }))
                {
                    if (power.IndexOf("|" + powerKey + str2 + "|") > -1)
                    {
                        flag = true;
                        break;
                    }
                }
                break;

            case PowerCheckType.AND:
                flag = true;
                foreach (string str2 in powerString.Split(new char[] { ',' }))
                {
                    if (power.IndexOf("|" + powerKey + str2 + "|") == -1)
                    {
                        flag = false;
                        break;
                    }
                }
                break;
            }
            if (!flag)
            {
                adminID = -1;
            }
            else
            {
                bool      flag2     = false;
                Hashtable hashtable = this.ReadAllNeedOther();
                foreach (DictionaryEntry entry in hashtable)
                {
                    if (entry.Key.ToString() == powerString)
                    {
                        flag2 = Convert.ToBoolean(entry.Value);
                        if (!flag2)
                        {
                            break;
                        }
                    }
                }
                if (flag2)
                {
                    if (power.IndexOf("|" + powerKey + "ManageOther|") > -1)
                    {
                        adminID = -2147483648;
                    }
                    else
                    {
                        adminID = Cookies.Admin.GetAdminID(false);
                    }
                }
                else
                {
                    adminID = -2147483648;
                }
            }
            if (adminID == -1)
            {
                ScriptHelper.Alert(ShopLanguage.ReadLanguage("NoPower"));
            }
        }
示例#4
0
        ///<summary>
        ///检查用户权限
        ///</summary>
        ///<param name="powerKey">权限的前缀</param>
        ///<param name="powerString">要检查的权限值</param>
        ///<param name="checktype">检查类型</param>
        ///<returns></returns>
        private void CheckAdminPower(string powerKey, string powerString, PowerCheckType powerCheckType, ref int adminID)
        {
            string power = AdminGroupBLL.ReadAdminGroupCache(Cookies.Admin.GetGroupID(false)).Power;
            //检查权限
            bool checkPower = false;

            switch (powerCheckType)
            {
            case PowerCheckType.Single:
                if (power.IndexOf("|" + powerKey + powerString + "|") > -1)
                {
                    checkPower = true;
                }
                break;

            case PowerCheckType.OR:
                foreach (string TempPowerString in powerString.Split(','))
                {
                    if (power.IndexOf("|" + powerKey + TempPowerString + "|") > -1)
                    {
                        checkPower = true;
                        break;
                    }
                }
                break;

            case PowerCheckType.AND:
                checkPower = true;
                foreach (string TempPowerString in powerString.Split(','))
                {
                    if (power.IndexOf("|" + powerKey + TempPowerString + "|") == -1)
                    {
                        checkPower = false;
                        break;
                    }
                }
                break;

            default:
                break;
            }
            if (checkPower)
            {
                //是否需要检查具有操作别人的权限
                bool      needOther = false;
                Hashtable ht        = ReadAllNeedOther();
                foreach (DictionaryEntry dic in ht)
                {
                    if (dic.Key.ToString() == powerString)
                    {
                        needOther = Convert.ToBoolean(dic.Value);
                        if (!needOther)
                        {
                            break;
                        }
                    }
                }

                // 检查是否具有操作别人的权限
                if (needOther)
                {
                    if (power.IndexOf("|" + powerKey + "ManageOther|") > -1)
                    {
                        adminID = int.MinValue;
                    }
                    else
                    {
                        adminID = Cookies.Admin.GetAdminID(false);
                    }
                }
                else
                {
                    adminID = int.MinValue;
                }
            }
            else
            {
                adminID = -1;
            }
            if (adminID == -1)
            {
                ScriptHelper.Alert(ShopLanguage.ReadLanguage("NoPower"));
            }
        }
示例#5
0
        protected void ExcelOut1(int CompanyId)
        {
            string fileName = "Demo" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";
            //生成Excel开始
            string FilePath = "~/xml/" + fileName;

            XlsDocument xls = new XlsDocument(); //创建空xls文档

            xls.FileName = fileName;             //保存路径,如果直接发送到客户端的话只需要名称 生成名称
            //设置指定工作页跨行跨列结束

            //创建列样式创建列时引用
            XF cellXF = xls.NewXF();

            cellXF.VerticalAlignment   = VerticalAlignments.Centered;
            cellXF.HorizontalAlignment = HorizontalAlignments.Centered;
            cellXF.Font.Height         = 24 * 12;
            cellXF.Font.Bold           = true;
            //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充
            //cellXF.PatternBackgroundColor = Colors.Red;//填充的背景底色
            //cellXF.PatternColor = Colors.Red;//设定填充线条的颜色
            //创建列样式结束

            //设置指定工作页跨行跨列
            MergeArea ma = new MergeArea(1, 1, 1, 8);//合并单元格 行与列

            //创建数据
            string sonCompanyID = CompanyBLL.ReadCompanyIdList(CompanyId.ToString());

            List <CompanyInfo> companyList = CompanyBLL.ReadCompanyListByCompanyId(sonCompanyID);

            foreach (CompanyInfo company in companyList)
            {
                Worksheet sheet = xls.Workbook.Worksheets.AddNamed(company.CompanySimpleName); //创建一个工作页为Dome
                sheet.AddMergeArea(ma);

                //创建列
                Cells cells = sheet.Cells; //获得指定工作页列集合
                //列操作基本
                Cell cell = cells.Add(1, 1, company.CompanyName, cellXF);

                //设置XY居中
                cell.HorizontalAlignment = HorizontalAlignments.Centered;
                cell.VerticalAlignment   = VerticalAlignments.Centered;
                //设置字体
                cell.Font.Bold       = true;               //设置粗体
                cell.Font.ColorIndex = 0;                  //设置颜色码
                cell.Font.FontFamily = FontFamilies.Roman; //设置字体 默认为宋体
                //创建列结束

                UserSearchInfo userSearch = new UserSearchInfo();
                userSearch.InCompanyID   = company.CompanyId.ToString();
                userSearch.StatusNoEqual = (int)UserState.Del;
                List <UserInfo> userList = UserBLL.SearchUserList(userSearch);
                int             LineNum  = 3;
                if (userList.Count > 0)
                {
                    cells.Add(2, 1, "序号");
                    cells.Add(2, 2, "姓名");
                    cells.Add(2, 3, "手机");
                    cells.Add(2, 4, "用户ID");
                    cells.Add(2, 5, "学习岗位");
                    cells.Add(2, 6, "帐户类型");
                    cells.Add(2, 7, "最近登陆时间");
                    cells.Add(2, 8, "状态");
                    foreach (UserInfo Info in userList)
                    {
                        cells.Add(LineNum, 1, LineNum - 2);
                        cells.Add(LineNum, 2, Info.RealName);
                        cells.Add(LineNum, 3, Info.Mobile);
                        cells.Add(LineNum, 4, Info.UserName);
                        cells.Add(LineNum, 5, PostBLL.ReadPost(Info.StudyPostID).PostName);
                        cells.Add(LineNum, 6, AdminGroupBLL.ReadAdminGroupCache(Info.GroupID).Name);
                        cells.Add(LineNum, 7, Info.RegisterDate == Info.LastLoginDate ? "" : Info.LastLoginDate.ToString());
                        cells.Add(LineNum, 8, EnumHelper.ReadEnumChineseName <UserState>(Info.Status));

                        LineNum = LineNum + 1;
                    }
                }
            }
            //
            //生成保存到服务器如果存在不会覆盖并且报异常所以先删除在保存新的
            //ScriptHelper.Alert(Server.MapPath("~/Demo.xls"));
            if (File.Exists(Server.MapPath(FilePath)))
            {
                File.Delete(Server.MapPath(FilePath));//删除
            }
            //保存文档
            xls.Save(Server.MapPath(FilePath)); //保存到服务器
            xls.Send();                         //发送到客户端
        }