public async Task <CreateCorrelationPairResponse> CreateAsync(CreateCorrelationPairRequest request) { var baseCurrency = currencyRepository.FindOneAsync(p => p.IsoCode == request.BaseCurrencyIso.ToUpper()).Result; if (baseCurrency == null) { return(new CreateCorrelationPairResponse() .AddError <CreateCorrelationPairResponse>("Base Currency Not Exits")); } var quoteCurrency = currencyRepository.FindOneAsync(p => p.IsoCode == request.QuoteCurrencyIso.ToUpper()).Result; if (quoteCurrency == null) { return(new CreateCorrelationPairResponse() .AddError <CreateCorrelationPairResponse>("Quote Currency Not Exits")); } var command = request.ProjectedAs <CreateCorrelationPairCommand>(); command.BaseCurrencyId = baseCurrency.Id; command.QuoteCurrencyId = quoteCurrency.Id; var response = await mediator.Send(command); if (response.IsSuccess) { unitOfWork.Commit(); } return(response.ProjectedAs <CreateCorrelationPairResponse>()); }
public async Task <IActionResult> Create(CreateCorrelationPairRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorResponse())); } var response = await quotationAppService.CreateAsync(request); if (response.Success) { return(StatusCode(201)); } else { return(BadRequest(response.Erros)); } }