Ejemplo n.º 1
0
        private async Task InsertOrder()
        {
            try
            {
                var order = new TBL_Orders
                {
                    users_id     = user_id,
                    order_date   = Now.ToString("yyyy-MM-dd"),
                    stat         = "0",
                    order_status = "Carted"
                };
                await TBL_Orders.Insert(order);

                //*****************************
                //Retrieving the orderID will continue coz of the logic userid and order status
                //the user Needs to complete the transaction for it to change the status, or cancel it in the server side
                //for the new order of the user

                //var getorderid = (await App.MobileService.GetTable<TBL_Orders>().Where(order_ => order_.users_id == App.user_id && order_.order_status == "Carted").ToListAsync()).FirstOrDefault();
                //if (getorderid != null) App.CurrentOrderId = getorderid.id;
                await XGetOrderID();

                //There's a chance that getting the order id will also be triggered in the menu
                //To identify if there is currently existing order when an internet
                //interruption occured.
                await InsertOrder_Details();
            }
            catch
            {
                progressaddtocart.IsVisible = false;
                await Navigation.PushAsync(new NoInternetPage(), true);
            }
        }
        private async void SwipeItemdeLete_OnInvoked(object sender, EventArgs e)
        {
            var item  = sender as SwipeItem;
            var model = item.BindingContext as TBL_Orders;

            var ans = await DisplayAlert("Delete", "Are you sure to remove this order?", "Yes", "No");

            if (!ans)
            {
                return;
            }
            var orderDetails = new TBL_Orders()
            {
                id = model.id,
            };
            await TBL_Orders.Void(orderDetails);

            var getorders = await MobileService.GetTable <TBL_Orders>().Where(orders => orders.users_id.ToLower().Contains(user_id)).ToListAsync();

            OrdersList.ItemsSource = getorders;
        }
Ejemplo n.º 3
0
        private async void Voiditem_OnClicked(object sender, EventArgs e)
        {
            try
            {
                if (itemcount == 0)
                {
                    await DisplayAlert("Void", "Nothing to void", "OK");
                }
                else
                {
                    var answer = await DisplayAlert("Void", "Do you want to void this order?", "Yes", "No");

                    if (!answer)
                    {
                        return;
                    }
                    progressplaceorder.IsVisible = true;
                    lblorderstate.Text           = "Voiding your order . . .";
                    var orderDetails = new TBL_Orders()
                    {
                        id = CurrentOrderId,
                    };
                    await TBL_Orders.Void(orderDetails);

                    itemid          = null;
                    Selected_ProdId = null;
                    CurrentOrderId  = null;
                    progressplaceorder.IsVisible = true;
                    await DisplayAlert("Order cancelled", "Your order has been cancelled successfully.", "OK");

                    await Navigation.PopToRootAsync(true);
                }
            }
            catch
            {
                progressplaceorder.IsVisible = false;
                await Navigation.PushAsync(new NoInternetPage(), true);
            }
        }
