private void SaveStoreStock() { Dictionary <string, Store> MyManagedStores = MyStoreManager.GetManagedStores(); using (PersonDbContext context = new PersonDbContext()) { var DataTopics = context.Topics; var DataStoreStock = context.StoreStock; var DataGeneralStock = context.GeneralStock .Include(p => p.StoreStock); foreach (var val1 in MyManagedStores) { Dictionary <string, List <Stock> > MyCurrentTopicStock = val1.Value.GetStock(); foreach (var val2 in MyCurrentTopicStock) { List <Stock> MyCurrentStock = val2.Value; foreach (var val3 in MyCurrentStock) { var MyQuery = context.GeneralStock .FirstOrDefault(Stock => Stock.StockName == val3.GetName()); if (MyQuery == null) { int NewStockId; int NewStoreStockId; try { NewStockId = context.GeneralStock.Max(stock => stock.StockId) + 1; } catch (Exception) { //null, no general stock exist NewStockId = 1; } try { NewStoreStockId = context.StoreStock.Max(stock => stock.StoreStockId) + 1; } catch (Exception) { //null, no store stock exist NewStoreStockId = 1; } GeneralStock gensto = new GeneralStock { StockId = NewStockId, TopicId = context.Topics.First(p => p.TopicName == val3.GetTopic()).TopicId, StockName = val3.GetName(), Price = Convert.ToDecimal(val3.GetPrice()), StockDescription = val3.GetDescription(), OrderStockId = null, StoreStockId = NewStoreStockId }; StoreStock stosto = new StoreStock { StoreStockId = NewStoreStockId, LocationId = context.Locations.First(p => p.LocationName == val1.Key).LocationId }; context.StoreStock.Add(stosto); context.GeneralStock.Add(gensto); try { context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } } } } }
private void SaveOrderStock() { Dictionary <string, List <Order> > MyManagedOrders = MyOrderManager.GetManagedOrders(); using (PersonDbContext context = new PersonDbContext()) { var DataTopics = context.Topics; var DataOrderStock = context.OrderStock; var DataGeneralStock = context.GeneralStock .Include(p => p.OrderStock); var DataOrders = context.Orders; foreach (var val1 in MyManagedOrders) { List <Order> MyCurrentNamedOrder = val1.Value; foreach (var val2 in MyCurrentNamedOrder) { int added = 0; List <Stock> MyCurrentStock = val2.GetItems(); foreach (var val3 in MyCurrentStock) { var MyQuery = context.GeneralStock .FirstOrDefault(Stock => Stock.StockName == val3.GetName()); if (MyQuery == null) { GeneralStock gensto = new GeneralStock { StockId = context.GeneralStock.Max(stock => stock.StockId) + 1, TopicId = context.Topics.First(p => p.TopicName == val3.GetTopic()).TopicId, StockName = val3.GetName(), Price = Convert.ToDecimal(val3.GetPrice()), StockDescription = val3.GetDescription(), OrderStockId = context.OrderStock.Max(stock => stock.OrderStockId) + 1, StoreStockId = null }; Orders ords = new Orders() { OrderId = context.Orders.Max(o => o.OrderId) + 1 + added, PersonId = context.People.First(p => p.Username == val1.Key).PersonId, Price = Convert.ToDecimal(val2.GetPrice()), OrderDate = val2.GetDate() }; OrderStock ordsto = new OrderStock { OrderStockId = (int)gensto.OrderStockId, OrderId = ords.OrderId }; context.Orders.Add(ords); context.GeneralStock.Add(gensto); context.OrderStock.Add(ordsto); try { context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } } } } }