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; } } }
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)); }
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)); }