コード例 #1
0
        public bool UnloadContainer(UnloadContainerModel 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);
                    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
ファイル: UserSession.cs プロジェクト: dpoarch/starkargo
        private static void SendUnLoadContainerPending()
        {
            ITransactionService _transactionService = new TransactionService();

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

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

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

                foreach (var d in data)
                {
                    ModelOrder modelOrder = new ModelOrder
                    {
                        GUID        = d.GUID,
                        LotNo       = d.LotNo,
                        LotNoStr    = d.LotNoStr,
                        OrderNumber = d.OrderNumber,
                        PackageQty  = d.PackageQty,
                        UnloadedTS  = d.LoadedTS,
                        Status      = d.Status,
                    };

                    UnloadContainerModel model = new UnloadContainerModel
                    {
                        ModelOrder = modelOrder,
                        UpdateTS   = true
                    };


                    // check if item exists in database and item has RECEIVED status
                    // if yes : process
                    // if no  : delete from local table
                    // check connection
                    try
                    {
                        // call api
                        var tempModel = _transactionService.CheckPackageOrder(model.ModelOrder.OrderNumber);

                        if (tempModel == null)
                        {
                            InvalidPackageCount++;
                            db.Delete(d);
                            continue;
                        }
                    }
                    catch (Exception ex)
                    {
                        //Android.Widget.Toast.MakeText(this, "Error!", Android.Widget.ToastLength.Short).Show();
                    }

                    var result = _transactionService.UnloadContainer(model);

                    if (result)
                    {
                        db.Delete(d);
                        TotalSendCount++;
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
コード例 #3
0
ファイル: PendingActivity.cs プロジェクト: dpoarch/starkargo
        private void SendUnLoadContainerPending()
        {
            try
            {
                string dpPath = UserSession.DB_PATH;
                var    db     = new SQLiteConnection(dpPath);

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

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

                foreach (var d in data)
                {
                    ModelOrder modelOrder = new ModelOrder
                    {
                        GUID        = d.GUID,
                        LotNo       = d.LotNo,
                        LotNoStr    = d.LotNoStr,
                        OrderNumber = d.OrderNumber,
                        PackageQty  = d.PackageQty,
                        UnloadedTS  = d.LoadedTS,
                        Status      = d.Status,
                    };

                    UnloadContainerModel model = new UnloadContainerModel
                    {
                        ModelOrder = modelOrder,
                        UpdateTS   = true
                    };

                    if (GetConnectionStatus())
                    {
                        // check if item exists in database and item has RECEIVED status
                        // if yes : process
                        // if no  : delete from local table
                        // check connection
                        try
                        {
                            // call api
                            var tempModel = _transactionService.CheckPackageOrder(model.ModelOrder.OrderNumber);

                            if (tempModel == null)
                            {
                                InvalidPackageCount++;
                                db.Delete(d);
                                continue;
                            }
                        }
                        catch (Exception ex)
                        {
                            //Android.Widget.Toast.MakeText(this, "Error!", Android.Widget.ToastLength.Short).Show();
                        }

                        var result = _transactionService.UnloadContainer(model);

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

                UnLoadContainerCount();

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

                if (InvalidPackageCount > 0)
                {
                    Android.Widget.Toast.MakeText(this, string.Format("{0} Invalid Package(s)!", InvalidPackageCount), 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 if (TotalSendCount > 0)
                {
                    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;
            }
        }