Пример #1
0
        private async void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
        {
            var access   = e.NetworkAccess;
            var profiles = e.ConnectionProfiles;
            var current  = Connectivity.NetworkAccess;

            if (current == NetworkAccess.Internet)
            {
                var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                var value   = RealmDb.All <ManifestModel>().Where(x => x.IsQueue).ToList();

                if (value.Count > 0)
                {
                    foreach (var item in value)
                    {
                        switch ((EventTypeEnum)item.EventTypeId)
                        {
                        case EventTypeEnum.MOVE_MANIFEST:
                            var response = await ApiManager.PostManifest(item, Settings.SessionId);

                            if (response.IsSuccessStatusCode)
                            {
                                AddorUpdateManifestOffline(item, false);
                            }
                            break;

                        case EventTypeEnum.SHIP_MANIFEST:
                            break;

                        case EventTypeEnum.RECEIVE_MANIFEST:
                            break;

                        case EventTypeEnum.FILL_MANIFEST:
                            response = await ApiManager.PostManifest(item, Settings.SessionId);

                            if (response.IsSuccessStatusCode)
                            {
                                AddorUpdateManifestOffline(item, false);
                            }
                            break;

                        case EventTypeEnum.PALLETIZE_MANIFEST:

                            break;

                        case EventTypeEnum.RETURN_MANIFEST:
                            break;

                        case EventTypeEnum.REPAIR_MANIFEST:
                            response = await ApiManager.PostMaintenanceDone(item.MaintenanceModels.MaintenanceDoneRequestModel, Settings.SessionId);

                            if (response.IsSuccessStatusCode)
                            {
                                AddorUpdateManifestOffline(item, false);
                            }
                            break;

                        case EventTypeEnum.COLLECT_MANIFEST:
                            break;

                        case EventTypeEnum.ARCHIVE_MANIFEST:
                            break;
                        }
                    }

                    CheckDraftmaniFests checkDraftmaniFests = new CheckDraftmaniFests
                    {
                        IsCheckDraft = true
                    };
                    MessagingCenter.Send(checkDraftmaniFests, "CheckDraftmaniFests");
                }

                var pallets = RealmDb.All <PalletRequestModel>().Where(x => x.IsQueue).ToList();

                if (pallets.Count > 0)
                {
                    foreach (var pallet in pallets)
                    {
                        var response = await ApiManager.PostPallet(pallet, Settings.SessionId);

                        AddorUpdatePalletsOffline(pallet);
                    }

                    CheckDraftmaniFests checkDraftmaniFests = new CheckDraftmaniFests
                    {
                        IsCheckDraft = true
                    };
                    MessagingCenter.Send(checkDraftmaniFests, "CheckDraftmaniFests");
                }
            }
        }
Пример #2
0
        private async void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
        {
            var access   = e.NetworkAccess;
            var profiles = e.ConnectionProfiles;
            var current  = Connectivity.NetworkAccess;

            if (current == NetworkAccess.Internet)
            {
                var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                var value   = RealmDb.All <ManifestModel>().Where(x => x.IsQueue == true).ToList();

                if (value.Count > 0)
                {
                    IMoveService _moveService = new MoveService();

                    try
                    {
                        foreach (var item in value)
                        {
                            switch ((EventTypeEnum)item.EventTypeId)
                            {
                            case EventTypeEnum.MOVE_MANIFEST:
                                var resultMoveManifest = await _moveService.PostManifestAsync(item, AppSettings.SessionId, Configuration.NewManifest);

                                if (resultMoveManifest.Response.StatusCode == System.Net.HttpStatusCode.OK.ToString())
                                {
                                    AddorUpdateManifestOffline(item, false);
                                }
                                break;

                            case EventTypeEnum.SHIP_MANIFEST:
                                break;

                            case EventTypeEnum.RECEIVE_MANIFEST:
                                break;

                            case EventTypeEnum.FILL_MANIFEST:
                                var resultFillManifest = await _moveService.PostManifestAsync(item, AppSettings.SessionId, Configuration.NewManifest);

                                if (resultFillManifest.Response.StatusCode == System.Net.HttpStatusCode.OK.ToString())
                                {
                                    AddorUpdateManifestOffline(item, false);
                                }
                                break;

                            case EventTypeEnum.PALLETIZE_MANIFEST:

                                break;

                            case EventTypeEnum.RETURN_MANIFEST:
                                break;

                            case EventTypeEnum.REPAIR_MANIFEST:
                                IMaintainService _maintainService     = new MaintainService();
                                KegIDResponse    resultRepairManifest = await _maintainService.PostMaintenanceDoneAsync(item.MaintenanceModels.MaintenanceDoneRequestModel, AppSettings.SessionId, Configuration.PostedMaintenanceDone);

                                if (resultRepairManifest.StatusCode == System.Net.HttpStatusCode.NoContent.ToString())
                                {
                                    AddorUpdateManifestOffline(item, false);
                                }
                                break;

                            case EventTypeEnum.COLLECT_MANIFEST:
                                break;

                            case EventTypeEnum.ARCHIVE_MANIFEST:
                                break;

                            default:
                                break;
                            }
                        }

                        CheckDraftmaniFests checkDraftmaniFests = new CheckDraftmaniFests
                        {
                            IsCheckDraft = true
                        };
                        MessagingCenter.Send(checkDraftmaniFests, "CheckDraftmaniFests");
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                    }
                }

                var pallets = RealmDb.All <PalletRequestModel>().Where(x => x.IsQueue == true).ToList();

                if (pallets.Count > 0)
                {
                    IPalletizeService _palletizeService = new PalletizeService();

                    foreach (var pallet in pallets)
                    {
                        var result = await _palletizeService.PostPalletAsync(pallet, AppSettings.SessionId, Configuration.NewPallet);

                        AddorUpdatePalletsOffline(pallet, false);
                    }

                    CheckDraftmaniFests checkDraftmaniFests = new CheckDraftmaniFests
                    {
                        IsCheckDraft = true
                    };
                    MessagingCenter.Send(checkDraftmaniFests, "CheckDraftmaniFests");
                }
            }
        }