public async Task <IActionResult> CreateCompany(InsuranceCompanyCreationBindingModel insuranceCompanyCreationBindingModel) { ViewBag.Action = "InsuranceCompanies"; //Create 'InsuranceCompanie' Role if it doesn't exist string RoleString = "InsuranceCompanie"; var role = await _roleManager.RoleExistsAsync(RoleString); if (!role) { await _roleManager.CreateAsync(new IdentityRole(RoleString)); } InsuranceCompany insuranceCompany = null; //Validate Model if (ModelState.IsValid) { var user = CreateUser(insuranceCompanyCreationBindingModel); //create user and assign role if successful var result = await _userManager.CreateAsync(user, insuranceCompanyCreationBindingModel.Password); if (result.Succeeded) { //Fill role related attributes insuranceCompany = new InsuranceCompany() { Name = insuranceCompanyCreationBindingModel.Name, Fax = insuranceCompanyCreationBindingModel.Fax }; insuranceCompany.User = user; _context.Add(insuranceCompany); _context.SaveChanges(); await _userManager.AddToRoleAsync(user, RoleString); } else { return(Content("Failed to add User")); } if (result.Succeeded) { await _context.SaveChangesAsync(); return(RedirectToAction(nameof(InsuranceCompanies))); } return(Content("Failed to add Company")); } return(View("./InsuranceCompanies/Create", insuranceCompanyCreationBindingModel)); }
public async Task <IActionResult> EditCompany(string id, InsuranceCompanyCreationBindingModel insuranceCompanyCreationBindingModel) { ViewBag.Action = "InsuranceCompanies"; if (id != insuranceCompanyCreationBindingModel.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var insuranceCompany = await _context.InsuranceCompanies .Where(i => i.Id.Equals(id)) .Include(i => i.User) .SingleAsync(); MapUser(insuranceCompany.User, insuranceCompanyCreationBindingModel); insuranceCompany.Name = insuranceCompanyCreationBindingModel.Name; _context.Update(insuranceCompany); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AssistantExists(insuranceCompanyCreationBindingModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(InsuranceCompanies))); } return(View("./InsuranceCompanies/Edit", insuranceCompanyCreationBindingModel)); }