예제 #1
0
        public JObject PutDelivringComplete([FromBody] OrderFullInfo ofi)
        {
            FastFoodEntities db     = new FastFoodEntities();
            JObject          jRes   = new JObject();
            TORDER           torder = db.TORDERs.FirstOrDefault(o => o.id_order == ofi.id_order);

            if (torder.order_code == ofi.order_code)
            {
                torder.order_state       = OrderStates.order_has_been_delivered;
                torder.delivery_state    = 100;
                torder.received_datetime = DateTime.Now;

                db.SaveChanges();

                jRes.Add(new JProperty("Error", false));
                jRes.Add(new JProperty("MessageTitele", "Success"));
                jRes.Add(new JProperty("Message", "The delivery was successful."));
            }
            else
            {
                jRes.Add(new JProperty("Error", true));
                jRes.Add(new JProperty("MessageTitele", "Failed"));
                jRes.Add(new JProperty("Message", "The order code is incorrect (You will get the order code from the clients when you give them the orders)."));
            }

            return(jRes);
        }
예제 #2
0
        public JObject PutDeliveryManCancelDeliverinAnOrder([FromBody] OrderFullInfo ofi)
        {
            JObject jRes = new JObject();

            try
            {
                FastFoodEntities db = new FastFoodEntities();

                TORDER torder = db.TORDERs.FirstOrDefault(o => o.id_order == ofi.id_order);
                if (torder != null)
                {
                    torder.id_delivery_man = null;
                    torder.order_state     = OrderStates.order_to_deliver;
                    db.SaveChanges();

                    jRes.Add(new JProperty("Error", false));
                    jRes.Add(new JProperty("MessageTitele", "Canceled"));
                    jRes.Add(new JProperty("Message", "Canceled."));
                }
                else
                {
                    jRes.Add(new JProperty("Error", true));
                    jRes.Add(new JProperty("MessageTitele", "Failed"));
                    jRes.Add(new JProperty("Message", "Failed, try again."));
                }
            }
            catch (Exception e)
            {
                jRes.Add(new JProperty("Error", true));
                jRes.Add(new JProperty("MessageTitele", "Failed"));
                jRes.Add(new JProperty("Message", "Failed, try again."));
            }

            return(jRes);
        }
예제 #3
0
        public OrderFullInfo NewOrder([FromBody] Client c)
        {
            // khassni nzidt JWT checking

            FastFoodEntities db = new FastFoodEntities();

            TORDER torder = new TORDER();

            torder.order_state = OrderStates.choosing_food;
            torder.id_client   = c.id_client;

            db.TORDERs.Add(torder);
            db.SaveChanges();

            OrderFullInfo order = new OrderFullInfo();

            order.id_order          = torder.id_order;
            order.order_state       = torder.order_state;
            order.latitude          = torder.latitude;
            order.longitude         = torder.longitude;
            order.order_datetime    = torder.order_datetime;
            order.order_code        = torder.order_code;
            order.delivery_state    = torder.delivery_state;
            order.received_datetime = torder.received_datetime;
            order.id_delivery_man   = torder.id_delivery_man;
            order.id_client         = torder.id_client;

            order.delivery_man = new Delivery_man();
            order.client       = ClientDAO.GetClient(torder.id_client);

            return(order);
        }
