public void Before_each_test() { _logger = new Mock <ILogger <UpdateOrganisationHandler> >(); _organisationValidator = new Mock <IOrganisationValidator>(); ; _textSanitiser = new TextSanitiser(); _validationErrorMessage = new ValidationErrorMessage(); _updateOrganisationRepository = new Mock <IUpdateOrganisationRepository>(); _auditLogService = new Mock <IAuditLogService>(); _organisationValidator.Setup(x => x.ValidateOrganisation(It.IsAny <UpdateOrganisationCommand>())) .Returns(_validationErrorMessage); _auditData = new AuditData { }; _auditLogService.Setup(x => x.AuditOrganisation(It.IsAny <UpdateOrganisationCommand>())).Returns(_auditData); _handler = new UpdateOrganisationHandler(_logger.Object, _updateOrganisationRepository.Object, _auditLogService.Object, _organisationValidator.Object, _textSanitiser); _request = new UpdateOrganisationRequest { OrganisationId = Guid.NewGuid(), OrganisationTypeId = 1, ProviderTypeId = 1, LegalName = "legal name", CharityNumber = "1233333", CompanyNumber = "35444444", Username = "******", ApplicationDeterminedDate = DateTime.Today }; }
public async Task Update(UpdateOrganisationRequest updateOrganisationRequest) { using (var request = new HttpRequestMessage(HttpMethod.Put, $"/api/v1/organisations/")) { await PostPutRequest(request, updateOrganisationRequest); } }
public async Task <bool> RecordOutcome(Guid applicationId, bool?approveGateway, bool?approveModeration, OversightReviewStatus outcome, string userId, string userName, string internalComments, string externalComments) { _logger.LogInformation($"Recording an oversight outcome of {outcome} for application {applicationId}"); var registrationDetails = await _applicationApiClient.GetRegistrationDetails(applicationId); var registerStatus = await _registerApiClient.GetOrganisationRegisterStatus(new GetOrganisationRegisterStatusRequest { UKPRN = registrationDetails.UKPRN }); ValidateStatusAgainstExistingStatus(outcome, registerStatus, registrationDetails.UKPRN); var updateOutcomeCommand = new RecordOversightOutcomeCommand { ApplicationId = applicationId, ApproveGateway = approveGateway, ApproveModeration = approveModeration, OversightStatus = outcome, UserId = userId, UserName = userName, InternalComments = internalComments, ExternalComments = externalComments }; var updateOutcomeSuccess = await _applicationApiClient.RecordOutcome(updateOutcomeCommand); if (!updateOutcomeSuccess) { return(false); } if (outcome == OversightReviewStatus.Successful) { var request = BuildCreateOrganisationRequest(userName, registrationDetails); await _registerApiClient.CreateOrganisation(request); } if ((outcome == OversightReviewStatus.SuccessfulAlreadyActive || outcome == OversightReviewStatus.SuccessfulFitnessForFunding) && registerStatus.OrganisationId != null) { var updateOrganisationRequest = new UpdateOrganisationRequest { ApplicationDeterminedDate = DateTime.UtcNow.Date, LegalName = registrationDetails.LegalName, OrganisationId = registerStatus.OrganisationId.Value, Username = userName, CharityNumber = registrationDetails.CharityNumber, CompanyNumber = registrationDetails.CompanyNumber, OrganisationTypeId = registrationDetails.OrganisationTypeId, ProviderTypeId = registrationDetails.ProviderTypeId, TradingName = registrationDetails.TradingName, }; _logger.LogInformation($"Updating organisation details for application {applicationId}"); return(await _registerApiClient.UpdateOrganisation(updateOrganisationRequest)); } return(true); }
public async Task <IActionResult> UpdateOrganisation( [FromBody] UpdateOrganisationRequest updateOrganisationRequest) { _logger.LogInformation("Received Update Organisation Request"); await _mediator.Send(updateOrganisationRequest); return(NoContent()); }
public async Task <ActionResult <Organisation> > UpdateOrganisation([FromBody] UpdateOrganisationRequest request) { var org = await _mediator.Send(request); if (org is null) { return(BadRequest()); } return(Ok(org)); }
public void Arrange() { Setup(); _organisationResponse = Builder <Organisation> .CreateNew().Build(); Mediator.Setup(q => q.Send(Moq.It.IsAny <UpdateOrganisationRequest>(), Moq.It.IsAny <CancellationToken>())) .Returns(Task.FromResult((_organisationResponse))); _updateOrganisationRequest = Builder <UpdateOrganisationRequest> .CreateNew() .Build(); _result = OrganisationController.UpdateOrganisation(_updateOrganisationRequest).Result; }
private async Task <bool> RecordInRoatp(Guid applicationId, string appealStatus, string userId, string userName, OrganisationRegisterStatus registerStatus, RoatpRegistrationDetails registrationDetails) { var application = await _applicationApiClient.GetApplicationDetails(applicationId); if (application.GatewayReviewStatus != GatewayReviewStatus.Fail) { if (registerStatus?.OrganisationId != null && (appealStatus == AppealStatus.SuccessfulAlreadyActive || appealStatus == AppealStatus.SuccessfulFitnessForFunding)) { var updateOrganisationRequest = new UpdateOrganisationRequest { ApplicationDeterminedDate = DateTime.UtcNow.Date, LegalName = registrationDetails.LegalName, OrganisationId = registerStatus.OrganisationId.Value, Username = userName, CharityNumber = registrationDetails.CharityNumber, CompanyNumber = registrationDetails.CompanyNumber, OrganisationTypeId = registrationDetails.OrganisationTypeId, ProviderTypeId = registrationDetails.ProviderTypeId, TradingName = registrationDetails.TradingName, }; _logger.LogInformation($"Updating organisation details for application {applicationId}"); return(await _registerApiClient.UpdateOrganisation(updateOrganisationRequest)); } if (appealStatus == AppealStatus.Successful) { var request = BuildCreateOrganisationRequest(userName, registrationDetails); return(await _registerApiClient.CreateOrganisation(request)); } } return(true); }
public async Task <IActionResult> Update([FromBody] UpdateOrganisationRequest request) { return(Ok(await _mediator.Send(request))); }
/// <summary> /// Update an organisation. Requires 'OrganisationAdmin' permission. /// </summary> /// <exception cref="ChronoSheetsAPI.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="xChronosheetsAuth">The ChronoSheets Auth Token</param> /// <param name="request">An Update Organsation Request object containing updated fields. Make sure to specify the Organsation Id in the request object so that ChronoSheets knows which Organsation to update</param> /// <param name="cancellationToken">Cancellation Token to cancel request (optional) </param> /// <returns>Task of ApiResponse (ApiResponseUpdateOrganisationResponse)</returns> public async System.Threading.Tasks.Task <ApiResponse <ApiResponseUpdateOrganisationResponse> > OrganisationUpdateOrganisationWithHttpInfoAsync(string xChronosheetsAuth, UpdateOrganisationRequest request, CancellationToken cancellationToken = default(CancellationToken)) { // verify the required parameter 'xChronosheetsAuth' is set if (xChronosheetsAuth == null) { throw new ApiException(400, "Missing required parameter 'xChronosheetsAuth' when calling OrganisationApi->OrganisationUpdateOrganisation"); } // verify the required parameter 'request' is set if (request == null) { throw new ApiException(400, "Missing required parameter 'request' when calling OrganisationApi->OrganisationUpdateOrganisation"); } var localVarPath = "/Organisation/UpdateOrganisation"; var localVarPathParams = new Dictionary <String, String>(); var localVarQueryParams = new List <KeyValuePair <String, String> >(); var localVarHeaderParams = new Dictionary <String, String>(this.Configuration.DefaultHeader); var localVarFormParams = new Dictionary <String, String>(); var localVarFileParams = new Dictionary <String, FileParameter>(); Object localVarPostBody = null; // to determine the Content-Type header String[] localVarHttpContentTypes = new String[] { "application/json", "text/json", "application/xml", "text/xml", "application/x-www-form-urlencoded", "multipart/form-data" }; String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); // to determine the Accept header String[] localVarHttpHeaderAccepts = new String[] { "application/json", "text/json", "application/xml", "text/xml", "multipart/form-data" }; String localVarHttpHeaderAccept = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); if (localVarHttpHeaderAccept != null) { localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); } if (xChronosheetsAuth != null) { localVarHeaderParams.Add("x-chronosheets-auth", this.Configuration.ApiClient.ParameterToString(xChronosheetsAuth)); // header parameter } if (request != null && request.GetType() != typeof(byte[])) { localVarPostBody = this.Configuration.ApiClient.Serialize(request); // http body (model) parameter } else { localVarPostBody = request; // byte array } // make the HTTP request IRestResponse localVarResponse = (IRestResponse)await this.Configuration.ApiClient.CallApiAsync(localVarPath, Method.PUT, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarPathParams, localVarHttpContentType, cancellationToken); int localVarStatusCode = (int)localVarResponse.StatusCode; if (ExceptionFactory != null) { Exception exception = ExceptionFactory("OrganisationUpdateOrganisation", localVarResponse); if (exception != null) { throw exception; } } return(new ApiResponse <ApiResponseUpdateOrganisationResponse>(localVarStatusCode, localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)), (ApiResponseUpdateOrganisationResponse)this.Configuration.ApiClient.Deserialize(localVarResponse, typeof(ApiResponseUpdateOrganisationResponse)))); }
/// <summary> /// Update an organisation. Requires 'OrganisationAdmin' permission. /// </summary> /// <exception cref="ChronoSheetsAPI.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="xChronosheetsAuth">The ChronoSheets Auth Token</param> /// <param name="request">An Update Organsation Request object containing updated fields. Make sure to specify the Organsation Id in the request object so that ChronoSheets knows which Organsation to update</param> /// <param name="cancellationToken">Cancellation Token to cancel request (optional) </param> /// <returns>Task of ApiResponseUpdateOrganisationResponse</returns> public async System.Threading.Tasks.Task <ApiResponseUpdateOrganisationResponse> OrganisationUpdateOrganisationAsync(string xChronosheetsAuth, UpdateOrganisationRequest request, CancellationToken cancellationToken = default(CancellationToken)) { ApiResponse <ApiResponseUpdateOrganisationResponse> localVarResponse = await OrganisationUpdateOrganisationWithHttpInfoAsync(xChronosheetsAuth, request, cancellationToken); return(localVarResponse.Data); }
/// <summary> /// Update an organisation. Requires 'OrganisationAdmin' permission. /// </summary> /// <exception cref="ChronoSheetsAPI.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="xChronosheetsAuth">The ChronoSheets Auth Token</param> /// <param name="request">An Update Organsation Request object containing updated fields. Make sure to specify the Organsation Id in the request object so that ChronoSheets knows which Organsation to update</param> /// <returns>ApiResponseUpdateOrganisationResponse</returns> public ApiResponseUpdateOrganisationResponse OrganisationUpdateOrganisation(string xChronosheetsAuth, UpdateOrganisationRequest request) { ApiResponse <ApiResponseUpdateOrganisationResponse> localVarResponse = OrganisationUpdateOrganisationWithHttpInfo(xChronosheetsAuth, request); return(localVarResponse.Data); }
public async Task <bool> UpdateOrganisation(UpdateOrganisationRequest request) { var result = await Put($"/api/v1/organisation/update", request); return(await Task.FromResult(result == HttpStatusCode.OK)); }