private void AssignMaintenanceViewValue(INavigationParameters parameters)
        {
            try
            {
                BarcodeCollection.Clear();
                Notes = parameters.GetValue <string>("Notes");
                ConstantManager.Partner = parameters.GetValue <PartnerModel>("PartnerModel");
                var value = parameters.GetValue <ManifestModel>("ManifestModel");

                if (value != null)
                {
                    ManifestId = value.ManifestId;
                    foreach (var item in value.MaintenanceModels.MaintenanceDoneRequestModel.Kegs)
                    {
                        BarcodeCollection.Add(new BarcodeModel {
                            Barcode = item.Barcode
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
 private void OnDelete(IDialogResult result)
 {
     if (result.Result == ButtonResult.Yes)
     {
         BarcodeCollection.Remove(SelectedItem);
     }
 }
        internal async Task AssignValidatedValueAsync(Partner model)
        {
            try
            {
                var unusedPerner = BarcodeCollection.Where(x => x.Kegs.Partners != model).Select(x => x.Kegs.Partners.FirstOrDefault()).FirstOrDefault();
                if (model.Kegs.FirstOrDefault().MaintenanceItems?.Count > 0)
                {
                    BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).FirstOrDefault().Icon = _getIconByPlatform.GetIcon(Maintenace);
                }
                else
                {
                    BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).FirstOrDefault().Icon = _getIconByPlatform.GetIcon(ValidationOK);
                }

                await _navigationService.GoBackAsync(animated : false);

                foreach (var item in BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode))
                {
                    item.Kegs.Partners.Remove(unusedPerner);
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
 private async void SubmitCommandRecieverAsync()
 {
     try
     {
         var current = Connectivity.NetworkAccess;
         if (current == NetworkAccess.Internet)
         {
             var result = BarcodeCollection.Where(x => x.Kegs.Partners.Count > 1).ToList();
             if (result.Count > 0)
                 await NavigateToValidatePartner(result.ToList());
             else
             {
                 await NavigateToFillScanReview();
             }
         }
         else
         {
             await NavigateToFillScanReview();
         }
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
        public async override void OnNavigatingTo(INavigationParameters parameters)
        {
            switch (parameters.Keys.FirstOrDefault())
            {
            case "Partner":
                await AssignValidatedValueAsync(parameters.GetValue <Partner>("Partner"));

                break;

            case "AddTags":
                AssignAddTagsValue(parameters);
                break;

            case "models":
                AssignBarcodeScannerValue(parameters.GetValue <IList <BarcodeModel> >("models"));
                break;

            case "AssignSizesValue":
                AssignSizesValue(ConstantManager.VerifiedBarcodes);
                break;

            case "Barcode":
                BarcodeCollection.Add(new BarcodeModel {
                    Barcode = parameters.GetValue <string>("Barcode"), Icon = ValidationOK
                });
                break;

            default:
                break;
            }
        }
        private void HandleReceivedMessages()
        {
            MessagingCenter.Subscribe <MaintainScanMessage>(this, "MaintainScanMessage", message =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    var value = message;
                    if (value != null)
                    {
                        using (var db = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).BeginWrite())
                        {
                            var oldBarcode       = BarcodeCollection.Where(x => x.Barcode == value.Barcodes.Barcode).FirstOrDefault();
                            oldBarcode.Pallets   = value.Barcodes.Pallets;
                            oldBarcode.Kegs      = value.Barcodes.Kegs;
                            oldBarcode.Icon      = value?.Barcodes?.Kegs?.Partners.Count > 1 ? _getIconByPlatform.GetIcon("validationquestion.png") : value?.Barcodes?.Kegs?.Partners?.Count == 0 ? _getIconByPlatform.GetIcon("validationerror.png") : _getIconByPlatform.GetIcon("validationok.png");
                            oldBarcode.IsScanned = true;
                            db.Commit();
                        };
                    }
                });
            });

            MessagingCenter.Subscribe <CancelledMessage>(this, "CancelledMessage", message =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    var value = "Cancelled";
                    if (value == "Cancelled")
                    {
                    }
                });
            });
        }
        private async Task NavigateNextPage()
        {
            try
            {
                ConstantManager.Barcodes = BarcodeCollection.ToList();
                if (BarcodeCollection.Any(x => x?.Kegs?.Partners?.Count > 1))
                    await NavigateToValidatePartner(BarcodeCollection.Where(x => x?.Kegs?.Partners?.Count > 1).ToList());
                else
                {
                    try
                    {
                        PrintPallet();
                    }
                    catch (Exception)
                    {
                    }

                    await _navigationService.GoBackAsync(new NavigationParameters
                                    {
                                        { "AssignValueToAddPalletAsync", BatchId }, { "BarcodesCollection", BarcodeCollection },
                                    }, animated: false);
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        internal void AssignBarcodeScannerValue(IList <BarcodeModel> models)
        {
            if (models.Count > 0)
            {
                try
                {
                    if (ConstantManager.Tags != null)
                    {
                        ConstantManager.Tags.Clear();
                    }
                    else
                    {
                        ConstantManager.Tags = new List <Tag>();
                    }

                    foreach (var item in models)
                    {
                        BarcodeCollection.Add(item);
                        TagsStr = item.TagsStr;
                    }
                    foreach (var tags in BarcodeCollection.LastOrDefault().Tags)
                    {
                        ConstantManager.Tags.Add(tags);
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                }
            }
        }
        private void Cleanup()
        {
            BarcodeCollection.Clear();
            MaintainDTToMaintMsg message = new MaintainDTToMaintMsg
            {
                CleanUp = true
            };

            MessagingCenter.Send(message, "MaintainDTToMaintMsg");
        }
        private void ImportFromFile()
        {
            if (_fileDialogService.OpenFileDialog())
            {
                const string  noError     = "Нет ошибки";
                List <string> barcodeList = _textFileService.GetFromFile(_fileDialogService.FilePath) as List <string>;
                List <Tuple <string, string> > barcodeToImportResult = new List <Tuple <string, string> >();
                int errorAmount = barcodeList.Count;

                foreach (var bc in barcodeList)
                {
                    string error = GetValidationError(bc);

                    if (string.IsNullOrEmpty(error))
                    {
                        error = noError;
                        errorAmount--;
                    }

                    barcodeToImportResult.Add(new Tuple <string, string>(bc, error));
                }

                if (errorAmount > 0 && errorAmount < barcodeList.Count && barcodeToImportResult.Count > 0)
                {
                    string msg = $"Импорт был совершен не полностью. Условиям удовлетворяют {barcodeList.Count-errorAmount} из {barcodeList.Count} штрихкодов. Добавить их?";
                    _dialogService.ShowDialog("CustomMessageBoxView", new DialogParameters($"message={msg}&systemIcon=Warning&dialogButtons=YesNo&title=Результат"), r =>
                    {
                        if (r.Result == ButtonResult.Yes)
                        {
                            foreach (var bc in barcodeToImportResult)
                            {
                                if (bc.Item2.Equals(noError))
                                {
                                    BarcodeCollection.Add(bc.Item1);
                                }
                            }
                        }
                    });
                }
                else if (errorAmount == 0 && barcodeToImportResult.Count > 0)
                {
                    foreach (var bc in barcodeToImportResult)
                    {
                        BarcodeCollection.Add(bc.Item1);
                    }
                    string msg = $"Импорт был завершен успешно! Добавлены все ({barcodeList.Count}) штрихкоды.";
                    _dialogService.ShowDialog("CustomMessageBoxView", new DialogParameters($"message={msg}&systemIcon=Asterisk&dialogButtons=Ok&title=Результат"), null);
                }
                else
                {
                    string msg = $"Импорт был завершен с ошибкой. Не удалось добавить штрихкоды ({barcodeList.Count}) из файла.";
                    _dialogService.ShowDialog("CustomMessageBoxView", new DialogParameters($"message={msg}&systemIcon=Error&dialogButtons=Ok&title=Результат"), null);
                }
            }
        }
        private string GetValidationError(string barcode)
        {
            barcodeLogic.ValidateBarcode(barcode, out string error, true);

            if (BarcodeCollection.Contains(barcode))
            {
                error = "Данный штрихкод уже добавлен в список";
            }

            return(error);
        }
 internal void AssignBarcodeScannerValue(IList<BarcodeModel> barcodes)
 {
     try
     {
         foreach (var item in barcodes)
             BarcodeCollection.Add(item);
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
 public void Cleanup()
 {
     try
     {
         BarcodeCollection.Clear();
         Tags = null;
         TagsStr = string.Empty;
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
        private void BarcodeManualCommandRecieverAsync()
        {
            try
            {
                bool isNew = BarcodeCollection.ToList().Any(x => x.Barcode == ManaulBarcode);

                BarcodeModel model = null;
                    if(!isNew)
                {
                    try
                    {
                        model = new BarcodeModel
                        {
                            Barcode = ManaulBarcode,
                            TagsStr = TagsStr,
                            Icon = Cloud,
                            Page = ViewTypeEnum.FillScanView.ToString(),
                            Contents = Tags.Count > 2 ? Tags?[2]?.Name??string.Empty : string.Empty
                        };
                        if (ConstantManager.Tags != null)
                        {
                            foreach (var item in ConstantManager.Tags)
                                model.Tags.Add(item);
                        }
                        BarcodeCollection.Add(model);
                    }
                   
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                    }

                    var current = Connectivity.NetworkAccess;
                    if (current == NetworkAccess.Internet)
                    {
                        var message = new StartLongRunningTaskMessage
                        {
                            Barcode = new List<string>() { ManaulBarcode },
                            PageName = ViewTypeEnum.FillScanView.ToString()
                        };
                        MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                    }

                    ManaulBarcode = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
 public void Cleanup()
 {
     try
     {
         BarcodeCollection.Clear();
         TagsStr       = default;
         SelectedBrand = null;
         HasDone       = false;
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
        private void AddBarcode(string barcode)
        {
            string error = GetValidationError(barcode);

            if (string.IsNullOrWhiteSpace(error))
            {
                BarcodeCollection.Add(barcode);
                InputFieldText = string.Empty;
            }
            else
            {
                _dialogService.ShowDialog("CustomMessageBoxView", new DialogParameters($"message={error}&systemIcon=Error&dialogButtons=Ok&title=Ошибка"), null);
            }
        }
        private void BarcodeManualCommandRecieverAsync()
        {
            try
            {
                var isNew = BarcodeCollection.ToList().Any(x => x?.Kegs?.Partners?.FirstOrDefault()?.Kegs?.FirstOrDefault()?.Barcode == ManaulBarcode);
                if (!isNew)
                {
                    UpdateTagsStr();
                    BarcodeModel model = new BarcodeModel()
                    {
                        Barcode  = ManaulBarcode,
                        TagsStr  = TagsStr,
                        Icon     = _getIconByPlatform.GetIcon(Cloud),
                        Page     = ViewTypeEnum.ScanKegsView.ToString(),
                        Contents = SelectedBrand?.BrandName
                    };

                    if (ConstantManager.Tags != null)
                    {
                        foreach (var item in ConstantManager.Tags)
                        {
                            model.Tags.Add(item);
                        }
                    }

                    BarcodeCollection.Add(model);

                    var current = Connectivity.NetworkAccess;
                    if (current == NetworkAccess.Internet)
                    {
                        var message = new StartLongRunningTaskMessage
                        {
                            Barcode = new List <string>()
                            {
                                ManaulBarcode
                            },
                            PageName = ViewTypeEnum.ScanKegsView.ToString()
                        };
                        MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                    }

                    ManaulBarcode = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        public override void OnDialogOpened(IDialogParameters parameters)
        {
            ObservableCollection <string> recievedCollection = parameters.GetValue <ObservableCollection <string> >("barcodeCollection");

            if (recievedCollection == null)
            {
                return;
            }

            BarcodeCollection.Clear();
            foreach (var bc in recievedCollection)
            {
                BarcodeCollection.Add(bc);
            }
        }
        private void ConfirmEdit(string inputString)
        {
            string error = GetValidationError(inputString);

            if (string.IsNullOrWhiteSpace(error))
            {
                BarcodeCollection[BarcodeCollection.IndexOf(SelectedItem)] = inputString;
                InputFieldText = string.Empty;
                IsEditMode     = false;
            }
            else
            {
                _dialogService.ShowDialog("CustomMessageBoxView", new DialogParameters($"message={error}&systemIcon=Error&dialogButtons=Ok&title=Ошибка"), null);
            }
        }
        private void HandleReceivedMessages()
        {
            MessagingCenter.Subscribe<FillScanMessage>(this, "FillScanMessage", message =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    if (message != null)
                    {
                        using (var db = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).BeginWrite())
                        {
                            try
                            {
                                var oldBarcode = BarcodeCollection.Where(x => x.Barcode == message.Barcodes.Barcode).FirstOrDefault();
                                oldBarcode.Pallets = message?.Barcodes?.Pallets;
                                oldBarcode.Kegs = message?.Barcodes?.Kegs;
                                oldBarcode.Icon = message?.Barcodes?.Kegs?.Partners?.Count > 1 ? _getIconByPlatform.GetIcon("validationquestion.png") : message?.Barcodes?.Kegs?.Partners?.Count == 0 ? _getIconByPlatform.GetIcon("validationerror.png") : _getIconByPlatform.GetIcon("validationok.png");
                                oldBarcode.IsScanned = true;
                                db.Commit();
                            }
                            catch (Exception ex)
                            {
                                Crashes.TrackError(ex);
                            }
                        };
                    }
                });
            });

            MessagingCenter.Subscribe<AddPalletToFillScanMsg>(this, "AddPalletToFillScanMsg", message =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    Cleanup();
                });
            });

            MessagingCenter.Subscribe<CancelledMessage>(this, "CancelledMessage", message =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    var value = "Cancelled";
                    if (value == "Cancelled")
                    {

                    }
                });
            });
        }
 internal void AssignInitialValue(string _barcode)
 {
     try
     {
         if (!string.IsNullOrEmpty(ConstantManager.Barcode))
         {
             BarcodeCollection.Add(new BarcodeModel {
                 Barcode = ConstantManager.Barcode
             });
         }
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
        void CloseBarcodeDialogCallback(IDialogResult result)
        {
            ObservableCollection <string> recievedCollection = result.Parameters.GetValue <ObservableCollection <string> >("barcodeCollection");

            if (recievedCollection == null)
            {
                return;
            }

            BarcodeCollection.Clear();
            foreach (var bc in recievedCollection)
            {
                BarcodeCollection.Add(bc);
            }

            RaisePropertyChanged("BarcodesInCollection");
        }
 internal void AssignSizesValue(List <BarcodeModel> verifiedBarcodes)
 {
     try
     {
         using (var db = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).BeginWrite())
         {
             foreach (var item in verifiedBarcodes)
             {
                 BarcodeCollection.Where(x => x.Barcode == item.Barcode).FirstOrDefault().HasMaintenaceVerified = item.HasMaintenaceVerified;
             }
             db.Commit();
         }
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
     }
 }
        public void GenerateManifestIdAsync(PalletModel palletModel)
        {
            try
            {
                DateTimeOffset now = DateTimeOffset.Now;
                string barCode;
                long prefix = 0;
                var lastCharOfYear = now.Year.ToString().ToCharArray().LastOrDefault().ToString();
                var dayOfYear = now.DayOfYear;
                var secondsInDayTillNow = SecondsInDayTillNow();
                var millisecond = now.Millisecond;

                if (IsPalletze)
                {
                    if (palletModel != null)
                    {
                        BatchId = palletModel.BatchId;
                        Title = "Pallet #" + BatchId;
                        foreach (var item in palletModel.Barcode)
                        {
                            BarcodeCollection.Add(item);
                            TagsStr = item.TagsStr ?? string.Empty;
                        }
                    }
                    else
                    {
                        BarcodeCollection.Clear();

                        barCode = GenerateBatchId(ref prefix, lastCharOfYear, dayOfYear, secondsInDayTillNow, millisecond);
                    }
                }
                else
                {
                    barCode = GenerateBatchId(ref prefix, lastCharOfYear, dayOfYear, secondsInDayTillNow, millisecond);
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        internal void AssignAddTagsValue(INavigationParameters parameters)
        {
            try
            {
                if (parameters.ContainsKey("Barcode"))
                {
                    try
                    {
                        using (var db = Realm.GetInstance(RealmDbManager.GetRealmDbConfig()).BeginWrite())
                        {
                            string barcode    = parameters.GetValue <string>("Barcode");
                            var    oldBarcode = BarcodeCollection.Where(x => x.Barcode == barcode).FirstOrDefault();

                            for (int i = oldBarcode.Tags.Count - 1; i >= 0; i--)
                            {
                                oldBarcode.Tags.RemoveAt(i);
                            }

                            foreach (var item in ConstantManager.Tags)
                            {
                                oldBarcode.Tags.Add(item);
                            }
                            oldBarcode.TagsStr = ConstantManager.TagsStr;
                            db.Commit();
                        }
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                    }
                }

                ConstantManager.IsFromScanned = false;
                TagsStr = ConstantManager.TagsStr;
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        private async Task NavigateNextPage()
        {
            try
            {
                ConstantManager.Barcodes     = BarcodeCollection.ToList();
                ConstantManager.Contents     = SelectedBrand?.BrandName;
                ConstantManager.ContentsCode = SelectedBrand?.BrandCode;
                if (BarcodeCollection.Any(x => x?.Kegs?.Partners?.Count > 1))
                {
                    await NavigateToValidatePartner(BarcodeCollection.Where(x => x?.Kegs?.Partners?.Count > 1).ToList());
                }
                else
                {
                    await _navigationService.GoBackAsync(animated : false);

                    Cleanup();
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        private void BarcodeManualCommandRecieverAsync()
        {
            try
            {
                var isNew = BarcodeCollection.ToList().Any(x => x.Barcode == ManaulBarcode);
                if (!isNew)
                {
                    BarcodeModel model = new BarcodeModel
                    {
                        Barcode = ManaulBarcode,
                        TagsStr = string.Empty,
                        Icon    = Cloud
                    };

                    BarcodeCollection.Add(model);
                    var current = Connectivity.NetworkAccess;
                    if (current == NetworkAccess.Internet)
                    {
                        var message = new StartLongRunningTaskMessage
                        {
                            Barcode = new List <string>()
                            {
                                ManaulBarcode
                            },
                            PageName = ViewTypeEnum.MaintainScanView.ToString()
                        };
                        MessagingCenter.Send(message, "StartLongRunningTaskMessage");
                    }

                    ManaulBarcode = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        internal void AssignInitValue(INavigationParameters parameters)
        {
            try
            {
                BatchModel = parameters.GetValue<NewBatch>("NewBatchModel");
                SizeButtonTitle = parameters.GetValue<string>("SizeButtonTitle");
                PartnerModel = parameters.GetValue<PartnerModel>("PartnerModel");
                IsPalletze = parameters.GetValue<bool>("IsPalletze");
                Title = parameters.GetValue<string>("Title");
                ManifestId = parameters.GetValue<string>("ManifestId");
                IList<BarcodeModel> collection = parameters.GetValue<IList<BarcodeModel>>("Barcodes");
                foreach (var item in collection)
                {
                    BarcodeCollection.Add(item);
                    TagsStr = item.TagsStr;
                }

                GenerateManifestIdAsync(null);
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        internal async Task AssignValidatedValueAsync(Partner model)
        {
            try
            {
                IList<Partner> selecetdPertner = BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).Select(x => x.Kegs.Partners).FirstOrDefault();
                Partner unusedPartner = null;
                foreach (var item in selecetdPertner)
                {
                    if (item.FullName == model.FullName)
                    {
                    }
                    else
                    {
                        unusedPartner = item;
                        break;
                    }
                }
                try
                {
                    if (model.Kegs.FirstOrDefault().MaintenanceItems?.Count > 0)
                    {
                        var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                        RealmDb.Write(() =>
                        {
                            BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).FirstOrDefault().Icon = _getIconByPlatform.GetIcon(Maintenace);
                        });
                    }
                    else
                    {
                        var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                        try
                        {
                            RealmDb.Write(() =>
                            {
                                BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).FirstOrDefault().Icon = _getIconByPlatform.GetIcon(ValidationOK);
                            });
                        }
                        catch (Exception ex)
                        {
                            Crashes.TrackError(ex);
                        }
                    }

                    try
                    {
                        var RealmDb = Realm.GetInstance(RealmDbManager.GetRealmDbConfig());
                        RealmDb.Write(() =>
                       {
                           BarcodeCollection.Where(x => x.Barcode == model.Kegs.FirstOrDefault().Barcode).FirstOrDefault().Kegs.Partners.Remove(unusedPartner);
                       });
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                    }

                    if (!BarcodeCollection.Any(x => x?.Kegs?.Partners?.Count > 1))
                        await _navigationService.GoBackAsync(animated: false);
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                }
                finally
                {
                    unusedPartner = null;
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        private async Task ValidateBarcode()
        {
            HasPrint = true;
            List<BarcodeModel> alert = BarcodeCollection.Where(x => x.Icon == "maintenace.png").ToList();
            if (alert.Count > 0 && !alert.FirstOrDefault().HasMaintenaceVerified)
            {
                try
                {
                    string strBarcode = alert.FirstOrDefault().Barcode;
                    var option = await _dialogService.DisplayActionSheetAsync("No keg with a barcode of \n" + strBarcode + " could be found",
                        null, null, "Remove unverified scans", "Assign sizes", "Countinue with current scans", "Stay here");
                    switch (option)
                    {
                        case "Remove unverified scans":
                            BarcodeCollection.Remove(alert.FirstOrDefault());

                            new Task(new Action(() =>
                            {
                                PrintPallet();
                            }
                                )).Start();

                            await _navigationService.GoBackAsync(new NavigationParameters
                                    {
                                        { "AssignValueToAddPalletAsync", BatchId }, { "BarcodesCollection", BarcodeCollection },
                                    }, animated: false);
                            break;
                        case "Assign sizes":
                            var param = new NavigationParameters
                            {
                                { "alert", alert }
                            };
                            await _navigationService.NavigateAsync("AssignSizesView", param, animated: false);

                            break;
                        case "Countinue with current scans":
                            await NavigateNextPage();
                            break;

                        case "Stay here":
                            break;
                        default:
                            break;
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                }
            }
            else
            {
                try
                {
                    await NavigateNextPage();
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                }
            }
        }