private List <ButtonPermission> ParseButtonPermissions(XmlNode xmlNode)
        {
            List <ButtonPermission> result = new List <ButtonPermission>();

            XmlNodeList xmlNodesButtons = xmlNode.SelectNodes("Button");

            foreach (XmlNode xmlNodePage in xmlNodesButtons)
            {
                string idButton = xmlNodePage.Attributes["Id"].Value;
                int    idPermission;

                if (int.TryParse(xmlNodePage.Attributes["Permission"].Value, out idPermission))
                {
                    Permission permission = this.Permissions[idPermission];

                    if (permission != null)
                    {
                        ButtonPermission buttonPermission = new ButtonPermission(idButton, permission);

                        result.Add(buttonPermission);
                    }
                }
            }

            return(result);
        }
Exemple #2
0
        public void Render()
        {
            if (this.PagePermission != null)
            {
                ButtonPermission buttonPermission = this.PagePermission.ButtonPermissions[this.ID];

                if (buttonPermission != null)
                {
                    if (!this.User.HasPermission(buttonPermission.Permission.Id))
                    {
                        this.Visible = false;

                        return;
                    }
                }
            }

            if (this.PermissionCore != null && this.PermissionCore.ButtonPermissions[this.ID] != null)
            {
                if (!this.User.HasPermission(this.PermissionCore.ButtonPermissions[this.ID].Permission.Id))
                {
                    this.Visible = false;

                    return;
                }
            }

            if (this.ID == null)
            {
                this.ID = "LanguageButton_" + this.Name + "_" + Guid.NewGuid();
            }

            string text = ((LanguageManager)HttpContext.Current.Session["LanguageManager"]).
                          GetText(((Language)HttpContext.Current.Session["Language"]), this.Name);

            base.Text = text.Replace("\n", "");
        }
Exemple #3
0
        public bool Save()
        {
            try
            {
                this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
                UsersInfo obj = usersInfoBindingSource.DataSource as UsersInfo;
                if (pePhoto.EditValue == System.DBNull.Value)
                {
                    obj.Photo = null;
                }
                else
                {
                    if (pePhoto.EditValue is byte[])
                    {
                        obj.Photo = (byte[])pePhoto.EditValue;
                    }
                    else
                    {
                        obj.Photo = ImageHelper.MakeBuff((Image)pePhoto.EditValue);
                    }
                }
                Expression <Func <UsersInfo, bool> > whereLambda = o => o.ID != obj.ID && o.AttCardnumber.Equals(obj.AttCardnumber) && o.IsDel == false;
                List <UsersInfo> users = BLLFty.Create <BaseBLL>().GetListByNoTracking <UsersInfo>(whereLambda);
                if (users.Count > 0 && user.ID != obj.ID && !string.IsNullOrEmpty(obj.AttCardnumber) && user.AttCardnumber == obj.AttCardnumber)
                {
                    XtraMessageBox.Show(string.Format("考勤卡号:{0}已经存在,不允许添加重复考勤卡号。", obj.AttCardnumber), "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                //添加
                //if (user == null)
                if (user.ID == null || user.ID == Guid.Empty)
                {
                    //user = obj;
                    user.ID = Guid.NewGuid();

                    //添加功能权限信息
                    List <Permission>       pList   = new List <Permission>();
                    List <ButtonPermission> btnList = new List <ButtonPermission>();
                    foreach (MainMenu menu in MainForm.AllMainMenuList)
                    {
                        Permission p = new Permission();
                        p.ID = menu.SerialNo;
                        string no = menu.SerialNo.ToString().Trim();
                        if (menu.ParentID == null)
                        {
                            p.ParentID = 0;
                        }
                        else if (no.Length > 2)
                        {
                            p.ParentID = int.Parse(no.Substring(0, no.Length - 2));
                        }
                        p.SerialNo = menu.SerialNo;
                        p.UserID   = user.ID;
                        p.Caption  = menu.Caption;
                        //p.CheckBoxState = false;
                        // 由于不开放权限设置功能,暂时新增用户时分配所有权限
                        p.CheckBoxState = true;
                        pList.Add(p);
                    }
                    //添加按钮权限信息
                    foreach (ButtonType btn in Enum.GetValues(typeof(ButtonType)))
                    {
                        ButtonPermission btnP = new ButtonPermission();
                        btnP.UserID  = user.ID;
                        btnP.Name    = btn.ToString();
                        btnP.Caption = EnumHelper.GetDescription <ButtonType>(btn, false);
                        //btnP.CheckBoxState = false;
                        // 由于不开放权限设置功能,暂时新增用户时分配所有权限
                        btnP.CheckBoxState = true;
                        btnList.Add(btnP);
                    }
                    BLLFty.Create <UsersInfoBLL>().Insert(user, pList, btnList);
                }
                else
                {
                    BLLFty.Create <BaseBLL>().Modify <UsersInfo>(obj);
                }
                //CommonServices.ErrorTrace.SetSuccessfullyInfo(this.FindForm(), "保存成功");
                return(true);
            }
            catch (Exception ex)
            {
                //if (ex.HResult == -2146232060)  //违反了PRIMARY KEY约束
                //    XtraMessageBox.Show(string.Format("账号:{0}已经存在,请重新设置账号。", user.Code), "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //else
                XtraMessageBox.Show(ex.Message, "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            finally
            {
                this.Cursor = System.Windows.Forms.Cursors.Default;
            }
        }