예제 #4
0
        public OrderFullInfo GetClientOrderFullInfoById(int id_order)
        {
            FastFoodEntities db = new FastFoodEntities();

            // khasni n nsift JWT o n checkeh

            TORDER torder = db.TORDERs.FirstOrDefault(o => o.id_order == id_order);


            OrderFullInfo orderFullInfo = new OrderFullInfo();

            if (torder != null)
            {
                orderFullInfo.id_order          = torder.id_order;
                orderFullInfo.order_state       = torder.order_state;
                orderFullInfo.latitude          = torder.latitude;
                orderFullInfo.longitude         = torder.longitude;
                orderFullInfo.order_datetime    = torder.order_datetime;
                orderFullInfo.order_code        = torder.order_code;
                orderFullInfo.delivery_state    = torder.delivery_state;
                orderFullInfo.received_datetime = torder.received_datetime;
                orderFullInfo.id_delivery_man   = torder.id_delivery_man;
                orderFullInfo.id_client         = torder.id_client;
                orderFullInfo.client            = new Client()
                {
                    id_client         = torder.CLIENT.id_client,
                    firstname         = torder.CLIENT.firstname,
                    lastname          = torder.CLIENT.lastname,
                    gender            = torder.CLIENT.gender,
                    email             = torder.CLIENT.email,
                    password          = "",
                    phone             = torder.CLIENT.phone,
                    photo             = torder.CLIENT.photo,
                    confirmation_code = torder.CLIENT.confirmation_code
                };
            }


            if (orderFullInfo.id_delivery_man != null)
            {
                orderFullInfo.delivery_man = DeliveryManDAO.GetDeliveryMan((int)orderFullInfo.id_delivery_man);
            }

            List <Geolocation> geolocations = GeolocationDAO.GetOrderGeolocations(orderFullInfo.id_order);

            if (geolocations != null)
            {
                orderFullInfo.geolocations = geolocations;
            }

            List <Order_content> orderContents = OrderContentDAO.GetOrderContents(orderFullInfo.id_order);

            if (orderContents != null)
            {
                orderFullInfo.order_contents = orderContents;
            }

            return(orderFullInfo);
        }
        public async void OnConfirmeAsDelivred()
        {
            string result = await App.Current.MainPage.DisplayPromptAsync("Order code", "You will get the order code from the clients when you give them the orders.", placeholder : "123456", maxLength : 6, keyboard : Keyboard.Numeric);

            if (result != null)
            {
                OrderFullInfo ofi = new OrderFullInfo();
                ofi.id_order   = Convert.ToInt32(OrderId);
                ofi.order_code = result.Trim();

                JObject jRes = await myHttpClient.sendHttpPutAsyncJson(Constants.ApiPutDelivringComplete, ofi);

                await App.Current.MainPage.DisplayAlert((string)jRes["MessageTitele"], (string)jRes["Message"], "Ok");

                if (!(bool)jRes["Error"])
                {
                    await Shell.Current.GoToAsync($"..");
                }
            }
        }
예제 #6
0
        public JObject PutDeliveryManWillDeliverAnOrder([FromBody] OrderFullInfo ofi)
        {
            JObject jRes = new JObject();

            try
            {
                FastFoodEntities db = new FastFoodEntities();

                TORDER torder = db.TORDERs.FirstOrDefault(o => o.id_delivery_man == ofi.id_delivery_man && o.order_state == OrderStates.order_on_the_way);
                if (torder != null)
                {
                    jRes.Add(new JProperty("Error", true));
                    jRes.Add(new JProperty("MessageTitele", "Failed"));
                    jRes.Add(new JProperty("Message", "You have already an order to deliver it first."));
                }
                else
                {
                    torder = db.TORDERs.FirstOrDefault(o => o.id_order == ofi.id_order);

                    torder.id_delivery_man = ofi.id_delivery_man;
                    torder.order_state     = OrderStates.order_on_the_way;
                    db.SaveChanges();

                    jRes.Add(new JProperty("Error", false));
                    jRes.Add(new JProperty("MessageTitele", "Success"));
                    jRes.Add(new JProperty("Message", "Go deliver it."));
                }
            }
            catch (Exception e)
            {
                jRes.Add(new JProperty("Error", true));
                jRes.Add(new JProperty("MessageTitele", "Failed"));
                jRes.Add(new JProperty("Message", "Failed, try again."));
            }

            return(jRes);
        }
예제 #7
0
        public JObject ConfirmOrder([FromBody] OrderFullInfo ofi)
        {
            // khasni n nsift JWT o n checkeh

            JObject jRes = new JObject();

            try
            {
                FastFoodEntities db = new FastFoodEntities();

                TORDER torder = db.TORDERs.FirstOrDefault(o => o.id_order == ofi.id_order);

                if (torder != null)
                {
                    torder.latitude       = ofi.latitude;
                    torder.longitude      = ofi.longitude;
                    torder.order_state    = OrderStates.order_to_deliver;
                    torder.order_code     = MyHelper.GenerateRandomNumber(111111, 999999).ToString();
                    torder.order_datetime = DateTime.Now;

                    db.SaveChanges();

                    jRes.Add(new JProperty("message", true));
                }
                else
                {
                    jRes.Add(new JProperty("message", false));
                }
            }
            catch (Exception e)
            {
                jRes.Add(new JProperty("message", false));
            }

            return(jRes);
        }