private async void Bvm_OnTap(BinViewModel bvm) { Select(bvm); if (bvm.IsContent) { bvm.LoadAnimation = true; try { NAVFilter navfilter = new NAVFilter { LocationCodeFilter = LocationCode, ZoneCodeFilter = ZoneCode, BinCodeFilter = bvm.Code }; List <BinContent> bincontent = await NAV.GetBinContentList(navfilter, ACD.Default).ConfigureAwait(true); FillBinContent(bvm, bincontent); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } bvm.LoadAnimation = false; } SetSelectedBinContent(); if (OnBinClick is Action <BinsViewModel> ) { OnBinClick(this); } }
private async Task SaveBinChanges(BinViewModel bmv, int index, int count) { try { string text1 = String.Format(AppResources.RackEditPage_SaveProcessBinText, No, index, count); LoadingText = text1; bmv.SaveFields(); int binexist = await NAV.GetBinCount(LocationCode, "", "", bmv.Bin.Code, ACD.Default).ConfigureAwait(true); if (binexist > 0) { bmv.Bin.PrevCode = bmv.Bin.Code; await NAV.ModifyBin(bmv.Bin, ACD.Default).ConfigureAwait(true); } else { await NAV.CreateBin(BinTemplateCode, bmv.Bin, ACD.Default).ConfigureAwait(true); } } catch (Exception e) { throw e; } }
public async Task LoadBinValues(AsyncCancelationDispatcher acd) { try { List <BinValues> binvalues = await NAV.GetBinValuesByRackID(RackID, acd.Default).ConfigureAwait(true); if (NotDisposed) { foreach (BinValues bv in binvalues) { BinViewModel bvm = BinViewModels.Find(x => x.Code == bv.Code); if (bvm is BinViewModel) { bvm.BottomRightValue = bv.RightValue; bvm.BottomLeftValue = bv.LeftValue; } } } } catch (OperationCanceledException e) { System.Diagnostics.Debug.WriteLine(e.Message); throw e; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); throw e; } }
private void FillBinInfo(BinViewModel bvm, List <BinInfo> bininfo) { if ((NotDisposed) && (bininfo.Count > 0)) { ObservableCollection <BinInfoViewModel> nlist = new ObservableCollection <BinInfoViewModel>(); foreach (BinInfo bvm1 in bininfo) { nlist.Add(new BinInfoViewModel(bvm1, Navigation)); } BinInfo = nlist; //LoadImages foreach (BinInfoViewModel bivm in BinInfo) { if (!string.IsNullOrEmpty(bivm.ImageURL)) { try { bivm.ImageSource = ImageSource.FromUri(new Uri(bivm.ImageURL)); bivm.ImageIsVisible = true; } catch (Exception exp) { System.Diagnostics.Debug.WriteLine(exp.Message); } } } } }
private void ExistInSearch(BinViewModel bvm) { if (Global.SearchResponses is List <SearchResponse> ) { if (Global.SearchResponses.Count > 0) { bvm.ExcludeFromSearch = true; List <SearchResponse> list = Global.SearchResponses.FindAll( x => x.ZoneCode == ZoneCode && x.RackNo == RackNo && x.BinCode == bvm.Code); if (list is List <SearchResponse> ) { if (list.Count > 0) { bvm.ExcludeFromSearch = false; SearchBinsQuantity++; } } } } }
private async Task SaveBin(BinViewModel bmv) { try { bmv.SaveFields(); LoadingText = AppResources.RackNewPage_LoadingProgressBin + " " + bmv.Bin.Code; int binexist = await NAV.GetBinCount(NewModel.LocationCode, "", "", bmv.Bin.Code, ACD.Default).ConfigureAwait(true); if (binexist > 0) { LoadingText = AppResources.RackNewPage_LoadingProgressModifyBin + " " + bmv.Bin.Code; bmv.Bin.PrevCode = bmv.Bin.Code; await NAV.ModifyBin(bmv.Bin, ACD.Default).ConfigureAwait(true); } else { if (CreateNewBins) { LoadingText = AppResources.RackNewPage_LoadingProgressBin + " " + bmv.Bin.Code; await NAV.CreateBin(NewModel.BinsViewModel.BinTemplate.Code, bmv.Bin, ACD.Default).ConfigureAwait(true); } } } catch (Exception e) { throw e; } }
public async void Renumbering() { if (CreateMode) { System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-us"); for (int k = 1; k <= Depth; k++) { int levelnumber = NumberingLevelBegin + Levels - 1; if (ReversLevelNumbering) { levelnumber = numberinglevelbegin; } for (int i = 1; i <= Levels; i++) { int sectionnumber = numberingsectionbegin; if (ReversSectionNumbering) { sectionnumber = numberingsectionbegin + Sections - 1; } for (int j = 1; j <= Sections; j++) { string number = No + racksectionseparator + sectionnumber.ToString("D2", ci) + sectionlevelseparator + levelnumber.ToString(); BinViewModel bvm = BinsViewModel.Find(j, i, k); if (bvm is BinViewModel) { bvm.Code = number; } if (ReversSectionNumbering) { sectionnumber = sectionnumber - StepNumberingSection; } else { sectionnumber = sectionnumber + StepNumberingSection; } } if (ReversLevelNumbering) { levelnumber = levelnumber + 1; } else { levelnumber = levelnumber - 1; } } } await BinsViewModel.CheckBins(ACD).ConfigureAwait(true); } }
private void FillBinContent(BinViewModel bvm, List <BinContent> bincontent) { bvm.BinContent.Clear(); foreach (BinContent bc in bincontent) { BinContentShortViewModel bcsvm = new BinContentShortViewModel(Navigation, bc); bvm.BinContent.Add(bcsvm); } }
public async Task LoadBinImages(AsyncCancelationDispatcher acd) { try { List <BinImage> binimages = await NAV.GetBinImagesByRackID(RackID, acd.Default).ConfigureAwait(true); if (NotDisposed) { foreach (BinImage bi in binimages) { if (!acd.Default.IsCancellationRequested) { BinViewModel bvm = BinViewModels.Find(x => x.Code == bi.BinCode); if (bvm is BinViewModel) { try { System.IO.Stream output = await ImageService.Instance.LoadUrl(bi.ImageURL) .LoadingPlaceholder("icon.png") .DownSample(100, 100) .AsJPGStreamAsync(); if (NotDisposed) { if (bvm.NotDisposed) { bvm.ImageSource = ImageSource.FromStream(() => output); bvm.ImageSourceLoaded = true; } } else { break; } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("WCS:LI [" + bi.BinCode + "] " + e.Message); } } } } } } catch (OperationCanceledException e) { System.Diagnostics.Debug.WriteLine(e.Message); throw e; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); throw e; } }
public void AfterSelect() { BinViewModel selectedbvm = BinViewModels.Find(x => x.IsSelected == true); IsSelectedBins = selectedbvm is BinViewModel; if (selectedbvm is BinViewModel) { SetTemplateBySelectedBin(selectedbvm); } }
private void FillBinContent(BinViewModel bvm, List <BinContent> bincontent) { if ((!IsDisposed) && (bincontent.Count > 0)) { bvm.BinContent.Clear(); foreach (BinContent bc in bincontent) { BinContentShortViewModel bsvm = new BinContentShortViewModel(Navigation, bc); bvm.BinContent.Add(bsvm); } } }
private void Select(BinViewModel bvm) { bvm.Selected = !bvm.Selected; BinViewModel selectedbvm = BinViewModels.Find(x => x.Selected == true); IsSelectedBins = selectedbvm is BinViewModel; if (selectedbvm is BinViewModel) { SetTemplateBySelectedBin(selectedbvm); } }
public void CombineBins() { string combinedrackno1 = ""; string locationcode1 = ""; string rackno1 = ""; List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); if (selectedlist.Count > 1) { DefineBordersOfCombine(selectedlist); List <BinViewModel> fordelete = BinViewModels.FindAll(x => x.Section >= leftsection && x.Section <= rightsection && x.Level >= leftlevel && x.Level <= rightlevel); BinViewModel firstbvm = BinViewModels.Find(x => x.Section >= leftsection && x.Level >= leftlevel); if (firstbvm is BinViewModel) { combinedrackno1 = firstbvm.Code; locationcode1 = firstbvm.LocationCode; rackno1 = firstbvm.RackNo; } DeleteSelected(fordelete); Bin newbin = new Bin() { LocationCode = locationcode1, RackNo = rackno1, Code = combinedrackno1, Section = leftsection, Level = leftlevel, Depth = 1, SectionSpan = rightsection - leftsection + 1, LevelSpan = rightlevel - leftlevel + 1, }; BinViewModel bvm = new BinViewModel(Navigation, newbin); FillBinFromTemplate(bvm); bvm.OnTap += Bvm_OnTap; BinViewModels.Add(bvm); } UnSelect(); MessagingCenter.Send(this, "Update"); }
private void Select(BinViewModel bvm) { if (!MultiSelectBins) { List <BinViewModel> list = BinViewModels.FindAll(x => x.IsSelected == true); foreach (BinViewModel bvm1 in list) { if (bvm1 != bvm) { bvm1.IsSelected = false; } } } bvm.IsSelected = !bvm.IsSelected; AfterSelect(); }
public void FillBinFromTemplate(BinViewModel bvm) { if (BinTemplate is BinTemplate) { bvm.LocationCode = BinTemplate.LocationCode; bvm.BinType = BinTemplate.BinTypeCode; bvm.Description = BinTemplate.BinDescription; bvm.WarehouseClassCode = BinTemplate.WarehouseClassCode; bvm.BlockMovement = BinTemplate.BlockMovement; bvm.SpecialEquipmentCode = BinTemplate.SpecialEquipmentCode; bvm.BinRanking = BinTemplate.BinRanking; bvm.MaximumCubage = BinTemplate.MaximumCubage; bvm.MaximumWeight = BinTemplate.MaximumWeight; bvm.Dedicated = BinTemplate.Dedicated; } }
public async Task LoadBins(AsyncCancelationDispatcher acd) { BinViewModelsDispose(); try { LoadedBinsQuantity = 0; SearchBinsQuantity = 0; NAVFilter navfilter = new NAVFilter { LocationCodeFilter = LocationCode, ZoneCodeFilter = ZoneCode, RackCodeFilter = RackNo }; List <Bin> bins = await NAV.GetBinList(navfilter, ACD.Default).ConfigureAwait(true); if (!IsDisposed) { if (bins.Count > 0) { LoadedBinsQuantity = bins.Count; foreach (Bin bin in bins) { BinViewModel bvm = new BinViewModel(Navigation, bin); bvm.IsContent = !bin.Empty; bvm.Color = Color.FromHex("#e2dacf"); bvm.OnTap += Bvm_OnTap; ExistInSearch(bvm); ExistInUDS(bvm); BinViewModels.Add(bvm); } } MessagingCenter.Send <BinsViewModel>(this, "BinsIsLoaded"); } } catch (OperationCanceledException e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; } }
private void SetTemplateBySelectedBin(BinViewModel bvm) { FillTemplateIsEnabled = false; TemplateCode = bvm.Code; TemplateMaximumWeight = bvm.MaximumWeight; TemplateBlocked = bvm.Blocked; TemplateBlockMovement = bvm.BlockMovement; TemplateBinType = bvm.BinType; TemplateBinRanking = bvm.BinRanking; TemplateMaximumCubage = bvm.MaximumCubage; TemplateMaximumWeight = bvm.MaximumWeight; TemplateAdjustmentBin = bvm.AdjustmentBin; TemplateWarehouseClassCode = bvm.WarehouseClassCode; TemplateSpecialEquipmentCode = bvm.SpecialEquipmentCode; TemplateDefault = bvm.Default; FillTemplateIsEnabled = true; }
public void CreateBin(int i, int j, int k) { Bin newbin = new Bin() { RackNo = RackNo, Section = j, Level = i, Depth = k }; BinViewModel bvm = new BinViewModel(Navigation, newbin); if (BinTemplate is BinTemplate) { FillBinFromTemplate(bvm); } bvm.OnTap += Bvm_OnTap; BinViewModels.Add(bvm); }
public async Task CheckBin(BinViewModel bvm, AsyncCancelationDispatcher acd) { try { bvm.IsChecked = false; NAVFilter navfilter = new NAVFilter { LocationCodeFilter = LocationCode, BinCodeFilter = bvm.Code }; List <Bin> binsexist = await NAV.GetBinList(navfilter, acd.Default).ConfigureAwait(true); if ((NotDisposed) && (binsexist.Count > 0)) { bvm.IsExist = true; Bin bin = binsexist.First(); bin.RackID = bvm.RackID; bin.Section = bvm.Section; bin.Level = bvm.Level; bin.Depth = bvm.Depth; bin.SectionSpan = bvm.SectionSpan; bin.LevelSpan = bvm.LevelSpan; bin.DepthSpan = bvm.DepthSpan; bvm.FillFields(bin); } else { bvm.IsExist = false; } bvm.IsChecked = true; } catch (OperationCanceledException e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); ErrorText = e.Message; } }
private void ExistInUDS(BinViewModel bvm) { if (LinkToRackViewModel is RackViewModel) { if (LinkToRackViewModel.UDSSelects.Count > 0) { SubSchemeSelect sss = LinkToRackViewModel.UDSSelects.Find( x => x.Section == bvm.Section && x.Level == bvm.Level && x.Depth == bvm.Depth); if (sss is SubSchemeSelect) { bvm.Color = Color.FromHex(sss.HexColor); bvm.SearchQuantity = sss.Value; bvm.IsSearchQuantityVisible = true; } } } }
public void FillEmptyPositions(int Sections, int Levels) { for (int i = 1; i <= Sections; i++) { for (int j = 1; j <= Levels; j++) { BinViewModel exist = BinViewModels.Find(x => x.Level == j && x.Section == i); if (exist is null) { EmptySpaceViewModel existesvm = EmptySpacesViewModels.Find(x => x.Level == j && x.Section == i); if (existesvm is null) { EmptySpaceViewModel esvm = new EmptySpaceViewModel(Navigation); esvm.Section = i; esvm.Level = j; esvm.Depth = 1; esvm.OnTap += Esvm_OnTap; EmptySpacesViewModels.Add(esvm); } } } } }
private void SetNumber(BinViewModel bvm) { System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-us"); int sectionname = NumberingSectionBegin + (bvm.Section - 1) * StepNumberingSection; if (ReversSectionNumbering) { sectionname = NumberingSectionBegin + (Sections - bvm.Section) * StepNumberingSection;; } int levelname = NumberingLevelBegin + (Levels - bvm.Level) * StepNumberingLevel; if (ReversLevelNumbering) { levelname = NumberingLevelBegin + (bvm.Level - 1) * StepNumberingLevel;; } string sectionlabel = sectionname.ToString("D" + NumberingSectionDigitsQuantity.ToString(), ci); string lavellabel = levelname.ToString("D" + NumberingLevelDigitsQuantity.ToString(), ci); bvm.Code = NumberingPrefix + racksectionseparator + sectionlabel + sectionlevelseparator + lavellabel; }
private async void Bvm_OnTap(BinViewModel bvm) { Select(bvm); if (!IsEditMode) { if (bvm.IsSelected) { LastSelectedBinCode = bvm.Code; MessagingCenter.Send(bvm, "BinsViewModel.BinSelected"); if (bvm.IsContent) { bvm.LoadAnimation = true; try { NAVFilter navfilter = new NAVFilter { LocationCodeFilter = LocationCode, ZoneCodeFilter = ZoneCode, BinCodeFilter = bvm.Code }; List <BinContent> bincontent = await NAV.GetBinContentList(navfilter, ACD.Default).ConfigureAwait(true); if ((NotDisposed) && (bincontent.Count > 0)) { FillBinContent(bvm, bincontent); } List <BinInfo> bininfo = await NAV.GetBinInfo(bvm.LocationCode, bvm.Code, ACD.Default).ConfigureAwait(true); if (NotDisposed) { FillBinInfo(bvm, bininfo); } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } bvm.LoadAnimation = false; } } SetSelectedBinContent(); } EditedBinCodeIsEnabled = false; List <BinViewModel> list = BinViewModels.FindAll(x => x.IsSelected == true); if (list is List <BinViewModel> ) { EditedBinCodeIsEnabled = list.Count == 1; } if (OnBinClick is Action <BinsViewModel> ) { OnBinClick(this); } }
private async void Bvm_OnTap(BinViewModel bvm) { bvm.Selected = !bvm.Selected; BinViewModel selectedbvm = BinViewModels.Find(x => x.Selected == true); IsSelectedBins = selectedbvm is BinViewModel; if (selectedbvm is BinViewModel) { SetTemplateBySelectedBin(selectedbvm); } if (bvm.IsContent) { bvm.LoadAnimation = true; try { List <BinContent> bincontent = await NAV.GetBinContentList(LocationCode, ZoneCode, bvm.Code, "", "", 1, int.MaxValue, ACD.Default).ConfigureAwait(true); if ((!IsDisposed) && (bincontent.Count > 0)) { bvm.BinContent.Clear(); foreach (BinContent bc in bincontent) { BinContentShortViewModel bsvm = new BinContentShortViewModel(Navigation, bc); bvm.BinContent.Add(bsvm); } } } catch (OperationCanceledException e) { System.Diagnostics.Debug.WriteLine("Cancel LoadBinContent", e.Message); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } bvm.LoadAnimation = false; } List <BinViewModel> list = BinViewModels.FindAll(x => x.Selected == true); if (list is List <BinViewModel> ) { ObservableCollection <BinContentShortViewModel> nlist = new ObservableCollection <BinContentShortViewModel>(); foreach (BinViewModel bvm1 in list) { foreach (BinContentShortViewModel bcsvm in bvm1.BinContent) { nlist.Add(bcsvm); } } SelectedBinContent = nlist; EditedBinCodeIsEnabled = list.Count == 1; } else { EditedBinCodeIsEnabled = false; } if (OnBinClick is Action <BinsViewModel> ) { OnBinClick(this); } }
private void DeleteBin(BinViewModel bvm) { bvm.OnTap -= Bvm_OnTap; BinViewModels.Remove(bvm); }