public async Task <IActionResult> Edit(int id, [Bind("ID,Name,Address")] SuperMarket superMarket)
        {
            if (id != superMarket.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(superMarket);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SuperMarketExists(superMarket.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(superMarket));
        }
        public void ServiceTaxTest()
        {
            var serviceTax = 12.5;
            Func <double, double> lambda = SuperMarket.CalculateServiceTax(serviceTax);

            var totalWithServiceTax = lambda(1500);

            Assert.That(totalWithServiceTax, Is.EqualTo(1687.5));
        }
 public async Task<IActionResult> Create([Bind("ID,Name,Address")] SuperMarket superMarket)
 {
     if (ModelState.IsValid)
     {
         _context.Add(superMarket);
         await _context.SaveChangesAsync();
         return RedirectToAction(nameof(Index));
     }
     return View(superMarket);
 }
示例#4
0
        static void Main(string[] args)
        {
            SuperMarket TotalPrice = new SuperMarket();
            var         TP         = TotalPrice.GetPrice(500, 15.5);

            Console.WriteLine("Total Price = {0}", TP);
            var TPD = TotalPrice.GetPrice(500, 15.5, 20);

            Console.WriteLine("Total Price after discount = {0}", TPD);
            var TPDC = TotalPrice.GetCashBack(500, 15.5, 20, 10);

            Console.WriteLine("Total Price after discount with CashBack = {0}", TPDC);
        }
        public void GivenAnIdentifierNumberOfItemsAndCostPerItem_WhenCalculateTotalCostCalled_ThenReturnsExpectedTotalCost()
        {
            // Arrange
            var itemIdentifier = "Dove Soap";
            var numberOfItems  = 10;
            var costPerItem    = 5;

            // Act
            var totalCost = SuperMarket.CalculateTotalCost(numberOfItems, costPerItem);

            // Assert
            Assert.That(totalCost, Is.EqualTo(50));
        }
        public void GivenALisOfItemHolds_WhenCalculateTotalCostCalled_ThenReturnsExpectedTotalCost()
        {
            // Arrange
            var items = new List <ItemHolder>()
            {
                new ItemHolder("1", 10, 50),
                new ItemHolder("2", 1, 500),
                new ItemHolder("3", 5, 100)
            };

            // Act
            var totalCost = SuperMarket.CalculateTotalCost(items);

            // Assert
            Assert.That(totalCost, Is.EqualTo(1500));
        }
示例#7
0
        public IActionResult Post([FromBody] SuperMarket supermarket)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            if (supermarket.Id == 0)
            {
                _supermarketservices.createSuperMarket(supermarket);
            }
            else
            {
                _supermarketservices.updateSuperMarket(supermarket);
            }

            return(Ok(supermarket));
        }
        public void GivenALisOfItemHolds_WhenCalculateTotalCostCalled_ThenReturnsTotalCostWithSeviceTaxApplied()
        {
            // Arrange
            var items = new List <ItemHolder>()
            {
                new ItemHolder("1", 10, 50),
                new ItemHolder("2", 1, 500),
                new ItemHolder("3", 5, 100)
            };

            Func <List <ItemHolder>, double> totalCalculator = SuperMarket.CalculateTotalCost;
            var costCalculator = totalCalculator.AndThen(SuperMarket.CalculateServiceTax(12.5));

            // Act
            var totalCost = costCalculator(items);

            // Assert
            Assert.That(totalCost, Is.EqualTo(1687.5));
        }
示例#9
0
        static void Main(string[] args)
        {
            SuperMarket market = new SuperMarket(10000);
            Random      rand   = new Random();
            Item        apple  = new Item("Apple", 10, rand.Next(1, int.MaxValue));
            Item        tv     = new Item("Plasma screen", 1000, rand.Next(1, int.MaxValue));
            Employee    jane   = new Employee("Jane", rand.Next(1, int.MaxValue));
            Employee    bob    = new Employee("Bob", rand.Next(1, int.MaxValue));

            jane.SayHello();
            bob.SayHello();
            Console.WriteLine();

            market.Buy(apple);
            market.Buy(apple);
            market.Buy(apple);

            market.Buy(tv);
            market.Buy(tv);

            Console.Write($"Market budget after purchase: {market.Budget}");
            Console.WriteLine();
            Console.WriteLine("Market stock:");
            Console.WriteLine();
            market.PrintStock();
            Console.WriteLine("-------------");
            Console.WriteLine();

            market.Sell(apple);
            market.Sell(apple);
            market.Sell(apple);

            market.Sell(tv);
            market.Sell(tv);

            Console.WriteLine($"Market budget after selling: {market.Budget}");
            Console.Write("Market stock: ");
            market.PrintStock();
        }
