Example #1
0
        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));
            }
        }
Example #2
0
        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);
        }