public IHttpActionResult Get() { OrderProductService orderDetailService = CreateOrderDetailService(); var orderDetails = orderDetailService.GetOrderProducts(); return(Ok(orderDetails)); }
public IHttpActionResult Get([FromUri] int id) { OrderProductService oPS = CreateOrderProductService(); var orderProduct = oPS.GetOrderProductById(id); return(Ok(orderProduct)); }
private OrderProductService CreateOrderDetailService() { var userId = Guid.Parse(User.Identity.GetUserId()); var orderDetailService = new OrderProductService(userId); return(orderDetailService); }
public async Task CreateOrderSuccesfully(string creatorId, string address) { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new ApplicationDbContext(options); var orderProductsRepository = new EfDeletableEntityRepository <OrderProduct>(dbContext); var orderProductsService = new OrderProductService(orderProductsRepository); var orderProduct = new OrderProduct { CreatorId = creatorId, ProductId = 1, Quantity = 1, Price = 7m, Status = OrderProductStatus.Active, }; await orderProductsRepository.AddAsync(orderProduct); await orderProductsRepository.SaveChangesAsync(); var ordersRepository = new EfDeletableEntityRepository <Order>(dbContext); var ordersService = new OrderService(ordersRepository, orderProductsService); await ordersService.CreateOrderAsync(creatorId, address); Assert.Single(ordersRepository.All().Where(x => x.CreatorId == creatorId)); Assert.Equal(7m, ordersRepository.All().Where(x => x.CreatorId == creatorId).FirstOrDefault().Price); }
/// <summary> /// Order menu constructor /// </summary> /// <param name="repo"></param> public OrderMenu(IRepository repo) { this.repo = repo; this.orderService = new OrderService(repo); this.locationService = new LocationService(repo); this.inventoryService = new InventoryService(repo); this.orderProductService = new OrderProductService(repo); this.productService = new ProductService(repo); }
public async Task SetOrderProductsToOrder() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <OrderProduct>(dbContext); var service = new OrderProductService(repository); var orderProduct1 = new OrderProduct { ProductId = 1, CreatorId = "xxx", Quantity = 1, Price = 10, Status = OrderProductStatus.Active, }; var orderProduct2 = new OrderProduct { ProductId = 2, CreatorId = "xxx", Quantity = 1, Price = 5, Status = OrderProductStatus.Active, }; await repository.AddAsync(orderProduct1); await repository.AddAsync(orderProduct2); await repository.SaveChangesAsync(); var orderRepository = new EfDeletableEntityRepository <Order>(dbContext); var orderService = new OrderService(orderRepository, null); var order = new Order { Address = "ul. Tintyava 15", CreatorId = "xxx", Price = 30m, }; await orderRepository.AddAsync(order); await orderRepository.SaveChangesAsync(); service.SetOrderedProductsToOrder(order); Assert.Equal(2, order.Products.Count()); // order contains 2 products }
public AdminController(ILogger <AdminController> logger, UserManager <ApplicationUser> userManager) { _logger = logger; // Repositories _orderRepository = new GenericRepository <Order>(); _productRepository = new GenericRepository <Product>(); _orderProductRepository = new GenericRepository <OrderProduct>(); _userManager = userManager; // Services _orderProductService = new OrderProductService(); }
public async Task CurrentCountOrderProductsByUserId(string userId) { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <OrderProduct>(dbContext); var service = new OrderProductService(repository); var orderProduct1 = new OrderProduct { ProductId = 1, CreatorId = userId, Quantity = 1, Price = 10, Status = OrderProductStatus.Active, }; var orderProduct2 = new OrderProduct { ProductId = 2, CreatorId = userId, Quantity = 1, Price = 5, Status = OrderProductStatus.Active, }; var orderProduct3 = new OrderProduct { ProductId = 3, CreatorId = userId, Quantity = 1, Price = 5, Status = OrderProductStatus.Completed, }; await repository.AddAsync(orderProduct1); await repository.AddAsync(orderProduct2); await repository.AddAsync(orderProduct3); await repository.SaveChangesAsync(); var count = service.CurrentCountOrderProductsByUserId(userId); Assert.Equal(2, count); }
public async Task GetLatestOrder(string userId) { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new ApplicationDbContext(options); var orderProductsRepository = new EfDeletableEntityRepository <OrderProduct>(dbContext); var orderProductsService = new OrderProductService(orderProductsRepository); var orderProduct1 = new OrderProduct { CreatorId = userId, ProductId = 1, Quantity = 1, Price = 7m, Status = OrderProductStatus.Active, }; var orderProduct2 = new OrderProduct { CreatorId = userId, ProductId = 2, Quantity = 1, Price = 5m, Status = OrderProductStatus.Active, }; await orderProductsRepository.AddAsync(orderProduct1); await orderProductsRepository.AddAsync(orderProduct2); await orderProductsRepository.SaveChangesAsync(); var ordersRepository = new EfDeletableEntityRepository <Order>(dbContext); var ordersService = new OrderService(ordersRepository, orderProductsService); await ordersService.CreateOrderAsync(userId, "ul.Tintyava 15"); var completedOrder = ordersService.GetLatestOrder(userId); Assert.Equal(completedOrder.Price, ordersRepository.All().Where(x => x.CreatorId == userId).FirstOrDefault().Price); }
public async Task CreateOrderProduct() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <OrderProduct>(dbContext); var service = new OrderProductService(repository); var product = new Product { Id = 1, Name = "Caffe", Price = 7m, }; await service.CreateOrderProductAsync(product.Id, "xxx", 7m, 2); Assert.Equal(1, repository.All().Count()); Assert.Equal(14, repository.All().FirstOrDefault().Price); // check price }
public OrderProductsController(DataContext context) { _context = context; _orderProductService = new OrderProductService(_context); }