Ejemplo n.º 1
0
        public async Task <List <OrderModel> > GetOrders(string username)
        {
            var orderSpec = new CustomerOrdersWithItemsSpecification(username);
            var orders    = await _orderRepository.ListAsync(orderSpec);

            List <OrderModel> ordersModel = new List <OrderModel>();
            List <int>        itemIds     = new List <int>();

            foreach (var order in orders)
            {
                var orderModel = new OrderModel()
                {
                    OrderId = order.Id
                };
                orderModel.OrderItems = order.OrderItems.Select(x => new OrderItemModel()
                {
                    Title    = x.Item.Title,
                    ItemId   = x.Item.ItemId,
                    Price    = x.Price,
                    Quantity = x.Quantity
                });
                ordersModel.Add(orderModel);
            }
            return(ordersModel);
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <OrderViewModel> > Handle(GetMyOrders request, CancellationToken cancellationToken)
        {
            var specification = new CustomerOrdersWithItemsSpecification(request.UserName);
            var orders        = await _orderRepository.ListAsync(specification);

            return(orders.Select(order => order.CreateViewModel()));
        }
        public void CustomerOrdersWithItemsSpecification_Bad_Username_Test()
        {
            var spec = new CustomerOrdersWithItemsSpecification("sadad");

            var result = _evaluator.GetQuery(GetOrders().AsQueryable(), spec).Any();

            Assert.False(result);
        }
        public void CustomerOrdersWithItemsSpecification_Username_Test()
        {
            var spec = new CustomerOrdersWithItemsSpecification(_username);

            var result = _evaluator.GetQuery(GetOrders().AsQueryable(), spec).FirstOrDefault();

            Assert.NotNull(result);
            Assert.Equal(_username, result.UserId);
            Assert.Equal(_orderId, result.Id);
        }
Ejemplo n.º 5
0
        public async Task Get_Order_First_Or_Default_Test()
        {
            string username   = "******";
            var    repository = GetRepository();
            var    order      = new Order(username, "", "", new List <OrderItem>());
            var    order1     = new Order("qwe", "", "", new List <OrderItem>());
            await repository.AddAsync(order);

            await repository.AddAsync(order1);

            var spec    = new CustomerOrdersWithItemsSpecification(username);
            var orderDB = await repository.FirstOrDefaultAsync(spec);

            Assert.Equal(order, orderDB);
        }
Ejemplo n.º 6
0
        public async Task <IEnumerable <OrderViewModel> > Handle(GetAdminOrders request, CancellationToken cancellationToken)
        {
            var specification = new CustomerOrdersWithItemsSpecification(request.UserName);
            var orders        = await _orderRepository.ListAsync(specification);

            return(orders.Select(o => new OrderViewModel
            {
                OrderDate = o.OrderDate,
                OrderItems = o.OrderItems?.Select(oi => new OrderItemViewModel()
                {
                    PictureUrl = oi.ItemOrdered.PictureUri,
                    ProductId = oi.ItemOrdered.CatalogItemId,
                    ProductName = oi.ItemOrdered.ProductName,
                    UnitPrice = oi.UnitPrice,
                    Units = oi.Units
                }).ToList(),
                OrderNumber = o.Id,
                ShippingAddress = o.ShipToAddress,
                Total = o.Total()
            }));
        }
        public async Task <IEnumerable <OrderViewModel> > ShowOrderByUserName(string UserName)
        {
            var specification = new CustomerOrdersWithItemsSpecification(UserName);
            var orders        = await _orderRepository.ListAsync(specification);

            return(orders.Select(o => new OrderViewModel
            {
                OrderDate = o.OrderDate,
                OrderItems = o.OrderItems?.Select(oi => new OrderItemViewModel()
                {
                    PictureUrl = oi.ItemOrdered.PictureUri,
                    ProductId = oi.ItemOrdered.CatalogItemId,
                    ProductName = oi.ItemOrdered.ProductName,
                    UnitPrice = oi.UnitPrice,
                    Units = oi.Units
                }).ToList(),
                OrderNumber = o.Id,
                ShippingAddress = o.ShipToAddress,
                Status = GetDetailedStatus(o.Status),
                Total = o.Total()
            }));
        }