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));
            }
        }