public async Task <IActionResult> Create([FromBody] OrderCreateRequest requestModel) { DateTime utcNow = DateTime.UtcNow; //map to entity Order order = OrderMapper.MapFromOrderCreateRequestToOrder(requestModel, utcNow); db.Orders.Add(order); await db.SaveChangesAsync(); Order createdOrder = await db.Orders.IncludeAll().AsNoTracking().SingleOrDefaultAsync(o => o.Id == order.Id); var filePath = _excelService.CreateAndSaveFile(createdOrder); if (!string.IsNullOrEmpty(filePath)) { _emailService.SendEmail(filePath, createdOrder.Category.Name); } //map to response OrderResponse orderResponse = OrderMapper.MapFromOrderToOrderResponse(order); return(CreatedAtAction(nameof(GetById), new { id = order.Id }, orderResponse)); }