Пример #1
0
        public ActionResult ProcessOrder(OrderFormViewModel form)
        {
            MongoDBDataProvider provider    = new MongoDBDataProvider();
            List <OrderedDish>  cart        = (List <OrderedDish>)Session["Cart"];
            List <Restaurant>   restaurants = provider.DistrictGet(form.district).restaurants;
            Restaurant          restaurant  = restaurants.ElementAt(new Random().Next() % restaurants.Count);

            provider.OrderCreate(form.name, form.adress, form.phone, form.price, DateTime.Now.ToString("dd-MM-yyyy"), restaurant.id, cart);
            cart.RemoveRange(0, cart.Count);
            return(new HttpStatusCodeResult(200));
        }
Пример #2
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)
            {
            }
        }