public async Task <ActionResult> Create([FromBody] SaveSalesQuoteRequest entity) { try { var salesQuote = mapper.Map <SalesQuote>(entity); await context.SalesQuotes.AddAsync(salesQuote); await context.SaveChangesAsync(); return(StatusCode(StatusCodes.Status201Created)); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult> Update(long id, [FromBody] SaveSalesQuoteRequest entity) { try { var salesQuote = await context.SalesQuotes .Include(a => a.LineItems) .AsNoTracking() .SingleOrDefaultAsync(t => t.Id == id); if (salesQuote == null) { return(NotFound(id)); } // Process deleted line items entityListHelpers.CheckItemsForDeletion(salesQuote.LineItems, entity.LineItems); // Update the sales quotation to new values salesQuote = mapper.Map <SalesQuote>(entity); context.Update(salesQuote); await context.SaveChangesAsync(); return(StatusCode(StatusCodes.Status204NoContent)); } catch (DbUpdateConcurrencyException concurrencyEx) { logger.LogError(concurrencyEx.Message); return(StatusCode(StatusCodes.Status409Conflict, Constants.ErrorMessages.ConcurrencyErrorMessage)); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }