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); }
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); }
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); }
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() })); }