public ActionResult <IEnumerable <OrderInfosDto> > GetClientOrders(int clientId) { var client = clientService.GetClientById(clientId); if (client == null) { return(NotFound()); } var orders = orderService.GetClientOrders(clientId); var ordersInfos = new List <OrderInfosDto>(); foreach (var order in orders) { OrderInfosDto orderInfo; if (order.Status == EnumOrderStatus.Pending) { orderInfo = new OrderInfosDto { OrderId = order.Id, OrderTime = order.OrderTime, OrderPrice = order.OrderPrice, OrderStatus = order.Status, DeliveryPrice = order.DeliveryPrice }; } else { var deliveryInfos = deliveryInfoService.GetOrderDeliveryInfo(order.Id); var orderDeliveryMan = deliveryManService.GetDeliveryManById(deliveryInfos.IdDeliveryMan); orderInfo = new OrderInfosDto { OrderId = order.Id, OrderTime = order.OrderTime, OrderPrice = order.OrderPrice, OrderStatus = order.Status, EstimatedDeliveryTime = deliveryInfos.EstimatedDeliveryTime, DeliveryPrice = order.DeliveryPrice, DeliveryManId = orderDeliveryMan.Id, DeliveryManName = $"{orderDeliveryMan.FirstName} {orderDeliveryMan.LastName}", DeliveryManPicture = orderDeliveryMan.ImageBase64, RealDeliveryTime = deliveryInfos.RealDeliveryTime }; } ordersInfos.Add(orderInfo); } return(Ok(ordersInfos)); }
public ActionResult <IEnumerable <OrderInfosDto> > GetClientTreatedOrders(int clientId) { var client = clientService.GetClientById(clientId); if (client == null) { return(NotFound()); } var orders = orderService.GetClientTreatedOrders(clientId); var ordersInfos = new List <OrderInfosDto>(); foreach (var order in orders) { var deliveryInfos = deliveryInfoService.GetOrderDeliveryInfo(order.Id); var orderDeliveryMan = deliveryManService.GetDeliveryManById(deliveryInfos.IdDeliveryMan); // We have to consider the situation where the deliveryMan object is null var orderInfo = new OrderInfosDto { OrderId = order.Id, OrderTime = order.OrderTime, OrderPrice = order.OrderPrice, OrderStatus = order.Status, DeliveryPrice = order.DeliveryPrice, DeliveryManId = orderDeliveryMan.Id, DeliveryManName = $"{orderDeliveryMan.FirstName} {orderDeliveryMan.LastName}", DeliveryManPicture = orderDeliveryMan.ImageBase64, RealDeliveryTime = deliveryInfos.RealDeliveryTime }; ordersInfos.Add(orderInfo); } return(Ok(ordersInfos)); }