Beispiel #1
0
        public int UpdateOrder_Dishes(Order_Dishes order)
        {
            string connectionString = Configuration.GetConnectionString("DefaultConnection");
            int    result           = 0;

            try
            {
                using (SqlConnection cn = new SqlConnection(connectionString))
                {
                    string     query = "UPDATE Order_Dishes SET IdOrder=@IdOrder,IdDishes=@IdDishes,Quantity=@Quantity WHERE IdOrder=@IdOrder";
                    SqlCommand cmd   = new SqlCommand(query, cn);


                    cmd.Parameters.AddWithValue("@IdOrder", order.IdOrder);
                    cmd.Parameters.AddWithValue("@Status", order.IdDish);
                    cmd.Parameters.AddWithValue("@Date", order.Quantity);

                    cn.Open();

                    result = cmd.ExecuteNonQuery();
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(result);
        }
Beispiel #2
0
        public Order_Dishes AddOrder_Dishes(Order_Dishes order)
        {
            string connectionString = Configuration.GetConnectionString("DefaultConnection");

            try
            {
                using (SqlConnection cn = new SqlConnection(connectionString))
                {
                    string     query = "INSERT into Order_Dishes(Quantity,IdDish,IdOrder) VALUES(@Quantity,@IdDish,@IdOrder)";
                    SqlCommand cmd   = new SqlCommand(query, cn);



                    cmd.Parameters.AddWithValue("@Quantity", order.Quantity);
                    cmd.Parameters.AddWithValue("@IdDish", order.IdDish);
                    cmd.Parameters.AddWithValue("@IdOrder", order.IdOrder);
                    string valuer = query.ToString();

                    cn.Open();

                    cmd.ExecuteScalar();
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(order);
        }
Beispiel #3
0
        public List <Order_Dishes> GetOrder_Dishes(int id)
        {
            List <Order_Dishes> results = null;
            string connectionString     = Configuration.GetConnectionString("DefaultConnection");


            try
            {
                using (SqlConnection cn = new SqlConnection(connectionString))
                {
                    string     query = "SELECT * FROM Order_Dishes WHERE IdOrder = @IdOrder";
                    SqlCommand cmd   = new SqlCommand(query, cn);
                    cmd.Parameters.AddWithValue("@IdOrder", id);

                    cn.Open();

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            if (results == null)
                            {
                                results = new List <Order_Dishes>();
                            }

                            Order_Dishes order = new Order_Dishes();

                            order.IdOrder  = (int)dr["IdOrder"];
                            order.IdDish   = (int)dr["IdDish"];
                            order.Quantity = (int)dr["Quantity"];


                            results.Add(order);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(results);
        }
Beispiel #4
0
 //Add one dish and a quantity for an order
 public Order_Dishes AddOrder_Dishes(Order_Dishes order)
 {
     return(orderDishesDB.AddOrder_Dishes(order));
 }
Beispiel #5
0
        //Method that creates the order
        public ActionResult Order(string deliverytime)
        {
            User user       = UserManager.GetUserByEmail(User.Identity.Name);
            int  idCustomer = CustomerManager.GetCustomerByIdUser(user.IdUser);
            var  cartlists  = HttpContext.Session.GetObjectFromJson <List <Cart> >("Cart");

            int idresto = cartlists[0].dish.IdRestaurant;

            var idcity = RestaurantManager.GetCityFromRestaurant(idresto);

            var users = UserManager.GetUsersByIdCity(idcity);

            var couriers = CourierManager.GetCouriersByUserIdSameCity(users);

            //Check if there is a courier in the same city as the restaurant
            if (!couriers.Any())
            {
                return(RedirectToAction("NoFreeCourier"));
            }

            var            orders      = OrderManager.GetOrders();
            List <Courier> courierFree = new List <Courier>();

            //Retrieve the date of the order and the delivery date from the view ShoppingCart or Restaurants/Details
            string   tspan = Convert.ToString(deliverytime);
            DateTime dt    = DateTime.Now;
            DateTime ts    = DateTime.Parse(tspan);


            foreach (var courier in couriers)
            {
                if (OrderManager.GetNumberOfOrder(courier.IdCourier, ts) < 5)
                {
                    courierFree.Add(courier);
                }
            }

            //Check if any courier is available
            if (!courierFree.Any())
            {
                return(RedirectToAction("NoFreeCourier"));
            }

            var courriers = CourierManager.GetCouriers();

            OrderManager.GetNumberOfOrder(courriers[0].IdCourier, ts);



            //Insert the order from the cart
            Order order = new Order();

            order.Status       = "Not delivered";
            order.Date         = dt;
            order.ShippingDate = ts;
            order.TotalPrice   = cartlists.Sum(m => m.totalPriceProduct);
            order.IdCourier    = courierFree[0].IdCourier;
            order.IdClient     = idCustomer;

            Order order1 = OrderManager.AddOrder(order);


            //Insert each dish and quantity into Order_Dishes
            foreach (var product in cartlists)
            {
                Order_Dishes productordered = new Order_Dishes();
                productordered.Quantity = product.quantity;
                productordered.IdDish   = product.dish.IdDish;
                productordered.IdOrder  = order1.IdOrder;


                Order_DishesManager.AddOrder_Dishes(productordered);
            }

            var cart = new List <Cart>();

            HttpContext.Session.SetObjectAsJson("Cart", cart);


            return(RedirectToAction("Confirmation", "Cart"));
        }