Ejemplo n.º 4
0
        private async void Btncheckout_OnClicked(object sender, EventArgs e)
        {
            //try
            //{
            if (SignedIn)
            {
                if (progressplaceorder.IsVisible)
                {
                    return;
                }
                if (totalpayable.Text != "0")
                {
                    var stat = (await MobileService.GetTable <TBL_MarketStatus>().ToListAsync()).FirstOrDefault();
                    if (stat != null)
                    {
                        MarketStatus = stat.status;
                    }
                    if (MarketStatus == "1")
                    {
                        var answer = await DisplayAlert("Confirm", "Do you want to confirm this order?", "Yes", "No");

                        if (!answer)
                        {
                            return;
                        }
                        progressplaceorder.IsVisible = true;
                        lblorderstate.Text           = "Placing your order . . .";
                        if (Switch.IsToggled)
                        {
                            //Save delivery order
                            var orderDetails = new TBL_Orders()
                            {
                                id            = CurrentOrderId,
                                users_id      = user_id,
                                order_date    = Now.ToString("yyyy-MM-dd"),
                                cart_datetime = Now.ToString("ddd, dd MMM yyyy h:mm tt"),
                                stat          = "1",
                                order_status  = "Ordered",
                                order_choice  = "Delivery",
                                del_address   = order_rcvr_add,
                                notes         = order_notes,
                                del_lat       = order_lat.ToString(CultureInfo.InvariantCulture),
                                del_long      = order_long.ToString(CultureInfo.InvariantCulture),
                                pickup_time   = "-",
                                itms_qty      = itemcount.ToString(),
                                tot_payable   = totaSum.ToString(CultureInfo.InvariantCulture)
                            };
                            await TBL_Orders.Update(orderDetails);
                        }
                        else
                        {
                            //Save Pickup order
                            var orderDetails = new TBL_Orders()
                            {
                                id            = CurrentOrderId,
                                users_id      = user_id,
                                order_date    = Now.ToString("yyyy-MM-dd"),
                                cart_datetime = Now.ToString("ddd, dd MMM yyyy h:mm tt"),
                                stat          = "1",
                                order_status  = "Ordered",
                                order_choice  = "Pickup",
                                del_address   = "-",
                                notes         = "-",
                                del_lat       = "-",
                                del_long      = "-",
                                pickup_time   = pickupTime.Time.ToString(),
                                itms_qty      = itemcount.ToString(),
                                tot_payable   = totaSum.ToString(CultureInfo.InvariantCulture)
                            };
                            await TBL_Orders.Update(orderDetails);
                        }

                        checkout = true;
                        progressplaceorder.IsVisible = false;
                        await Navigation.PushModalAsync(new ConfirmationPage(), true);

                        await Navigation.PopToRootAsync(true);

                        refresh = false;
                    }
                    else
                    {
                        progressplaceorder.IsVisible = false;
                        await Navigation.PushAsync(new MarketClosePage(), true);
                    }
                }
                else
                {
                    progressplaceorder.IsVisible = false;
                    await DisplayAlert("Cart empty", "Your cart is empty!", "OK");
                }
            }
            else
            {
                await DisplayAlert("Login", "Please login or create an account first before doing any transaction in the market! It's FREE!", "OK");

                await Navigation.PushAsync(new LoginPage());
            }
            //}
            //catch
            //{
            //    progressplaceorder.IsVisible = false;
            //    await Navigation.PushAsync(new NoInternetPage(), true);
            //}
        }
Ejemplo n.º 5
0
        private async void Deleteitem_OnClicked(object sender, EventArgs e)
        {
            try
            {
                if (itemcount == 1)
                {
                    if (itemid != null)
                    {
                        var answer = await DisplayAlert("Void", "There's only one item remaining on the list. Do you want to void this transaction?", "Yes", "No");

                        if (!answer)
                        {
                            return;
                        }
                        progressplaceorder.IsVisible = true;
                        lblorderstate.Text           = "Voiding your order . . .";
                        var orderDetails = new TBL_Orders()
                        {
                            id = CurrentOrderId,
                        };
                        await TBL_Orders.Void(orderDetails);

                        itemid          = null;
                        Selected_ProdId = null;
                        CurrentOrderId  = null;
                        progressplaceorder.IsVisible = false;
                        await DisplayAlert("Order cancelled", "You have successfully cancelled your order.", "OK");

                        await Navigation.PopToRootAsync(true);
                    }
                    else
                    {
                        await DisplayAlert("No item selected", "Please select an item on your cart to remove!", "OK");
                    }
                }
                else if (itemcount == 0)
                {
                    await DisplayAlert("Remove", "Nothing to remove", "OK");
                }
                else
                {
                    //ordercollection.
                    if (itemid != null)
                    {
                        var confirm = await DisplayAlert("Remove", "Do you really want to remove this item on your cart?", "Yes", "No");

                        if (!confirm)
                        {
                            return;
                        }
                        progressplaceorder.IsVisible = true;
                        lblorderstate.Text           = "Removing item . . .";
                        var order_details = new TBL_Order_Details
                        {
                            id = itemid,
                        };
                        await TBL_Order_Details.Delete(order_details);

                        itemid          = null;
                        Selected_ProdId = null;
                        progressplaceorder.IsVisible = false;
                        OnAppearing();
                    }
                    else
                    {
                        await DisplayAlert("No item selected", "Please select an item on your cart to remove!", "OK");
                    }
                }
            }
            catch
            {
                progressplaceorder.IsVisible = false;
                await Navigation.PushAsync(new NoInternetPage(), true);
            }
        }