Esempio n. 1
0
 internal static OrderedDishModel ToModel(OrderedDish o)
 {
     return(new OrderedDishModel
     {
         CuisineId = o.CuisineId,
         DishId = o.DishId,
         Quantity = o.Quantity,
     });
 }
Esempio n. 2
0
        private decimal DishPrice(OrderedDish dish)
        {
            decimal summ = dish.DishFromMenu.Price;

            foreach (var mod in dish.OrderedMods)
            {
                summ += mod.Mod.Price * mod.Count;
            }

            return(summ);
        }
Esempio n. 3
0
        public string DishMods(OrderedDish dish)
        {
            var respText       = "";
            var allOrderedMods = dish.OrderedMods.Where(o => o.Count > 0);

            if (allOrderedMods.Any())
            {
                foreach (var mod in allOrderedMods)
                {
                    respText += " " + mod.Mod.Name + " " + mod.Mod.Price + " р." + " x" + mod.Count + Environment.NewLine;
                }
            }
            return(respText);
        }
Esempio n. 4
0
        OrderedDish XElementToOrderedDish(XElement XOrderedDish)
        {
            OrderedDish orderedDish = new OrderedDish
            {
                orderId           = uint.Parse(XOrderedDish.Element("OrderID").Value),
                dishID            = uint.Parse(XOrderedDish.Element("DishID").Value),
                numberOfSameDish  = uint.Parse(XOrderedDish.Element("SameDish").Value),
                dishLevelOfKosher = (Kosher)Enum.Parse(typeof(Kosher), XOrderedDish.Element("Kosher").Value),
                dishSize          = (SizeOfDish)Enum.Parse(typeof(SizeOfDish), XOrderedDish.Element("Size").Value),
                notes             = XOrderedDish.Element("Notes").Value,
            };

            return(orderedDish);
        }
Esempio n. 5
0
        public JsonResult AddToCart(CartEntryViewModel entry)
        {
            MongoDBDataProvider provider = new MongoDBDataProvider();

            if (Session["Cart"] == null)
            {
                Session["Cart"] = new List <OrderedDish>();
            }

            OrderedDish orderedDish = new OrderedDish();
            Category    tmpCat      = provider.CategoryGet(entry.category);

            orderedDish.price    = 0;
            orderedDish.dish     = tmpCat.dishes.Where(x => x.name == entry.dish).SingleOrDefault();
            orderedDish.quantity = entry.quantity;
            if (entry.supplements == null)
            {
                orderedDish.supplements = null;
            }
            else
            {
                orderedDish.supplements = new List <Supplement>();
                foreach (string supName in entry.supplements)
                {
                    foreach (Supplement catSup in tmpCat.supplements)
                    {
                        if (supName == catSup.name)
                        {
                            Supplement tmpSup = new Supplement();
                            tmpSup.name  = catSup.name;
                            tmpSup.price = catSup.price;
                            orderedDish.supplements.Add(tmpSup);
                            orderedDish.price += tmpSup.price;
                        }
                    }
                }
            }

            orderedDish.price += orderedDish.dish.price * orderedDish.quantity;
            List <OrderedDish> cart = (List <OrderedDish>)Session["Cart"];

            cart.Add(orderedDish);
            return(Json(cart));
        }
Esempio n. 6
0
        public void OrderDish()
        {
            var service        = new TestLiteCustomerService();
            var serviceManager = new TestLiteManagerService();
            var rand           = new Random();

            var dishList   = service.GetAllMenus().First().DishList;
            var randomDish = dishList[rand.Next(dishList.Count)];

            var orderedDish = new OrderedDish()
            {
                Remarks = "Побольше перца", DishFromMenu = randomDish
            };

            var tableList   = serviceManager.GetAllTables();
            var randomTable = tableList[rand.Next(tableList.Count)];

            service.OrderDish(randomTable.Id, orderedDish);
        }
