public UnitOfWork(RestaurantContext context) { _context = context; Adjustments = new AdjustmentRepository(_context); AdjustmentsItems = new AdjustmentItemRepository(_context); Branches = new BranchRepository(_context); Categories = new CategoryRepository(_context); Customers = new CustomerRepository(_context); Deliveries = new DeliveryRepository(_context); DeliveryItems = new DeliveryItemRepository(_context); Divisions = new DivisionRepository(_context); Expirations = new ExpirationRepository(_context); Groups = new GroupRepository(_context); Stocks = new InventoryItemRepository(_context); Locations = new LocationRepository(_context); Units = new MeasurementUnitRepository(_context); Productions = new ProductionRepository(_context); Ingredients = new ProductionItemRepository(_context); Products = new ProductRepository(_context); Purchases = new PurchaseRepository(_context); PurchaseItems = new PurchaseItemRepository(_context); PurchaseOrders = new PurchaseOrderRepository(_context); PurchaseOrderItems = new PurchaseOrderItemRepository(_context); SalesInvoices = new SalesInvoiceRepository(_context); SalesInvoiceItems = new SalesInvoiceItemRepository(_context); Suppliers = new SupplierRepository(_context); Transfers = new TransferRepository(_context); TransferItems = new TransferItemRepository(_context); Wastages = new WastageRepository(_context); WastageItems = new WastageItemRepository(_context); Workers = new WorkerRepository(_context); ItemLocation = new ItemLocationRepository(_context); StockHistory = new StockHistoryRepository(_context); Currencies = new CurrencyRepository(_context); }
public void CreateDeliveriesFromPendingItems_ValidPendingDeliveryItems_DeliveriesCreated() { var dispatcher = MockRepository.GenerateMock <IQueueDispatcher <IMessage> >(); var userRepository = new UserAccountRepository(); var user = userRepository.GetByEmail("*****@*****.**", false); var userContext = new TestUserContext(user); var quoteRepository = new QuoteRepository(); var quoteItemRepository = new QuoteItemRepository(); var customerRepository = new CustomerRepository(); var jobRepository = new JobRepository(); var jobItemRepository = new JobItemRepository(); var listItemRepository = new ListItemRepository(); var entityIdProvider = new DirectEntityIdProvider(); var instrumentRepository = new InstrumentRepository(); var deliveryRepository = new DeliveryRepository(); var deliveryItemRepository = new DeliveryItemRepository(); var customerId1 = Guid.NewGuid(); var customerId2 = Guid.NewGuid(); var job1Id = Guid.NewGuid(); var job2Id = Guid.NewGuid(); var job3Id = Guid.NewGuid(); var jobItem1Id = Guid.NewGuid(); var jobItem2Id = Guid.NewGuid(); var jobItem3Id = Guid.NewGuid(); var jobItem4Id = Guid.NewGuid(); var jobItem5Id = Guid.NewGuid(); var jobItem6Id = Guid.NewGuid(); var jobItem7Id = Guid.NewGuid(); var jobItem8Id = Guid.NewGuid(); var jobItem9Id = Guid.NewGuid(); CreateDeliveriesFromPendingItemsHelper.CreateContextForPendingItemTests( customerId1, customerId2, job1Id, job2Id, job3Id, jobItem1Id, jobItem2Id, jobItem3Id, jobItem4Id, jobItem5Id, jobItem6Id, jobItem7Id, jobItem8Id, jobItem9Id); var deliveryItemService = new DeliveryItemService( userContext, deliveryRepository, deliveryItemRepository, jobItemRepository, quoteItemRepository, listItemRepository, customerRepository, dispatcher); var deliveryService = new DeliveryService(userContext, deliveryRepository, deliveryItemService, customerRepository, entityIdProvider, dispatcher); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem1Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem2Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem3Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem4Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem5Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem6Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem7Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem8Id, customerId2, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem9Id, customerId2, "some notes"); deliveryService.CreateDeliveriesFromPendingItems(); var deliveries = deliveryService.GetDeliveries().ToList(); Assert.AreEqual(2, deliveries.Count); var deliveryItems = deliveryItemService.GetDeliveryItems(deliveries[0].Id).ToList(); Assert.AreEqual(7, deliveryItems.Count); }
public void CreateInvoicesFromPendingItems_ValidPendingInvoiceItems_InvoicesCreated() { var dispatcher = MockRepository.GenerateMock <IQueueDispatcher <IMessage> >(); var userRepository = new UserAccountRepository(); var user = userRepository.GetByEmail("*****@*****.**", false); var userContext = new TestUserContext(user); var companyDetailsRepository = new CompanyDetailsRepository(); var quoteRepository = new QuoteRepository(); var quoteItemRepository = new QuoteItemRepository(); var customerRepository = new CustomerRepository(); var jobRepository = new JobRepository(); var jobItemRepository = new JobItemRepository(); var listItemRepository = new ListItemRepository(); var currencyRepository = new CurrencyRepository(); var entityIdProvider = new DirectEntityIdProvider(); var instrumentRepository = new InstrumentRepository(); var deliveryRepository = new DeliveryRepository(); var deliveryItemRepository = new DeliveryItemRepository(); var invoiceRepository = new InvoiceRepository(); var invoiceItemRepository = new InvoiceItemRepository(); var customerId1 = Guid.NewGuid(); var customerId2 = Guid.NewGuid(); var job1Id = Guid.NewGuid(); var job2Id = Guid.NewGuid(); var job3Id = Guid.NewGuid(); var jobItem1Id = Guid.NewGuid(); var jobItem2Id = Guid.NewGuid(); var jobItem3Id = Guid.NewGuid(); var jobItem4Id = Guid.NewGuid(); var jobItem5Id = Guid.NewGuid(); var jobItem6Id = Guid.NewGuid(); var jobItem7Id = Guid.NewGuid(); var jobItem8Id = Guid.NewGuid(); var jobItem9Id = Guid.NewGuid(); CreateInvoicesFromPendingItemsHelper.CreateContextForPendingItemTests( customerId1, customerId2, job1Id, job2Id, job3Id, jobItem1Id, jobItem2Id, jobItem3Id, jobItem4Id, jobItem5Id, jobItem6Id, jobItem7Id, jobItem8Id, jobItem9Id); var invoiceItemService = new InvoiceItemService(userContext, companyDetailsRepository, invoiceRepository, invoiceItemRepository, jobItemRepository, quoteItemRepository, listItemRepository, dispatcher); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem1Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem2Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem3Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem4Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem5Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem6Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem7Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem8Id); invoiceItemService.CreatePending(Guid.NewGuid(), jobItem9Id); var invoiceService = new InvoiceService( userContext, invoiceItemService, invoiceRepository, new DirectEntityIdProvider(), listItemRepository, customerRepository, new BankDetailsRepository(), new TaxCodeRepository(), companyDetailsRepository, currencyRepository, dispatcher); invoiceService.CreateInvoicesFromPendingItems(); var invoices = invoiceService.GetInvoices().ToList(); Assert.AreEqual(4, invoices.Count); var invoiceItems = invoiceItemService.GetInvoiceItems(invoices[0].Id).ToList(); Assert.AreEqual(2, invoiceItems.Count); invoiceItems = invoiceItemService.GetInvoiceItems(invoices[1].Id).ToList(); Assert.AreEqual(2, invoiceItems.Count); invoiceItems = invoiceItemService.GetInvoiceItems(invoices[2].Id).ToList(); Assert.AreEqual(3, invoiceItems.Count); invoiceItems = invoiceItemService.GetInvoiceItems(invoices[3].Id).ToList(); Assert.AreEqual(2, invoiceItems.Count); var pendingItems = invoiceItemService.GetPendingInvoiceItems().ToList(); Assert.AreEqual(0, pendingItems.Count); }