Пример #1
0
        public async Task <PalletResponseModel> PostPalletAsync(PalletRequestModel inModel, string sessionId, string RequestType)
        {
            PalletResponseModel outModel = null;

            try
            {
                string url     = string.Format(Configuration.PostPalletUrl, sessionId);
                string content = JsonConvert.SerializeObject(inModel);
                var    value   = await App.kegIDClient.ExecuteServiceCall <KegIDResponse>(url, HttpMethodType.Send, content, RequestType : RequestType);

                outModel = value.Response != null?App.kegIDClient.DeserializeObject <PalletResponseModel>(value.Response) : new PalletResponseModel();

                if (outModel != null)
                {
                    outModel.Response = new KegIDResponse
                    {
                        StatusCode = value.StatusCode
                    };
                }
            }
            catch (System.Exception)
            {
            }
            return(outModel);
        }
Пример #2
0
        public async Task <HttpResponseMessage> PostPallet(PalletRequestModel model, string sessionId)
        {
            var cts  = new CancellationTokenSource();
            var task = RemoteRequestAsync(_palletApi.GetApi(Priority.UserInitiated).PostPallet(model, sessionId, cts.Token));

            runningTasks.Add(task.Id, cts);

            return(await task);
        }
Пример #3
0
        private void AddorUpdatePalletsOffline(PalletRequestModel palletRequestModel)
        {
            string palletId = palletRequestModel.PalletId;
            var    isNew    = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).Find <PalletRequestModel>(palletId);

            if (isNew != null)
            {
                var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                RealmDb.Write(() =>
                {
                    palletRequestModel.IsQueue = false;
                    RealmDb.Add(palletRequestModel, update: true);
                });
            }
        }
Пример #4
0
        private void AddorUpdatePalletsOffline(PalletRequestModel palletRequestModel, bool queue)
        {
            string palletId = palletRequestModel.PalletId;
            var    isNew    = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).Find <PalletRequestModel>(palletId);

            if (isNew != null)
            {
                try
                {
                    var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                    RealmDb.Write(() =>
                    {
                        palletRequestModel.IsQueue = false;
                        RealmDb.Add(palletRequestModel, update: true);
                    });
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                }
            }
        }
        private async void SubmitCommandRecieverAsync()
        {
            List <PalletItem>  palletItems        = new List <PalletItem>();
            PalletItem         pallet             = null;
            PalletRequestModel palletRequestModel = null;
            var barCodeCollection = ConstantManager.Barcodes;
            PalletResponseModel palletResponseModel = null;

            try
            {
                Loader.StartLoading();

                foreach (var item in barCodeCollection)
                {
                    pallet = new PalletItem
                    {
                        Barcode  = item.Barcode,
                        ScanDate = DateTimeOffset.Now,
                    };

                    foreach (var tag in ConstantManager.Tags)
                    {
                        pallet.Tags.Add(tag);
                    }
                    palletItems.Add(pallet);
                }

                palletRequestModel = new PalletRequestModel
                {
                    Barcode           = ManifestId.Split('-').LastOrDefault(),
                    BuildDate         = DateTimeOffset.Now,
                    OwnerId           = AppSettings.CompanyId,
                    PalletId          = _uuidManager.GetUuId(),
                    ReferenceKey      = "",
                    StockLocation     = StockLocation.PartnerId,
                    StockLocationId   = StockLocation.PartnerId,
                    StockLocationName = StockLocation.FullName,
                };

                foreach (var item in palletItems)
                {
                    palletRequestModel.PalletItems.Add(item);
                }
                foreach (var item in ConstantManager.Tags)
                {
                    palletRequestModel.Tags.Add(item);
                }

                palletResponseModel = new PalletResponseModel
                {
                    Barcode       = ManifestId.Split('-').LastOrDefault(),
                    BuildDate     = DateTimeOffset.Now,
                    Container     = null,
                    CreatedDate   = DateTimeOffset.Now,
                    DataInfo      = new Model.PrintPDF.DateInfo {
                    },
                    Location      = new Owner {
                    },
                    Owner         = new Owner {
                    },
                    PalletId      = palletRequestModel.PalletId,
                    PalletItems   = palletItems,
                    ReferenceKey  = string.Empty,
                    StockLocation = new Owner {
                        FullName = StockLocation.FullName, PartnerTypeName = StockLocation.PartnerTypeName
                    },
                    TargetLocation = new Model.PrintPDF.TargetLocation {
                    },
                    Tags           = ConstantManager.Tags,
                };

                var current = Connectivity.NetworkAccess;
                if (current == NetworkAccess.Internet)
                {
                    var value = await _palletizeService.PostPalletAsync(palletRequestModel, AppSettings.SessionId, Configuration.NewPallet);
                }
                else
                {
                    try
                    {
                        palletRequestModel.IsQueue = true;
                        var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                        RealmDb.Write(() =>
                        {
                            RealmDb.Add(palletRequestModel, update: true);
                        });
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                    }
                }

                PrintPallet();

                await _navigationService.NavigateAsync("PalletizeDetailView", new NavigationParameters
                {
                    { "LoadInfo", palletResponseModel }, { "Contents", ConstantManager.Contents }
                }, animated : false);
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
            finally
            {
                Loader.StopLoading();
                palletItems        = null;
                pallet             = null;
                barCodeCollection  = null;
                palletRequestModel = null;
                Cleanup();
            }
        }