Example #1
0
 protected override void OnDeleting()
 {
     if (this.用户类型 == "系统管理员")
     {
         throw new Exception("不能删除系统管理员账号");
     }
     //清空该员工的权限
     MemberDept.ClearMemberDept(this.员工编号);
     MemberGrade.ClearMemberGrade(this.员工编号);
     base.OnDeleting();
 }
        protected override void OnSaving()
        {
            MemberGrade found = GetMemberGrade(this.员工编号, this.公司名称, this.工资职等);

            if (found != null && found.标识 != this.标识)
            {
                throw new Exception("已具备这个职等的权限,不能重复设置.");
            }
            else
            {
                base.OnSaving();
            }
        }
        public static MemberGrade AddMemberGrade(string emplid, string company, string grade)
        {
            MemberGrade memberGrade = MemberGrade.GetMemberGrade(emplid, company, grade);

            if (memberGrade == null)
            {
                memberGrade      = new MemberGrade();
                memberGrade.员工编号 = emplid;
                memberGrade.公司名称 = company;
                memberGrade.工资职等 = grade;
                memberGrade.Save();
            }
            return(memberGrade);
        }
        public static List <QueryPermission> GetAll()
        {
            List <QueryPermission> list       = new List <QueryPermission>();
            List <MemberDept>      memDepts   = MemberDept.GetMemberDepts(null, null);
            List <MemberGrade>     memGrades  = MemberGrade.GetAll();
            List <Member>          memberList = Member.GetAll();
            //找出员工清单
            var emps = from u in memDepts
                       group u by u.员工信息 into emp
                       select emp.Key;

            foreach (Member member in memberList)
            {
                EmployeeInfo employee = EmployeeInfo.GetEmployeeInfo(member.员工编号);
                if (employee == null)
                {
                    continue;
                }

                QueryPermission    qp         = new QueryPermission();
                List <MemberDept>  list_dept  = memDepts.FindAll(a => a.员工编号 == employee.员工编号);
                List <MemberGrade> list_grade = memGrades.FindAll(a => a.员工编号 == employee.员工编号);

                qp.会员    = member;
                qp.员工编号  = employee.员工编号;
                qp.姓名    = employee.姓名;
                qp.公司    = employee.公司名称;
                qp.部门    = employee.部门名称;
                qp.职务    = employee.职务名称;
                qp.职等    = employee.职等;
                qp.部门权限集 = list_dept;
                qp.职等权限集 = list_grade;
                qp.用户类型  = member.用户类型;

                list.Add(qp);
            }
            return(list);
        }
        public QueryPermission(Member member, string company)
        {
            EmployeeInfo employee = EmployeeInfo.GetEmployeeInfo(member.员工编号);

            if (employee == null)
            {
                return;
            }

            List <MemberDept>  list_dept  = MemberDept.GetMemberDepts(employee.员工编号, company);
            List <MemberGrade> list_grade = MemberGrade.GetMemberGrades(employee.员工编号, company);

            会员    = member;
            员工编号  = employee.员工编号;
            姓名    = employee.姓名;
            公司    = employee.公司名称;
            部门    = employee.部门名称;
            职务    = employee.职务名称;
            职等    = employee.职等;
            部门权限集 = list_dept;
            职等权限集 = list_grade;
            用户类型  = member.用户类型;
        }
        /// <summary>
        /// 通过 Id 获取线路
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static MemberGrade GetMemberGrade(Guid id)
        {
            MemberGrade obj = (MemberGrade)Session.DefaultSession.GetObjectByKey(typeof(MemberGrade), id);

            return(obj);
        }