コード例 #1
0
        public void EditOrder()
        {
            bool done = false;

            while (!done)
            {
                Zadatak_1_Entities cmd = new Zadatak_1_Entities();
                Console.WriteLine("To cancel press ~ at any moment\n");
                Console.WriteLine("Insert id of the order you whant to edit.\n");
                string input;
                bool   success = int.TryParse(input = Console.ReadLine(), out int OrderId);

                if (input == "~")
                {
                    break;
                }

                Console.WriteLine();

                if (success)
                {
                    var order = cmd.tblOrders.FirstOrDefault(o => o.OrderId == OrderId);

                    if (order != null)
                    {
                        foreach (var i in cmd.tblOrderMenus)
                        {
                            if (i.OrderId == order.OrderId)
                            {
                                cmd.tblOrderMenus.Remove(i);
                            }
                        }
                        List <int> menus = new List <int>();
                        while (true)
                        {
                            Console.WriteLine("Select new meals from the menu.\n");
                            Console.WriteLine("If you are done, press x.\n");

                            foreach (var menu in cmd.tblMenus)
                            {
                                Console.WriteLine(menu.MenuId + ". " + menu.Meal + " " + menu.Price);
                            }
                            Console.WriteLine();
                            bool success1 = int.TryParse(input = Console.ReadLine(), out int result);

                            if (input == "~")
                            {
                                done = true; break;
                            }

                            Console.WriteLine();
                            bool found = false;

                            if (success1 || input == "x")
                            {
                                foreach (var menu in cmd.tblMenus)
                                {
                                    if (result == menu.MenuId)
                                    {
                                        menus.Add(menu.MenuId);
                                        found = true;
                                    }
                                }

                                if (!found && input != "x")
                                {
                                    Console.WriteLine("Non existant meal, please try again.\n");
                                    continue;
                                }

                                if (input == "x")
                                {
                                    int?price = 0;
                                    foreach (int i in menus)
                                    {
                                        tblOrderMenu t = new tblOrderMenu();
                                        t.OrderId = order.OrderId;
                                        t.MenuId  = i;

                                        cmd.tblOrderMenus.Add(t);
                                        cmd.SaveChanges();
                                    }

                                    foreach (var i in cmd.tblOrderMenus)
                                    {
                                        if (order.OrderId == i.OrderId)
                                        {
                                            foreach (var menu in cmd.tblMenus)
                                            {
                                                if (i.MenuId == menu.MenuId)
                                                {
                                                    price += menu.Price;
                                                }
                                            }
                                        }
                                    }

                                    order.Price = price;
                                    done        = true;
                                    cmd.SaveChanges();
                                    Console.WriteLine("Update successfull.");
                                    break;
                                }
                            }
                            else
                            {
                                Console.WriteLine("Invalid input, please try again.\n");
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Non existant order. Please try again.\n");
                    }
                }
                else
                {
                    Console.WriteLine("Incorrect input, please try again.\n");
                }
            }
        }
コード例 #2
0
        public void CreateOrder()
        {
            List <tblMenu> menu    = new List <tblMenu>();
            List <int>     melasId = new List <int>();

            using (Zadatak_1_Entities db = new Zadatak_1_Entities())
            {
                menu = db.tblMenus.Where(x => x.MenuId > 0).ToList();
            }
            melasId = Order(menu);
            if (melasId.Count == 0)
            {
                return;
            }
            int price = 0;

            foreach (int id in melasId)
            {
                if (id == 1)
                {
                    price += 100;
                }
                else
                {
                    price += 200;
                }
            }
            tblOrder order = new tblOrder();

            order.Price = price;
            using (Zadatak_1_Entities db = new Zadatak_1_Entities())
            {
                try
                {
                    db.tblOrders.Add(order);
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Something went wrong...");
                    Console.WriteLine(ex.Message.ToString());
                }
                tblOrder newOrder = db.tblOrders.Where(x => x.Price == order.Price).FirstOrDefault();

                Console.WriteLine("Ordered Successfully! Order Id: {0} Price: {1}$", newOrder.OrderId, newOrder.Price);
                foreach (int id in melasId)
                {
                    tblOrderMenu orderMenu = new tblOrderMenu();
                    orderMenu.OrderId = newOrder.OrderId;
                    orderMenu.MenuId  = id;
                    try
                    {
                        db.tblOrderMenus.Add(orderMenu);
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Something went wrong...");
                        Console.WriteLine(ex.Message.ToString());
                    }
                }
            }
        }