public async Task <IActionResult> AddUser(UsersPageViewModel viewModel) { var user = await _userManager.FindByEmailAsync(viewModel.Contact.Email); if (user != null) { var contact = _customerService.GetContactByEmail(user.Email); var organization = _organizationService.GetCurrentFoundationOrganization(); if (_customerService.HasOrganization(contact.ContactId.ToString())) { viewModel.Contact.ShowOrganizationError = true; viewModel.Organizations = organization.SubOrganizations ?? new List <FoundationOrganization>(); return(View(viewModel)); } var organizationId = organization.OrganizationId.ToString(); var currentOrganizationContext = _cookieService.Get(Constant.Fields.SelectedOrganization); if (currentOrganizationContext != null) { organizationId = currentOrganizationContext; } _customerService.AddContactToOrganization(contact, organizationId); _customerService.UpdateContact(contact.ContactId.ToString(), viewModel.Contact.UserRole, viewModel.Contact.UserLocationId); } else { await SaveUser(viewModel); } return(RedirectToAction("Index")); }
public ActionResult AddUser(UsersPageViewModel viewModel) { var user = _userManager.FindByEmail(viewModel.Contact.Email); if (user != null) { if (_customerService.HasOrganization(user.Id)) { viewModel.Contact.ShowOrganizationError = true; var organization = _organizationService.GetCurrentUserOrganization(); viewModel.Organizations = organization.SubOrganizations ?? new List <OrganizationModel>(); return(View(viewModel)); } _customerService.AddContactToOrganization(user.Id); _customerService.UpdateContact(user.Id, viewModel.Contact.UserRole, viewModel.Contact.Location); } else { SaveUser(viewModel); } return(RedirectToAction("Index")); }