public async Task <LastOrderDto> GetLastOrderAsync(int orderId) { var lastOrder = await this.orders.All() .Include(x => x.Recipient) .Include(x => x.OrderStatus) .FirstOrDefaultAsync(x => x.Id == orderId); var orderItems = await this.itemService.GetItemsByOrderIdAsync(orderId); LastOrderDto neededOrder = null; if (lastOrder != null) { neededOrder = OrderServiceLastOrderMapper.Map(lastOrder, orderItems); } return(neededOrder); }
public static LastOrderDto Map(Order lastOrder, List <Item> orderItems) { var currentStatusOrderName = string.Empty; switch (lastOrder.OrderStatus.Name) { case GlobalConstants.PendingStatus: currentStatusOrderName = GlobalConstants.PendingBGStatus; break; case GlobalConstants.ShippedStatus: currentStatusOrderName = GlobalConstants.ShippedBGStatus; break; case GlobalConstants.DeliverStatus: currentStatusOrderName = GlobalConstants.DeliverBGStatus; break; case GlobalConstants.AcquiredStatus: currentStatusOrderName = GlobalConstants.AcquiredBGStatus; break; default: break; } var neededOrder = new LastOrderDto { Id = lastOrder.Id, IssuedOn = lastOrder.IssuedOn, RecipientName = $"{lastOrder.Recipient.FirstName} {lastOrder.Recipient.LastName}", Items = orderItems.Select(x => new ItemForLastOrderDto { ItemId = x.ItemId, BrandAndModel = $"{x.Part.Brand.Name} {x.Part.Model.Name} {x.Part.Model.StartYear}-{x.Part.Model.EndYear}", OrderedQuantity = x.OrderedQuantity, CustomerPrice = x.Part.CustomerPrice, PartName = x.Part.Name, }).ToList(), OrderStatus = lastOrder.OrderStatus.Name, }; return(neededOrder); }
public static LastOrderDto Map(Order lastOrder, List <Item> orderItems) { var neededOrder = new LastOrderDto { Id = lastOrder.Id, IssuedOn = lastOrder.IssuedOn, RecipientName = $"{lastOrder.Recipient.FirstName} {lastOrder.Recipient.LastName}", Items = orderItems.Select(x => new ItemForLastOrderDto { ItemId = x.ItemId, BrandAndModel = $"{x.Part.Model.Brand.Name} {x.Part.Model.Name} {x.Part.Model.StartYear}-{x.Part.Model.EndYear}", OrderedQuantity = x.OrderedQuantity, CustomerPrice = x.Part.CustomerPrice, PartName = x.Part.Name, }).ToList(), OrderStatus = lastOrder.OrderStatus.Name, }; return(neededOrder); }
public static LastOrderViewModel Map(LastOrderDto orderDto) { var lastOrder = new LastOrderViewModel { Id = orderDto.Id, IssuedOn = orderDto.IssuedOn, OrderStatus = orderDto.OrderStatus, RecipientName = orderDto.RecipientName, Items = orderDto.Items.Select(x => new ItemForLastOrder { ItemId = x.ItemId, BrandAndModel = x.BrandAndModel, OrderedQuantity = x.OrderedQuantity, PartId = x.PartId, PartName = x.PartName, CustomerPrice = x.CustomerPrice, }).ToList(), }; return(lastOrder); }