public async Task <ActionResult> EditCustomers(string id) { var model = new ClientRoleEditModel(); using (var custLogic = Kernel.Get <ICustomerLogic>()) using (var userLogic = Kernel.Get <IUserLogic>()) { var clients = await custLogic.ToListAsync(); Dictionary <string, string> result = new Dictionary <string, string>(); foreach (var c in clients.OrderBy(x => x.CompanyName)) { if (!result.ContainsKey(c.CustomerId.ToString())) { result.Add(c.CustomerId.ToString(), c.CompanyName); } } model.UserId = id; model.Customers = new SelectList(result, "Key", "Value", null); var assignedCustomers = await userLogic.GetCustomersLinkedByUser(id); var assignedDivisions = await userLogic.GetDivisionsForUser(id); model.SelectedCustomers = assignedCustomers; model.SelectedDivisions = assignedDivisions; var current = await userLogic.GetUserCustomers(id); model.CurrentRoles = current.ToArray(); var user = await userLogic.GetUserInfo(id); ViewBag.UserName = user.UserName; model.Divisions = new SelectList(new Dictionary <int, string>(), "Key", "Value", null); return(View("CustomerRoleEdit", model)); } }
public async Task <ActionResult> EditCustomers(ClientRoleEditModel model) { using (var userLogic = Kernel.Get <IUserLogic>()) { Dictionary <int, string> roles = new Dictionary <int, string>(); foreach (var y in model.NewRoles) { roles.Add(y.DivisionId, y.CustomerId); } var result = await userLogic.AssignDivisions(model.UserId, roles); if (result) { //return RedirectToAction("Index", "Admin"); return(Json(new { url = "Index/Admin" })); } return(Json(new { url = "/" })); //return View("CustomerRoleEdit", model); } }