示例#10
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            sm = new SuperMarket();

            sm.Open();

            var list = new List <IPurchaseItem>();

            list.Add(AddItemToList("Soda Can", 3));
            list.Add(AddItemToList("non-existing-item", 3));
            list.Add(AddItemToList("Fish", 4));
            list.Add(AddItemToList("Tomato Sauce", 2));
            list.Add(AddItemToList("Cat Food", 5));

            var l = list.Where(x => x.Product.ProductName.Length > 0);

            var ticketTotal = sm.MakePurchase(l.ToList().AsReadOnly());

            Console.WriteLine($"Your grand total is: {ticketTotal}");

            sm.Close();
        }
示例#11
0
        public static void Main()
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;

            do
            {
                Console.Clear();
                List <Item>    items      = new List <Item>();
                RandomDateTime randomDate = new RandomDateTime();

                for (int i = 0; i < 100; i++)
                {
                    int choice = rnd.Next(0, 3);
                    try
                    {
                        // Равновероятностное создание объектов разных типов
                        if (choice == 0)
                        {
                            items.Add(new Cake(Helper.RandomName(rnd.Next(5, 15)), rnd.Next(0, 100001), rnd.Next(0, 201), randomDate.Next()));;
                        }
                        else if (choice == 1)
                        {
                            items.Add(new Electronics(Helper.RandomName(rnd.Next(5, 15)), rnd.Next(0, 100001), rnd.Next(0, 201), 14.1 * rnd.NextDouble() + 0.9));
                        }
                        else
                        {
                            items.Add(new Medicine(Helper.RandomName(rnd.Next(5, 15)), rnd.Next(0, 100001), rnd.Next(0, 201), Helper.IsAntibio()));
                        }
                    }
                    catch (NullReferenceException)
                    {
                        Console.WriteLine("NullReferenceException found...");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }

                try
                {
                    Stock stock = new Stock(items);

                    Console.WriteLine("Список созданных объектов: \n");
                    Thread.Sleep(1000);
                    foreach (var item in items)
                    {
                        Console.WriteLine(item.ToString());
                    }

                    stock.SendItems(); // Отправка (сериализация) объектов
                    items = null;

                    Stock stock1 = new Stock(items); // Создание нового склада

                    Console.WriteLine("\n\nРезультат десериализации:\n");
                    Thread.Sleep(1500);
                    stock1.ReceiveItems(); // Получение (десериализация) объектов

                    SuperMarket superMarket = new SuperMarket();
                    OnlineStore onlineStore = new OnlineStore();
                    Mall        mall        = new Mall();


                    // Распределение объектов по различным типам магазинов
                    foreach (var item in stock1.allitems)
                    {
                        if (item.GetType() == typeof(Cake))
                        {
                            superMarket.AcceptItem(item);
                        }
                        else if (item.Name.Length < 10)
                        {
                            mall.AcceptItem(item);
                        }
                        else
                        {
                            onlineStore.AcceptItem(item);
                        }
                    }

                    // Сортировка объектов в разных магазинах согласно спецификации
                    superMarket.SortItems();
                    mall.SortItems();
                    onlineStore.SortItems();

                    // Вывод всех объектов на экран
                    Console.WriteLine("\n\n\nПредметы в онлайн магазине: \n");
                    Thread.Sleep(1500);
                    for (int i = 0; i < onlineStore.Count; i++)
                    {
                        Console.WriteLine(onlineStore[i]);
                    }
                    Console.WriteLine("\n\nПредметы в торговом центре:\n");
                    Thread.Sleep(1500);
                    for (int i = 0; i < mall.Count; i++)
                    {
                        Console.WriteLine(mall[i]);
                    }
                    Console.WriteLine("\n\nПредметы в супермаркете: \n");
                    Thread.Sleep(1500);
                    for (int i = 0; i < superMarket.Count; i++)
                    {
                        Console.WriteLine(superMarket[i]);
                    }
                }
                catch (NullReferenceException)
                {
                    Console.WriteLine("NullReferenceException found...");
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("ArgumentNullException found");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                Console.WriteLine("\nНажмите ESC для завершения программы или другую клавишу для нового запуска\n");
            }while (Console.ReadKey().Key != ConsoleKey.Escape);
        }
示例#12
0
        public static void Initialize(ShoppingContext db)
        {
            Customer den = new Customer {
                FirstName = "DennY", LastName = "Yats", Address = "Shevchenka, 42", Discount = 100
            };
            Customer stas = new Customer {
                FirstName = "Stas", LastName = "Semenchuk", Address = "Molodijna, 4", Discount = 100
            };
            Customer vova = new Customer {
                FirstName = "Volodymyr", LastName = "Zelensky", Address = "Nezalejnosti, 28", Discount = 100
            };

            SuperMarket metro = new SuperMarket {
                Name = "METRO", Address = "Ostapa Vil'shyny St. 1D"
            };
            SuperMarket ozzy = new SuperMarket {
                Name = "OZZY", Address = "14a, Nebesnoyi sotni St"
            };

            Product cheese = new Product {
                Name = "Cheese", Price = 30
            };
            Product sausage = new Product {
                Name = "Sausage", Price = 50
            };
            Product milk = new Product {
                Name = "Milk", Price = 15
            };

            Order order1 = new Order {
                Customer = den, SuperMarket = metro, Order_date = DateTime.Today
            };
            Order order2 = new Order {
                Customer = stas, SuperMarket = ozzy, Order_date = DateTime.Today
            };

            OrderDetails order1Details1 = new OrderDetails {
                Order = order1, Product = cheese, Quantity = 1
            };
            OrderDetails order1Details2 = new OrderDetails {
                Order = order1, Product = sausage, Quantity = 2
            };
            OrderDetails order1Details3 = new OrderDetails {
                Order = order1, Product = milk, Quantity = 1
            };
            OrderDetails order2Details1 = new OrderDetails {
                Order = order2, Product = milk, Quantity = 3
            };
            OrderDetails order2Details2 = new OrderDetails {
                Order = order2, Product = cheese, Quantity = 1
            };

            if (!db.Customers.Any())
            {
                db.Customers.AddRange(den, stas, vova);
            }
            if (!db.SuperMarkets.Any())
            {
                db.SuperMarkets.AddRange(metro, ozzy);
            }
            if (!db.Products.Any())
            {
                db.Products.AddRange(cheese, sausage, milk);
            }
            if (!db.Orders.Any())
            {
                db.Orders.AddRange(order1, order2);
            }
            if (!db.OrderDetails.Any())
            {
                db.OrderDetails.AddRange(order1Details1, order1Details2, order1Details3, order2Details1, order2Details2);
            }

            db.SaveChanges();
        }
示例#13
0
 /// <summary>
 /// Remove a Supermarket record from the data repository
 /// </summary>
 /// <param name="supermarketToDelete">An instance of Supermarket object to remove</param>
 public void deleteSuperMarket(SuperMarket supermarketToDelete)
 {
     _repo.Delete <SuperMarket>(supermarketToDelete);
 }
示例#14
0
 /// <summary>
 /// Modify the information for a specific Supermarket
 /// </summary>
 /// <param name="supermarketToUpdate">An instance of Supermarket object to change</param>
 public void updateSuperMarket(SuperMarket supermarketToUpdate)
 {
     _repo.Update <SuperMarket>(supermarketToUpdate);
 }
示例#15
0
 /// <summary>
 /// Add a new Supermarket in the data repository
 /// </summary>
 /// <param name="supermarketToCreate">An instance of a new Supermarket object</param>
 public void createSuperMarket(SuperMarket supermarketToCreate)
 {
     _repo.Add <SuperMarket>(supermarketToCreate);
 }
示例#16
0
文件: Lisi.cs 项目: Yii0423/yDesign
 public Lisi()
 {
     _hospital    = new Hospital();
     _superMarket = new SuperMarket();
     _gasStation  = new GasStation();
 }