Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #4
0
        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);
        }