コード例 #1
0
        void PopulateEVMForUser(EditUserViewModel evm, ApplicationUser user)
        {
            evm.UserName = user.UserName;
            OJewelryDB db = new OJewelryDB();

            foreach (Company c in db.Companies) // should be company left outer joined to users by id, exclude Managers, admins
            {
                CompanyAuthorizedUser cau = new CompanyAuthorizedUser()
                {
                    bIncluded   = false, // based on users for this company
                    CompanyId   = c.Id,
                    CompanyName = c.Name
                };
                evm.Companies.Add(cau);
            }
            List <CompanyUser> cus = db.CompaniesUsers.Where(x => x.UserId == user.Id).ToList();
            List <int>         accessibleCompanyIds = evm.Companies.Select(s1 => s1.CompanyId).ToList().Intersect(cus.Select(s2 => s2.CompanyId).ToList()).ToList();

            foreach (int i in accessibleCompanyIds)
            {
                CompanyAuthorizedUser c = evm.Companies.Find(x => x.CompanyId == i);
                if (c != null)
                {
                    c.bIncluded = true;
                }
            }
        }
コード例 #2
0
        public ActionResult EditUser(EditUserViewModel evm)
        {
            OJewelryDB           db   = new OJewelryDB();
            ApplicationDbContext sec  = new ApplicationDbContext();
            ApplicationUser      user = sec.Users.Find(evm.UserId);
            var UserManager           = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(sec));


            if (ModelState.IsValid)
            {
                // Update the companies user can access
                UpdateCompaniesUsers(user, db, evm.Companies);
                // Update Role
                UpdateRoles(sec, user, evm.RoleId);
                db.SaveChanges();
                //sec.SaveChanges();
                return(RedirectToAction("UserList"));
            }
            evm.UserName  = user.UserName;
            ViewBag.Roles = sec.Roles.ToList();
            evm.Companies.Clear();
            foreach (Company c in db.Companies) // should be company left outer joined to users by id, exclude Managers, admins
            {
                CompanyAuthorizedUser cau = new CompanyAuthorizedUser()
                {
                    bIncluded   = false, // based on users for this company
                    CompanyId   = c.Id,
                    CompanyName = c.Name
                };
                evm.Companies.Add(cau);
            }
            return(View(evm));
        }
コード例 #3
0
        public ActionResult Register()
        {
            RegisterViewModel    rvm = new RegisterViewModel();
            ApplicationDbContext sec = new ApplicationDbContext();

            OJewelryDB db = new OJewelryDB();

            foreach (Company c in db.Companies) // should be company left outer joined to users by id, exclude Managers, admins
            {
                CompanyAuthorizedUser cau = new CompanyAuthorizedUser()
                {
                    bIncluded   = false, // based on users for this company
                    CompanyId   = c.Id,
                    CompanyName = c.Name
                };
                rvm.Companies.Add(cau);
            }
            ViewBag.Roles = sec.Roles.ToList();
            return(View(rvm));
        }