Пример #1
0
        public bool ReceivePackage(ReceivePackageModel model)
        {
            bool isResult = false;

            //  string URL = string.Format("{0}{1}/?updateTS={2}", Utils.BASE_PATH, Utils.POST_ORDERS, model.UpdateTS);
            string URL = string.Format("{0}{1}", Utils.BASE_PATH, Utils.POST_ORDERS);

            using (var client = new WebClient())
            {
                try
                {
                    client.Headers.Add("Token", Utils.TOKEN);
                    client.Headers[HttpRequestHeader.ContentType] = "application/json";

                    var           jsonObj  = JsonConvert.SerializeObject(model.ModelOrder);
                    var           response = client.UploadString(URL, jsonObj);
                    ResponseModel res      = JsonConvert.DeserializeObject <ResponseModel>(response);

                    if (String.IsNullOrEmpty(res.Message))
                    {
                        isResult = true;
                    }
                }
                catch (Exception ex)
                {
                    throw;
                }
            }

            return(isResult);
        }
Пример #2
0
        void AddToLocalReceiveTable(ReceivePackageModel model)
        {
            try
            {
                string dpPath = UserSession.DB_PATH;
                var    db     = new SQLiteConnection(dpPath);

                // Create Table
                db.CreateTable <ReceivedOrderTable>();

                // insert new item
                ReceivedOrderTable tbl = new ReceivedOrderTable
                {
                    OrderNumber = model.ModelOrder.OrderNumber,
                    Status      = model.ModelOrder.Status,
                    Agent       = model.ModelOrder.Agent,
                    AgentStr    = model.ModelOrder.AgentStr,
                    PackageQty  = model.ModelOrder.PackageQty,
                    ReceivedTS  = model.ModelOrder.ReceivedTS
                };

                db.Insert(tbl);
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();
            }
        }
Пример #3
0
        private static void SendReceivedPending()
        {
            ITransactionService _transactionService = new TransactionService();

            try
            {
                string dpPath = UserSession.DB_PATH;
                var    db     = new SQLiteConnection(dpPath);

                var data = db.Table <ReceivedOrderTable>(); //Call Table

                int TotalCount     = data.Count();
                var TotalSendCount = 0;

                foreach (var d in data)
                {
                    ModelOrder modelOrder = new ModelOrder
                    {
                        Agent       = d.Agent,
                        AgentStr    = d.AgentStr,
                        OrderNumber = d.OrderNumber,
                        PackageQty  = d.PackageQty,
                        ReceivedTS  = d.ReceivedTS,
                        Status      = d.Status
                    };

                    ReceivePackageModel model = new ReceivePackageModel
                    {
                        ModelOrder = modelOrder,
                        UpdateTS   = false
                    };


                    var result = _transactionService.ReceivePackage(model);

                    if (result)
                    {
                        db.Delete(d);
                        TotalSendCount++;
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Пример #4
0
        void showCompleteDialog()
        {
            //Inflate layout
            View        view    = LayoutInflater.Inflate(Resource.Layout.ReceiveOKDialog, null);
            AlertDialog builder = new AlertDialog.Builder(this).Create();

            builder.SetView(view);
            builder.SetCanceledOnTouchOutside(false);

            Button buttonYesAction = view.FindViewById <Button>(Resource.Id.btnYes);
            Button buttonNoAction  = view.FindViewById <Button>(Resource.Id.btnNo);


            buttonYesAction.Click += delegate
            {
                try
                {
                    //send packages
                    foreach (var item in tableItems)
                    {
                        ModelOrder modelOrder = new ModelOrder
                        {
                            Agent       = SELECTED_AGENT,
                            AgentStr    = SELECTED_AGENTSTR,
                            OrderNumber = item.Heading,
                            PackageQty  = item.PackageQty,
                            ReceivedTS  = DateTime.UtcNow,
                            Status      = (int)StatusTypeEnums.RECEIVED
                        };

                        ReceivePackageModel model = new ReceivePackageModel
                        {
                            ModelOrder = modelOrder,
                            UpdateTS   = false
                        };

                        if (GetConnectionStatus())
                        {
                            var result = _transactionService.ReceivePackage(model);

                            if (!result)
                            {
                                // TBD: If api fails to process a package
                                AddToLocalReceiveTable(model);
                                continue;
                            }
                        }
                        else
                        {
                            // save to local db
                            AddToLocalReceiveTable(model);
                        }
                    }

                    UserSession.SendingAllPendingTransactions();

                    // clear all info
                    ClearScreen();

                    // Reset ListView
                    InitializeListView();

                    // Display Dialog
                    Android.Widget.Toast.MakeText(this, "Transaction Completed!", Android.Widget.ToastLength.Short).Show();

                    builder.Dismiss();

                    Finish();
                }
                catch
                {
                    Android.Widget.Toast.MakeText(this, "Error : Cannot Process Transaction!", Android.Widget.ToastLength.Short).Show();
                }
            };

            buttonNoAction.Click += delegate
            {
                builder.Dismiss();
            };

            builder.Show();
        }
Пример #5
0
        private void SendReceivedPending()
        {
            try
            {
                string dpPath = UserSession.DB_PATH;
                var    db     = new SQLiteConnection(dpPath);

                var data = db.Table <ReceivedOrderTable>(); //Call Table

                int TotalCount     = data.Count();
                var TotalSendCount = 0;

                foreach (var d in data)
                {
                    ModelOrder modelOrder = new ModelOrder
                    {
                        Agent       = d.Agent,
                        AgentStr    = d.AgentStr,
                        OrderNumber = d.OrderNumber,
                        PackageQty  = d.PackageQty,
                        ReceivedTS  = d.ReceivedTS,
                        Status      = d.Status
                    };

                    ReceivePackageModel model = new ReceivePackageModel
                    {
                        ModelOrder = modelOrder,
                        UpdateTS   = false
                    };

                    if (GetConnectionStatus())
                    {
                        var result = _transactionService.ReceivePackage(model);

                        if (result)
                        {
                            db.Delete(d);
                            TotalSendCount++;
                        }
                    }
                }

                // Update Count for LOAD Container
                ReceivedCount();

                if (TotalSendCount == 0)
                {
                    Android.Widget.Toast.MakeText(this, "No Packages were sent!", Android.Widget.ToastLength.Short).Show();
                    return;
                }


                if (TotalCount == TotalSendCount)
                {
                    Android.Widget.Toast.MakeText(this, "Successful sending of all packages!", Android.Widget.ToastLength.Short).Show();
                }
                else
                {
                    Android.Widget.Toast.MakeText(this, "Only " + TotalSendCount + " Package(s) were Successfully Sent!", Android.Widget.ToastLength.Short).Show();
                }
            }
            catch (Exception ex)
            {
                Android.Widget.Toast.MakeText(this, "Error !", Android.Widget.ToastLength.Short).Show();
                // throw;
            }
        }