Пример #1
0
 public dialog()
 {
     InitializeComponent();
     Load += (sender, e) =>
     {
         if (EditStatus == EditStatus.Alter)
         {
             if (EditEntity.Account == "0000")
             {
                 MessageBox.Show(null, "系统内置账户不允许修改!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 this.Close();
             }
             using (var sc = new sysContext())
             {
                 Original = sc.Users.Include("Partners").FirstOrDefault(u => u.Id == Original.Id);
             }
             txtLoginNumber.Enabled = false;
         }
         else if (EditStatus == EditStatus.Add)
         {
             txtLoginNumber.Enabled = true;
         }
         txtLoginNumber.MaxLength = 4;
         InputLimits();
         BindingControls(EditEntity);
         LoadListBoxItems();
         LoadListBoxCheckedItems();
         statusInfoLabel.Text = "";
     };
 }
Пример #2
0
        public List <Module> GetModules(User user, SetofBook set)
        {
            try
            {
                using (var sc = new sysContext())
                {
                    var roleids = sc.Users.Include(u => u.Partners)
                                  .FirstOrDefault(u => u.Id == user.Id).Partners.Select(r => r.Id);
                    var mods = sc.Rights.Where(r => roleids.Contains(r.RoleId) && r.SetofBookId == set.Id && r.Enabled == true)
                               .Select(r => r.LevelTwo.LevelOne.Module).Distinct().ToList();
                    return(mods);

                    #region waive
                    //var roles = sc.Users.Find(user.Id).SRoles.ToList();
                    //var roleids = roles.Select(r => r.Id);
                    //var book = sc.SetofBooks.Find(set.Id);
                    //var rights = sc.Rights.Where(r => r.SetofBooksId == book.Id && r.Enabled == true).ToList();
                    //var rightids = rights.Select(r => r.Id);
                    //var acc = sc.Accredits.Where(a => roleids.Contains(a.RoleId) && rightids.Contains(a.RightId)).ToList();
                    //rightids = acc.Select(a => a.RightId).Distinct();
                    //rights = sc.Rights.Include("LevelTwo")
                    //    .Where(r => rightids.Contains(r.Id)).ToList();
                    //var twoids = rights.Select(r => r.LevelTwoId);
                    //var oneids = sc.LevelTwos.Where(t => twoids.Contains(t.Id)).Select(t => t.LevelOneId).Distinct().ToList();
                    //var mods = sc.LevelOnes.Where(o => oneids.Contains(o.Id)).Select(o => o.Module).ToList();

                    //return mods;
                    #endregion
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
Пример #3
0
        protected override void BindingControls(Accredit entity)
        {
            //var rights = Repo<sysContext>.GetAll<Right>().Where(r=>r.Enabled==true).ToList();
            List <Right> rights;

            using (var sc = new sysContext())
            {
                rights = sc.Rights.Include(r => r.LevelTwo.LevelOne.Module).Where(r => r.Enabled == true).ToList();
            }
            ComboBoxBinding(cboRight, EditEntity, rights, "RightId");
            var ops = repo.GetAll <sysContext, Operation>();

            ComboBoxBinding(cboOperation, EditEntity, ops, "OPerationId");
            CheckBoxBinding(ckbEnabled, entity, "Enabled");
        }
Пример #4
0
        public FrmLogin()
        {
            InitializeComponent();
            txtLoginId.MaxLength   = 4;
            txtLoginId.KeyPress   += (sender, e) => { withInput.OnlyDigit(e); };
            txtLoginPwd.KeyPress  += (sender, e) => { withInput.OnlyLetterOrDigit(e); };
            txtLoginPwd.LostFocus += (sender, e) =>
            {
                var users = repo.GetAll <sysContext, User>();
                var user  = users.FirstOrDefault(u => u.Account == txtLoginId.Text.Trim());
                if (user == null)
                {
                    withInfo.DisplayStatus("用户名或密码有误!", statusInfoLabel, false); return;
                }
                var result             = withSecure.CheckPassword(user.Salt, user.SaltedHashedPassword, txtLoginPwd.Text.Trim());
                List <SetofBook> books = null;
                if (result)
                {
                    using (var sc = new sysContext())
                    {
                        var roleids = sc.Users.Include(u => u.Partners)
                                      .FirstOrDefault(u => u.Id == user.Id)
                                      .Partners.Select(r => r.Id);

                        books = sc.Rights.Where(r => roleids.Contains(r.RoleId))
                                .Select(r => r.SetofBook).Distinct().ToList();
                    }
                    cboSetofBooks.DataSource    = books;
                    cboSetofBooks.DisplayMember = "Name";
                    cboSetofBooks.ValueMember   = "Id";
                    btnLogin.Enabled            = true;
                }
                else
                {
                    withInfo.DisplayStatus("用户名或密码有误!", statusInfoLabel, false);
                    cboSetofBooks.DataSource = null;
                    btnLogin.Enabled         = false;
                }
            };
            txtLoginPwd.GotFocus += (sender, e) =>
            {
                statusInfoLabel.Text = "";
            };
        }
Пример #5
0
 public List <LevelOne> GetLevelOnes(User user, SetofBook set, Module module)
 {
     try
     {
         using (var sc = new sysContext())
         {
             var roleids = sc.Users.Include(u => u.Partners)
                           .FirstOrDefault(u => u.Id == user.Id).Partners.Select(r => r.Id);
             var ones = sc.Rights.Include(r => r.LevelTwo.LevelOne.Module)
                        .Where(r => roleids.Contains(r.RoleId) &&
                               r.SetofBookId == set.Id &&
                               r.Enabled == true &&
                               r.LevelTwo.LevelOne.Module.Id == module.Id)
                        .Select(r => r.LevelTwo.LevelOne).Distinct().ToList();
             return(ones);
         }
     }
     catch (Exception)
     {
         return(null);
     }
 }
Пример #6
0
        /// <summary>
        /// get operation list for specific user
        /// </summary>
        public List <Operation> GetActionButtonText(User user, SetofBook set, LevelTwo leveltwo)
        {
            try
            {
                using (var sc = new sysContext())
                {
                    var roleids = sc.Users.Include(u => u.Partners)
                                  .FirstOrDefault(u => u.Id == user.Id).Partners.Select(r => r.Id);
                    var rightids = sc.Rights.Where(r => roleids.Contains(r.RoleId) &&
                                                   r.SetofBookId == set.Id &&
                                                   r.Enabled == true &&
                                                   r.LevelTwoId == leveltwo.Id)
                                   .Select(r => r.Id).ToList();
                    var ops = sc.Accredits.Where(a => rightids.Contains(a.RightId) &&
                                                 a.Enabled == true).Select(a => a.Operation).ToList();
                    return(ops);

                    #region waive
                    //var roles = sc.Users.Where(u => u.Id == user.Id).Select(u => u.Partners).ToList();
                    //var roleids = sc.Roles.Select(r => r.Id);
                    //var rights = sc.Rights
                    //    .Where(r => r.LevelTwoId == leveltwo.Id && r.SetofBooksId == set.Id).ToList();
                    //var rightids = rights.Select(r => r.Id);
                    //var opids = sc.Accredits
                    //    .Where(a => roleids.Contains(a.RoleId) && rightids.Contains(a.RightId))
                    //    .Select(a => a.OperationId).ToList();
                    //var ops = sc.Operations.Where(o => opids.Contains(o.Id)).ToList();

                    //return ops;
                    #endregion
                }
            }
            catch (Exception ex)
            {
                return(null);

                throw;
            }
        }
Пример #7
0
        /// <summary>
        /// get leveltwo list for specific user
        /// </summary>
        public List <LevelTwo> GetLevelTwos(User user, SetofBook set, LevelOne levelone)
        {
            try
            {
                using (var sc = new sysContext())
                {
                    var roleids = sc.Users.Include(u => u.Partners)
                                  .FirstOrDefault(u => u.Id == user.Id).Partners.Select(r => r.Id);
                    var rightids = sc.Rights.Include(r => r.LevelTwo.LevelOne)
                                   .Where(r => roleids.Contains(r.RoleId) &&
                                          r.SetofBookId == set.Id &&
                                          r.Enabled == true &&
                                          r.LevelTwo.LevelOne.Id == levelone.Id)
                                   .Select(r => r.Id).ToList();
                    var twos = sc.LevelTwos.Where(t => rightids.Contains(t.Id)).ToList();
                    return(twos);

                    #region waive
                    //var roles = (from u in sc.Users where u.Id == user.Id select u.SRoles).ToList();
                    //var roles = sc.Users.Find(user.Id).SRoles.ToList();
                    //var roleids = roles.Select(r => r.Id);
                    //var book = sc.SetofBooks.Find(set.Id);
                    //var rightids = sc.Accredits
                    //        .Where(a => roleids.Contains(a.RoleId)).Select(a => a.RightId).ToList();
                    //var twoids = sc.Rights.Where(r => rightids.Contains(r.Id) || r.Enabled == true).Select(r => r.LevelTwoId).ToList();
                    //var twos = sc.LevelTwos.Where(t => twoids.Contains(t.Id) || t.LevelOneId == levelone.Id).ToList();

                    //return twos;
                    #endregion
                }
            }
            catch (Exception e)
            {
                return(null);

                throw;
            }
        }