public ActionResult CreateApiUser(ApiUserViewModel viewModel) { var response = _adminMediator.CreateApiUser(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.CreateApiUser.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View(response.ViewModel)); case AdminMediatorCodes.CreateApiUser.CompanyIdAlreadyExists: return(View(response.ViewModel)); case AdminMediatorCodes.CreateApiUser.UnknownCompanyId: return(View(response.ViewModel)); case AdminMediatorCodes.CreateApiUser.Error: return(View(response.ViewModel)); case AdminMediatorCodes.CreateApiUser.Ok: return(View("ApiUser", response.ViewModel)); default: throw new InvalidMediatorCodeException(response.Code); } }
public ApiUserViewModel SaveApiUser(ApiUserViewModel viewModel) { var apiUser = _apiUserRepository.GetApiUser(viewModel.ExternalSystemId); //Copy over changes apiUser.AuthorisedApiEndpoints = ApiUserMappers.Map <IList <ApiEndpointViewModel>, IList <ApiEndpoint> >(viewModel.ApiEndpoints); var updatedApiUser = _apiUserRepository.Update(apiUser); return(ApiUserMappers.Map <ApiUser, ApiUserViewModel>(updatedApiUser)); }
public ActionResult Edit(Guid id, ApiUserViewModel model) { if (id != null && id != Guid.Empty) { if (!string.IsNullOrEmpty(model.Password) && !model.Password.Equals(model.PasswordConfirmation, StringComparison.InvariantCulture)) { return(View(model)); // TODO: add password mismatch error } _apiUserUpdator.Update(id, model.Name, model.IsActive, model.Password); } return(RedirectToAction("List")); }
public MediatorResponse <ApiUserViewModel> ResetApiUserPassword(ApiUserViewModel viewModel) { try { viewModel = _apiUserProvider.ResetApiUserPassword(viewModel); return(GetMediatorResponse(AdminMediatorCodes.ResetApiUserPassword.Ok, viewModel, ApiUserViewModelMessages.ResetApiUserPasswordSuccessfully, UserMessageLevel.Info)); } catch (Exception ex) { _logService.Error($"Failed to save api user with external system id={viewModel.ExternalSystemId}", ex); viewModel = _apiUserProvider.GetApiUserViewModel(viewModel.ExternalSystemId); return(GetMediatorResponse(AdminMediatorCodes.ResetApiUserPassword.Error, viewModel, ApiUserViewModelMessages.ResetApiUserPasswordError, UserMessageLevel.Error)); } }
public MediatorResponse <ApiUserViewModel> CreateApiUser(ApiUserViewModel viewModel) { var validatonResult = _apiUserViewModelServerValidator.Validate(viewModel); if (!validatonResult.IsValid) { return(GetMediatorResponse(AdminMediatorCodes.CreateApiUser.FailedValidation, viewModel, validatonResult)); } var searchResultsViewModel = _apiUserProvider.SearchApiUsers(new ApiUserSearchViewModel { Id = viewModel.CompanyId, PerformSearch = true }); if (searchResultsViewModel.ApiUsers.Count > 0) { return(GetMediatorResponse(AdminMediatorCodes.CreateApiUser.CompanyIdAlreadyExists, viewModel, ApiUserViewModelMessages.CompanyIdAlreadyExists, UserMessageLevel.Error)); } var viewModelToCreate = _apiUserProvider.GetApiUserViewModel(viewModel.CompanyId); if (viewModelToCreate == null) { return(GetMediatorResponse(AdminMediatorCodes.CreateApiUser.UnknownCompanyId, viewModel, ApiUserViewModelMessages.UnknownCompanyId, UserMessageLevel.Error)); } viewModelToCreate.ExternalSystemId = viewModel.ExternalSystemId; viewModelToCreate.Password = viewModel.Password; viewModelToCreate.ApiEndpoints = viewModel.ApiEndpoints; try { viewModel = _apiUserProvider.CreateApiUser(viewModelToCreate); return(GetMediatorResponse(AdminMediatorCodes.CreateApiUser.Ok, viewModel, ApiUserViewModelMessages.ApiUserCreatedSuccessfully, UserMessageLevel.Info)); } catch (Exception ex) { _logService.Error($"Failed to create API user for company with id={viewModel.CompanyId}", ex); return(GetMediatorResponse(AdminMediatorCodes.CreateApiUser.Error, viewModel, ApiUserViewModelMessages.ApiUserCreationError, UserMessageLevel.Error)); } }
public void ConvertApiEndpoints() { var apiUserViewModel = new ApiUserViewModel { ApiEndpoints = new List <ApiEndpointViewModel> { new ApiEndpointViewModel { Endpoint = ApiEndpoint.BulkVacancyUpload, Authorised = true }, new ApiEndpointViewModel { Endpoint = ApiEndpoint.VacancyDetail, Authorised = true }, new ApiEndpointViewModel { Endpoint = ApiEndpoint.VacancySummary, Authorised = true }, new ApiEndpointViewModel { Endpoint = ApiEndpoint.ReferenceData, Authorised = false }, new ApiEndpointViewModel { Endpoint = ApiEndpoint.ApplicationTracking, Authorised = false } } }; var apiUser = new ApiUserMappers().Map <ApiUserViewModel, ApiUser>(apiUserViewModel); apiUser.AuthorisedApiEndpoints.Count.Should().Be(3); apiUser.AuthorisedApiEndpoints.Contains(ApiEndpoint.VacancySummary).Should().BeTrue(); apiUser.AuthorisedApiEndpoints.Contains(ApiEndpoint.VacancyDetail).Should().BeTrue(); apiUser.AuthorisedApiEndpoints.Contains(ApiEndpoint.ReferenceData).Should().BeFalse(); apiUser.AuthorisedApiEndpoints.Contains(ApiEndpoint.BulkVacancyUpload).Should().BeTrue(); apiUser.AuthorisedApiEndpoints.Contains(ApiEndpoint.ApplicationTracking).Should().BeFalse(); apiUser.AuthorisedApiEndpoints[0].Should().Be(ApiEndpoint.VacancySummary); apiUser.AuthorisedApiEndpoints[1].Should().Be(ApiEndpoint.VacancyDetail); apiUser.AuthorisedApiEndpoints[2].Should().Be(ApiEndpoint.BulkVacancyUpload); }
public ActionResult ResetApiUserPassword(ApiUserViewModel viewModel) { var response = _adminMediator.ResetApiUserPassword(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.ResetApiUserPassword.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View("ResetApiUserPassword", response.ViewModel)); case AdminMediatorCodes.ResetApiUserPassword.Error: return(RedirectToRoute(ManagementRouteNames.AdminResetApiUserPassword, new { viewModel.ExternalSystemId })); case AdminMediatorCodes.ResetApiUserPassword.Ok: return(View("ApiUser", response.ViewModel)); default: throw new InvalidMediatorCodeException(response.Code); } }
public ApiUserViewModel ResetApiUserPassword(ApiUserViewModel viewModel) { var apiUser = _apiUserRepository.ResetApiUserPassword(viewModel.ExternalSystemId); return(ApiUserMappers.Map <ApiUser, ApiUserViewModel>(apiUser)); }
public ApiUserViewModel CreateApiUser(ApiUserViewModel viewModel) { var apiUser = ApiUserMappers.Map <ApiUserViewModel, ApiUser>(viewModel); return(ApiUserMappers.Map <ApiUser, ApiUserViewModel>(_apiUserRepository.Create(apiUser))); }