Esempio n. 7
0
        public void AddDishIntoOrderedDishes(Dish dish)
        {
            // проверяем, есть ли уже в списке такое блюдо
            var orderedDish = _dishes.FirstOrDefault(cur => cur.DishId == dish.Id);

            if (orderedDish != null)
            {
                orderedDish.Quantity++;
            }
            else
            {
                orderedDish = new OrderedDish
                {
                    DishId       = dish.Id,
                    Quantity     = 1,
                    OrderedPrice = GetRealPrice(dish)
                };
                _dishes.Add(orderedDish);
            }
        }
Esempio n. 8
0
        private void CheckBonus()
        {
            var bonuses = _unitOfWork.BonusActions.GetAll().Where(b => b.ExcessSum < TotalSum);
            var bonus   = bonuses.OrderBy(b => b.ExcessSum).LastOrDefault();

            if (bonus != null)
            {
                BonusHeaderString = $"{bonus.Dish.Name} | ЗАКАЗ > {bonus.ExcessSum}";
                BonusInfo         = bonus.Description;
                // добавить бонусное блюдо
                _bonusDish = new OrderedDish {
                    DishId = bonus.DishId, OrderedPrice = 0, Quantity = 1
                };
                OrderedDishes.Add(_bonusDish);
            }
            else
            {
                BonusInfo = "Извините, но за Ваш заказ бонус не предусмотрен.";
            }
        }
Esempio n. 9
0
 public void OrderDish(Guid tableId, OrderedDish dish)
 {
     using (var db = new LiteDatabase(CurrentDb))
     {
         var tableCol = db.GetCollection <Table>("Tables");
         var table    = tableCol.Find(o => o.Id == tableId).FirstOrDefault();
         if (table == null)
         {
             throw new TableNotFoundException();
         }
         else
         {
             table.Orders.Add(dish);
             table.OrderPlaced    = DateTime.Now;
             table.OrderProcessed = false;
             table.Cheque         = null;
             tableCol.Update(table);
         }
     }
 }
