public ActionResult SelectBuilding(DisplayClientBuilding model, int ClientID) { model.ClientID = ClientID; model.Manager = db.Manager.Find(model.ManagerID); model.clients = db.Clients.Where(c => c.ID == model.ClientID).ToList(); if (model.clients == null) { return(View(model)); } model.buildings = db.Buildings.Where(b => b.Clients.ID == ClientID).ToList(); //get all entries that belong to the current Manager on the managerbuilding table model.ManagerBuildings = db.ManagerBuilding.Where(c => c.UserID == model.ManagerID).ToList(); foreach (var item in model.ManagerBuildings) { //building that exist on managerbuilding deck Buildings removeit = db .Buildings .First(c => c.ID == @item.BuildingID); //note: current user records model.buildings.Remove(removeit); model.BuildingsOnDeck.Add(removeit); } return(View(model)); }
public async Task <ActionResult> AddManager(ManagerVM model) { ApplicationDbContext context = new ApplicationDbContext(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); PasswordHasher hasher = new PasswordHasher(); ApplicationUser AppUser = new ApplicationUser() { Id = Guid.NewGuid().ToString(), Email = model.Email, UserName = model.Username, SecurityStamp = Guid.NewGuid().ToString(), PhoneNumber = model.Phone, LockoutEnabled = false, AccessFailedCount = 0, PhoneNumberConfirmed = false, TwoFactorEnabled = false, EmailConfirmed = false, PasswordHash = hasher.HashPassword(model.Password) }; string[] FullName = model.FullName.Split(new string[] { " " }, StringSplitOptions.None); Manager mgr = new Manager() { ID = AppUser.Id, FirstName = FullName[0].ToString(), LastName = FullName[1].ToString(), Phone = model.Phone, ClientID = model.clientID }; db.Manager.Add(mgr); context.Users.Add(AppUser); await context.SaveChangesAsync(); await db.SaveChangesAsync(); RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); if (!RoleManager.RoleExists("Manager")) { var roleresult = RoleManager.Create(new IdentityRole("Manager")); } var Result = UserManager.AddToRole(AppUser.Id, "Manager"); DisplayClientBuilding ObjDCB = new DisplayClientBuilding() { ManagerID = AppUser.Id, ClientID = model.clientID }; return(RedirectToAction("SelectBuilding", ObjDCB)); }
public ActionResult ManagerBuildingDelete(DisplayClientBuilding model, int BuildingID2) { ManagerBuilding MB = db.ManagerBuilding .Where(c => c.BuildingID == BuildingID2 && c.UserID == model.ManagerID) .FirstOrDefault(); if (MB != null) { db.ManagerBuilding.Remove(MB); db.SaveChanges(); } return(RedirectToAction("SelectBuilding", model)); }
public ActionResult ManagerBuilding(DisplayClientBuilding model, int BuildingID) { //1. set ManagerBuilding Obj and save it in db //2. load clients, Buildings, assigned buildings to the current manager //3. model.Manager = db.Manager.Find(model.ManagerID); ManagerBuilding ObjMB = new ManagerBuilding { BuildingID = BuildingID, UserID = model.ManagerID, ManagerID = model.ManagerID }; if (db.ManagerBuilding.Where(c => c.UserID == model.ManagerID && c.BuildingID == BuildingID).FirstOrDefault() == null) { db.ManagerBuilding.Add(ObjMB); db.SaveChanges(); } //get All clients model.clients = db.Clients.Where(c => c.ID == model.ClientID).ToList(); //get all entries that belong to the current Manager on the managerbuilding table model.ManagerBuildings = db.ManagerBuilding.Where(c => c.UserID == model.ManagerID).ToList(); //selected client's building var selectedclitentbuildings = db.Buildings .Where(c => c.Clients.ID == model.ClientID).ToList(); model.buildings = db.Buildings.Where(c => c.ClientID == model.ClientID).ToList(); if (selectedclitentbuildings != null) { foreach (var item in model.ManagerBuildings) { //building that exist on managerbuilding deck Buildings removeit = db .Buildings .First(c => c.ID == @item.BuildingID); //note: current user records model.buildings.Remove(removeit); model.BuildingsOnDeck.Add(removeit); } } return(View("SelectBuilding", model)); }