public async Task <ActionResult <QuoteVM> > CreateQuote(QuoteVM quoteVM) { try { if (quoteVM == null) { return(BadRequest()); } // Add custom model validation error Quote quote = await quoteRepository.GetQuoteByname(quoteVM.Quote); if (quote != null) { ModelState.AddModelError("Name", $"Quote name: {quoteVM.Quote.Text} already in use"); return(BadRequest(ModelState)); } await quoteRepository.CreateQuote(quoteVM); return(CreatedAtAction(nameof(GetQuote), new { id = quoteVM.Quote.Id }, quoteVM)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public CreateQuoteResponse CreateQuote(CreateQuoteRequest request) { CreateQuoteResponse response = new CreateQuoteResponse() { }; try { var newQuoteId = _quoteRepository.CreateQuote(request.Quote); response.IsSuccess = true; response.RedirectUrl = _configService.GetWebAppUrl() + "quote/calculator?id=" + newQuoteId.ToString(); } catch (Exception e) { response.IsSuccess = false; response.ErrorMessage = e.Message; } return(response); }