public RawOrderHistory GetCustomerOrderHistory(Guid id) { List <Order> dbOrderHistory = orderRepo.GetCustomerOrders(id); RawOrderHistory OrderHistory = mapper.BaseToRawOrderMapper(dbOrderHistory); foreach (Order stID in dbOrderHistory) { OrderHistory.StoreName.Add(storeRepo.GetName(stID.Store)); } return(OrderHistory); }
public void Test_GetCustomerOrderHistory() { var options = new DbContextOptionsBuilder <OrderContext>() .UseInMemoryDatabase(databaseName: "TestDb15") .Options; var options1 = new DbContextOptionsBuilder <StoreContext>() .UseInMemoryDatabase(databaseName: "TestDb15") .Options; var options2 = new DbContextOptionsBuilder <CustomerContext>() .UseInMemoryDatabase(databaseName: "TestDb15") .Options; using (var context = new OrderContext(options)) { using (var context1 = new StoreContext(options1)) { using (var context2 = new CustomerContext(options2)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); context1.Database.EnsureDeleted(); context1.Database.EnsureCreated(); context2.Database.EnsureDeleted(); context2.Database.EnsureCreated(); OrderRepository orderRepo = new OrderRepository(context); StoreRepository storeRepo = new StoreRepository(context1); CustomerRepository custRepo = new CustomerRepository(context2); OrderLogic ol = new OrderLogic(orderRepo, storeRepo, custRepo); AStore store = new AStore(); Customer newCust = new Customer(); Order testOrder = new Order(); testOrder.Store = store.StoreID; testOrder.Cust = newCust.CustomerID; testOrder.JSONPizzaOrder = "this is a test order for customers"; context.Add <Order>(testOrder); context1.Add <AStore>(store); context2.Add <Customer>(newCust); context.SaveChanges(); context1.SaveChanges(); context2.SaveChanges(); RawOrderHistory createOrder = ol.GetCustomerOrderHistory(newCust.CustomerID); Assert.Equal(testOrder.JSONPizzaOrder, createOrder.jsonPizzaOrders[0]); } } } }
/// <summary> /// Map from Order to RawOrder(database -> javascript) /// DOES NOT map the name. Need to do separately, depending on if customer or store history /// </summary> /// <param name="obj">List of Orders</param> /// <returns></returns> public RawOrderHistory BaseToRawOrderMapper(List <Order> obj) { RawOrderHistory newHistory = new RawOrderHistory(); newHistory.jsonPizzaOrders = new List <string>(); newHistory.StoreName = new List <string>(); newHistory.Totals = new List <decimal>(); newHistory.OrderTimes = new List <DateTime>(); foreach (Order stID in obj) { newHistory.Totals.Add(stID.CurTotal); newHistory.OrderTimes.Add(stID.OrderTime); newHistory.jsonPizzaOrders.Add(stID.JSONPizzaOrder); } return(newHistory); }
public RawOrderHistory GetStoreOrderHistory(Guid id) { List <Order> dbOrderHistory = orderRepo.GetStoreOrders(id); RawOrderHistory OrderHistory = mapper.BaseToRawOrderMapper(dbOrderHistory); foreach (Order stID in dbOrderHistory) { var curCust = custRepo.GetCustomerByID(stID.Cust); if (curCust is null) { return(null); } OrderHistory.StoreName.Add(curCust.Fname + " " + curCust.Lname); } return(OrderHistory); }