Esempio n. 10
0
        public static void Initialize(
            ApplicationDbContext context,
            UserManager <ApplicationUser> userManager,
            RoleManager <IdentityRole> roleManager)
        {
            // Users & Roles
            var adminRole = new IdentityRole {
                Name = "Admin"
            };
            var roleResult = roleManager.CreateAsync(adminRole).Result;

            var aUser = new ApplicationUser
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                Address      = "sjövägen 3",
                Zipcode      = "11320",
                CustomerName = "Kunden",
                PhoneNumber  = "0720302020"
            };

            var adminUser = new ApplicationUser
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                Address      = "sjövägen 3",
                Zipcode      = "11320",
                CustomerName = "Admin",
                PhoneNumber  = "0720302020"
            };

            var userResult      = userManager.CreateAsync(aUser, "pass").Result;
            var adminUserResult = userManager.CreateAsync(adminUser, "pass").Result;
            var adminRoleResult = userManager.AddToRoleAsync(adminUser, "Admin").Result;

            // Ingredients
            var cheese = new Ingredient {
                Name = "Cheese", AddExtraPrice = 5, IsActive = true
            };
            var tomatoe = new Ingredient {
                Name = "Tomatoe", AddExtraPrice = 5, IsActive = true
            };
            var ham = new Ingredient {
                Name = "Ham", AddExtraPrice = 10, IsActive = true
            };
            var mushroom = new Ingredient {
                Name = "Mushroom", AddExtraPrice = 10, IsActive = true
            };
            var pineapple = new Ingredient {
                Name = "Pineapple", AddExtraPrice = 10, IsActive = true
            };

            // Categories
            var pizza = new Category {
                Name = "Pizza", IsActive = true
            };
            var pasta = new Category {
                Name = "Pasta", IsActive = true
            };

            // Dishes
            var capricciosa = new BaseDish {
                Name = "Capricciosa", Price = 100, IsActive = true, Category = pizza
            };
            var margherita = new BaseDish {
                Name = "Margherita", Price = 90, IsActive = true, Category = pizza
            };
            var hawaii = new BaseDish {
                Name = "Hawaii", Price = 100, IsActive = true, Category = pizza
            };
            var pastacarbonara = new BaseDish {
                Name = "Pasta carbonara", Price = 90, IsActive = true, Category = pasta
            };

            // Orders
            var order1 = new Order
            {
                TotalPrice  = 200,
                User        = aUser,
                OrderDate   = DateTime.Now,
                Address     = "Testvägen 3",
                Email       = "*****@*****.**",
                PhoneNumber = "23920323223",
                Zipcode     = "12321",
                IsComplete  = true
            };
            var order2 = new Order
            {
                TotalPrice  = 100,
                OrderDate   = DateTime.Now,
                Address     = "Testvägen 3",
                Email       = "*****@*****.**",
                PhoneNumber = "23920323223",
                Zipcode     = "12321",
                IsComplete  = false
            };

            var orderedDish1 = new OrderedDish {
                Name = "Capricciosa", Price = 100, Category = pizza
            };

            orderedDish1.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = ham
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish1, Ingredient = mushroom
                }
            };

            var orderedDish2 = new OrderedDish {
                Name = "Margaritha", Price = 90, Category = pizza
            };

            orderedDish2.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish2, Ingredient = mushroom
                }
            };

            var orderedDish3 = new OrderedDish {
                Name = "Hawaii", Price = 100, Category = pizza
            };

            orderedDish3.OrderedDishIngredients = new List <OrderedDishIngredient>
            {
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = cheese
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = tomatoe
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = ham
                },
                new OrderedDishIngredient {
                    OrderedDish = orderedDish3, Ingredient = pineapple
                }
            };

            capricciosa.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = tomatoe
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = ham
                },
                new BaseDishIngredient {
                    BaseDish = capricciosa, Ingredient = mushroom
                }
            };

            margherita.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = margherita, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = margherita, Ingredient = ham
                }
            };

            hawaii.BaseDishIngredients = new List <BaseDishIngredient>
            {
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = cheese
                },
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = ham
                },
                new BaseDishIngredient {
                    BaseDish = hawaii, Ingredient = pineapple
                }
            };

            order1.OrderedDishes = new List <OrderedDish> {
                orderedDish1, orderedDish2
            };
            order2.OrderedDishes = new List <OrderedDish> {
                orderedDish3
            };

            context.AddRange(cheese, tomatoe, ham, mushroom, pineapple);
            context.AddRange(capricciosa, margherita, hawaii, pastacarbonara);
            context.AddRange(order1, order2);
            context.AddRange(orderedDish1, orderedDish2, orderedDish3);
            context.AddRange(pizza, pasta);

            context.SaveChanges();
        }
Esempio n. 11
0
 public bool GetMonthlyOrderedDishes(OrderedDish od) => od.Order.Reservation.Day.Date > DateTime.Today.AddMonths(-1);
Esempio n. 12
0
 public bool GetWeeklyOrderedDishes(OrderedDish od) => od.Order.Reservation.Day.Date > DateTime.Today.AddDays(-7);
Esempio n. 13
0
 public bool GetDailyOrderedDishes(OrderedDish od) => od.Order.Reservation.Day.Date == DateTime.Today;
