Пример #1
0
        public void ShowAll()
        {
            using (DataAccess.ShopContext sctx = new DataAccess.ShopContext())
            {
                var clients = from cl in sctx.Clients.Include(i => i.Items).Include(c => c.Customers)
                              select cl;

                foreach (var client in clients)
                {
                    Console.WriteLine(client.Name + " :: " + client.Id + " :: Customer List:");
                    var customers = client.Customers.ToList();
                    foreach (var c in client.Customers)
                    {
                        Console.WriteLine(c.Id + " :: Amount :: " + c.Amount + "$$ :: Inventory:");

                        var inventoryList = sctx.Set <DataAccess.CustomerItem>().Where(i => i.CustomerId == c.Id).ToList();

                        foreach (var i in inventoryList)
                        {
                            Console.WriteLine("----------" + i.Name);
                        }
                    }
                }
            }
        }
Пример #2
0
 public static void CreateItem(int clientId, ClientItemCreateModel clim)
 {
     using (var sctx = new DataAccess.ShopContext())
     {
         sctx.Set <DataAccess.ClientItem>()
         .Add(new DataAccess.ClientItem()
         {
             ClientId = clientId, Code = clim.Code, Name = clim.Name, Price = clim.Price
         });
         sctx.SaveChanges();
     }
 }
Пример #3
0
 public static void CreateCustomer(int clientId, CustomerCreateModel model)
 {
     using (var sctx = new DataAccess.ShopContext())
     {
         sctx.Set <DataAccess.Customer>()
         .Add(new DataAccess.Customer()
         {
             ClientId = clientId, Amount = model.Ammount, Nickname = model.Nickname
         });
         sctx.SaveChanges();
     }
 }
Пример #4
0
        public string GetCode(int clientId, string name)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var item = sctx.Set <DataAccess.ClientItem>().SingleOrDefault(i => i.Name == name && i.ClientId == clientId);
                if (item == null)
                {
                    throw new Exception("No such item in this store: " + name);
                }

                return(item.Code);
            }
        }
Пример #5
0
        public static string GetCustomer(int clientId, int customerId)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curCust = sctx.Set <DataAccess.Customer>()
                              .SingleOrDefault(cust => cust.ClientId == clientId && cust.Id == customerId);
                if (curCust != null)
                {
                    return(curCust.ClientId + " :: " + curCust.Id + " :: " + curCust.Amount);
                }

                return("failed to find customer: " + customerId);
            }
        }
Пример #6
0
        public static ClientItemCreateModel GetItem(int clientId, string code)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curItem = sctx.Set <DataAccess.ClientItem>()
                              .SingleOrDefault(item => item.ClientId == clientId && item.Code == code);
                if (curItem == null)
                {
                    throw new Exception("There is no such item");
                }

                return(new ClientItemCreateModel()
                {
                    Code = curItem.Code, Name = curItem.Name, Price = curItem.Price
                });
            }
        }
Пример #7
0
        public static void UpdateCustomer(int clientId, int customerId, CustomerCreateModel model)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curCustomer = sctx.Set <DataAccess.Customer>()
                                  .SingleOrDefault(cust => cust.ClientId == clientId && cust.Id == customerId);
                if (curCustomer == null)
                {
                    throw new Exception("There is no such Customer");
                }

                curCustomer.Amount   = model.Ammount;
                curCustomer.Nickname = model.Nickname;

                sctx.SaveChanges();
            }
        }
Пример #8
0
        public static CustomerCreateModel GetItem(int clientId, int customerId)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curCustomer = sctx.Set <DataAccess.Customer>()
                                  .SingleOrDefault(cust => cust.ClientId == clientId && cust.Id == clientId);
                if (curCustomer == null)
                {
                    throw new Exception("There is no such item");
                }

                return(new CustomerCreateModel()
                {
                    Ammount = curCustomer.Amount, Nickname = curCustomer.Nickname
                });
            }
        }
Пример #9
0
        public static void UpdateItem(int clientId, string code, ClientItemCreateModel createModel)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curItem = sctx.Set <DataAccess.ClientItem>()
                              .SingleOrDefault(item => item.ClientId == clientId && item.Code == code);
                if (curItem == null)
                {
                    throw new Exception("There is no such item");
                }

                curItem.Name  = createModel.Name;
                curItem.Code  = createModel.Code;
                curItem.Price = createModel.Price;

                sctx.SaveChanges();
            }
        }
Пример #10
0
        public void ItemPurchase(int clientId, int customerId, string itemCode)
        {
            using (var sctx = new DataAccess.ShopContext())
            {
                var curItem = sctx.Set <DataAccess.ClientItem>().SingleOrDefault(i => i.Code == itemCode);

                var curCustomer = sctx.Set <DataAccess.Customer>().SingleOrDefault(cust => cust.Id == customerId);

                if (curItem == null)
                {
                    throw new Exception("No such Item");
                }

                if (curCustomer == null)
                {
                    throw new Exception("Invaid customer");
                }

                if (curCustomer.Amount < curItem.Price)
                {
                    throw new Exception("Not enough money");
                }

                curCustomer.Amount -= curItem.Price;

                var ii = new DataAccess.CustomerItem()
                {
                    Name       = curItem.Name,
                    CustomerId = customerId,
                    Code       = curItem.Code,
                    Price      = curItem.Price
                };

                sctx.Set <DataAccess.CustomerItem>().Add(ii);
                sctx.SaveChanges();
            }
        }