public async Task <IActionResult> GetById(int?id) { if (id == null) //create new one { return(IdNotProvidedBadRequest()); } Order order = await db.Orders.IncludeAll().AsNoTracking().SingleOrDefaultAsync(o => o.Id == id); if (order == null) { return(ModelNotFound(id)); } //map to response OrderResponse orderResponse = OrderMapper.MapFromOrderToOrderResponse(order); return(Ok(orderResponse)); }
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)); }