Esempio n. 14
0
        public void Initialize()
        {
            string date = DateTime.Now.ToString("dd-MM-yyyy");

            MongoDBDataProvider dbMongo = new MongoDBDataProvider();

            StreamReader stream;

            //Check is database initialized
            if (dbMongo.CategoryGetAll().Count != 0)
            {
                return;
            }

            DeleteAllData();

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(categoryFilePath));
                while (!stream.EndOfStream)
                {
                    Category category = new Category();
                    category.name = stream.ReadLine();
                    stream.ReadLine();
                    int         numofdishes = Convert.ToInt32(stream.ReadLine());
                    List <Dish> dishes      = new List <Dish>();
                    for (int i = 0; i < numofdishes; i++)
                    {
                        Dish dish = new Dish();
                        dish.name        = stream.ReadLine();
                        dish.description = stream.ReadLine();
                        dish.price       = Convert.ToInt32(stream.ReadLine());
                        dishes.Add(dish);
                    }
                    int numofsupplements          = Convert.ToInt32(stream.ReadLine());
                    List <Supplement> supplements = new List <Supplement>();
                    for (int i = 0; i < numofsupplements; i++)
                    {
                        Supplement supplement = new Supplement();
                        supplement.name  = stream.ReadLine();
                        supplement.price = Convert.ToInt32(stream.ReadLine());
                        supplements.Add(supplement);
                    }
                    category.dishes      = dishes;
                    category.supplements = supplements;
                    dbMongo.CategoryCreate(category.name);
                    foreach (Dish dish in category.dishes)
                    {
                        dbMongo.CategoryDishCreate(dish.name, dish.description, dish.price, category.name);
                    }
                    foreach (Supplement supplement in category.supplements)
                    {
                        dbMongo.CategorySupplementCreate(supplement.name, supplement.price, category.name);
                    }
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }



            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(districtFilePath));
                while (!stream.EndOfStream)
                {
                    District district = new District();
                    district.name = stream.ReadLine();
                    int numofRestaurants = Convert.ToInt32(stream.ReadLine());
                    district.restaurants = new List <Restaurant>();
                    for (int i = 0; i < numofRestaurants; i++)
                    {
                        Restaurant restaurant = new Restaurant();
                        restaurant.name           = stream.ReadLine();
                        restaurant.address        = stream.ReadLine();
                        restaurant.coordinates    = new double[2];
                        restaurant.coordinates[0] = Convert.ToDouble(stream.ReadLine());
                        restaurant.coordinates[1] = Convert.ToDouble(stream.ReadLine());
                        district.restaurants.Add(restaurant);
                    }
                    dbMongo.DistrictCreate(district);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }
            dbMongo.DelivererCreate("Piter Parker");
            dbMongo.DelivererCreate("Tony Stark");
            dbMongo.DelivererCreate("Bruce Wayne");

            try
            {
                stream = new StreamReader(HostingEnvironment.MapPath(orderFilePath));
                while (!stream.EndOfStream)
                {
                    Order order = new Order();
                    order.name   = stream.ReadLine();
                    order.adress = stream.ReadLine();
                    order.phone  = stream.ReadLine();
                    order.price  = stream.ReadLine();
                    OrderedDish orderDish = new OrderedDish();
                    Dish        dish      = new Dish();
                    dish.name          = stream.ReadLine();
                    dish.description   = stream.ReadLine();
                    dish.price         = Convert.ToInt32(stream.ReadLine());
                    orderDish.dish     = dish;
                    orderDish.quantity = Convert.ToInt32(stream.ReadLine());
                    int numofsupplements          = Convert.ToInt32(stream.ReadLine());
                    List <Supplement> supplements = new List <Supplement>();
                    for (int i = 0; i < numofsupplements; i++)
                    {
                        Supplement supplement = new Supplement();
                        supplement.name  = stream.ReadLine();
                        supplement.price = Convert.ToInt32(stream.ReadLine());
                        supplements.Add(supplement);
                    }
                    orderDish.supplements = supplements;
                    order.orderedDish     = new List <OrderedDish> {
                        orderDish
                    };
                    List <Restaurant> restaurants = dbMongo.DistrictGet("Palilula").restaurants;
                    Restaurant        restaurant  = restaurants.ElementAt(new Random().Next() % restaurants.Count);
                    dbMongo.OrderCreate(order.name, order.adress, order.phone, order.price, date, restaurant.id, order.orderedDish);
                }
                stream.Close();
            }
            catch (Exception e)
            {
            }
        }