Exemplo n.º 1
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }