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); } } }