private void SetSelectedBinContent() { List <BinViewModel> list = BinViewModels.FindAll(x => x.Selected == true); if (list is List <BinViewModel> ) { ObservableCollection <BinContentGrouping> nlist = new ObservableCollection <BinContentGrouping>(); foreach (BinViewModel bvm1 in list) { nlist.Add(new BinContentGrouping(bvm1.Code, bvm1.BinContent)); //foreach (BinContentShortViewModel bcsvm in bvm1.BinContent) //{ // nlist.Add(bcsvm); //} } //nlist.ToList().Sort(new BinContentShortViewModelComparer()); SelectedBinContent = nlist; EditedBinCodeIsEnabled = list.Count == 1; } else { EditedBinCodeIsEnabled = false; } }
private void RecreateBinsSections(int prevsections, int newsections, int newdepth, int newlevels) { if (prevsections < newsections) { for (int j = prevsections + 1; j <= newsections; j++) { for (int k = 1; k <= newdepth; k++) { for (int i = 1; i <= newlevels; i++) { CreateBin(i, j, k); } } } } else if (prevsections > newsections) { for (int j = prevsections; j > newsections; j--) { List <BinViewModel> list = BinViewModels.FindAll(x => x.Bin.Section == j); foreach (BinViewModel bvm in list) { DeleteBin(bvm); } } } }
private async void SetSelectedBinsByTemplate(bool codefieldchanged) { if (FillTemplateIsEnabled) { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); foreach (BinViewModel bvm in selectedlist) { bvm.Code = TemplateCode; bvm.MaximumWeight = TemplateMaximumWeight; bvm.Blocked = TemplateBlocked; bvm.BlockMovement = TemplateBlockMovement; bvm.BinType = TemplateBinType; bvm.BinRanking = TemplateBinRanking; bvm.MaximumCubage = TemplateMaximumCubage; bvm.MaximumWeight = TemplateMaximumWeight; bvm.AdjustmentBin = TemplateAdjustmentBin; bvm.WarehouseClassCode = TemplateWarehouseClassCode; bvm.SpecialEquipmentCode = TemplateSpecialEquipmentCode; bvm.Default = TemplateDefault; } if (codefieldchanged) { await CheckBins(ACD).ConfigureAwait(true); } } }
private void RecreateBinsDepth(int prevdepth, int newdepth, int newlevels, int newsections) { if (prevdepth < newdepth) { for (int k = prevdepth + 1; k <= newdepth; k++) { for (int i = 1; i <= newlevels; i++) { for (int j = 1; j <= newsections; j++) { CreateBin(i, j, k); } } } } else if (prevdepth > newdepth) { for (int k = prevdepth; k > newdepth; k--) { List <BinViewModel> list = BinViewModels.FindAll(x => x.Bin.Depth == k); foreach (BinViewModel bvm in list) { DeleteBin(bvm); } } } }
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; } }
public void BinViewModelsDispose() { foreach (BinViewModel bvm in BinViewModels) { bvm.DisposeModel(); } BinViewModels.Clear(); }
public void Clear() { foreach (BinViewModel bvm in BinViewModels) { DeleteBin(bvm); } BinViewModels.Clear(); }
public async Task CheckSelectedBins(AsyncCancelationDispatcher acd) { List <BinViewModel> list = BinViewModels.FindAll(x => x.IsSelected == true); foreach (BinViewModel bvm in list) { await CheckBin(bvm, acd).ConfigureAwait(true); } }
public async Task CheckBins(AsyncCancelationDispatcher acd) { List <BinViewModel> list = BinViewModels.ToList(); foreach (BinViewModel bvm in list) { await CheckBin(bvm, acd).ConfigureAwait(true); } }
public void UnSelect() { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); foreach (BinViewModel bvm in selectedlist) { bvm.Selected = false; } IsSelectedBins = false; }
public void DeleteBins() { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); foreach (BinViewModel bvm in selectedlist) { DeleteBin(bvm); } MessagingCenter.Send(this, "Update"); }
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); } }
public void BlockBins() { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); foreach (BinViewModel bvm in selectedlist) { bvm.Blocked = !bvm.Blocked; } UnSelect(); MessagingCenter.Send(this, "Update"); }
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 SetSelectedBinContent() { List <BinViewModel> list = BinViewModels.FindAll(x => x.IsSelected == true); if (list is List <BinViewModel> ) { ObservableCollection <BinContentGrouping> nlist = new ObservableCollection <BinContentGrouping>(); foreach (BinViewModel bvm1 in list) { nlist.Add(new BinContentGrouping(bvm1.Code, bvm1.BinContent)); } SelectedBinContent = nlist; LoadContentImages(false); } }
public async Task CheckBins(AsyncCancelationDispatcher acd) { try { List <BinViewModel> list = BinViewModels.ToList(); foreach (BinViewModel bvm in list) { bvm.IsChecked = false; NAVFilter navfilter = new NAVFilter { LocationCodeFilter = LocationCode, BinCodeFilter = bvm.Code }; List <Bin> binsexist = await NAV.GetBinList(navfilter, ACD.Default).ConfigureAwait(true); if (binsexist.Count > 0) { bvm.IsExist = true; Bin bin = binsexist.First(); //Place in new rack bin.RackNo = bvm.RackNo; 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 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 DeleteBins() { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true); foreach (BinViewModel bvm in selectedlist) { DeleteBin(bvm); EmptySpaceViewModel esvm = new EmptySpaceViewModel(Navigation); esvm.Section = bvm.Section; esvm.Level = bvm.Level; esvm.Depth = bvm.Depth; esvm.OnTap += Esvm_OnTap; EmptySpacesViewModels.Add(esvm); } MessagingCenter.Send(this, "Update"); }
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; } }
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 void CreateBins(int depth, int levels, int sections) { foreach (BinViewModel bvm in BinViewModels) { bvm.OnTap -= Bvm_OnTap; } BinViewModels.Clear(); for (int k = 1; k <= depth; k++) { for (int i = 1; i <= levels; i++) { for (int j = 1; j <= sections; j++) { CreateBin(i, j, k); } } } }
public void DeleteBins() { List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.IsSelected == true); foreach (BinViewModel bvm in selectedlist) { DeleteBin(bvm); for (int i = 1; i <= bvm.SectionSpan; i++) { for (int j = 1; j <= bvm.LevelSpan; j++) { EmptySpaceViewModel esvm = new EmptySpaceViewModel(Navigation); esvm.Section = bvm.Section + i - 1; esvm.Level = bvm.Level + j - 1; esvm.Depth = bvm.Depth; esvm.OnTap += Esvm_OnTap; EmptySpacesViewModels.Add(esvm); } } } MessagingCenter.Send(this, "Update"); }
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); } } } } }
public BinViewModel Find(int j, int i, int k) { return(BinViewModels.Find(x => x.Bin.Section == j && x.Bin.Level == i && x.Bin.Depth == k)); }
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); }
private BinViewModel GetFirstSelected() { return(BinViewModels.Find(x => x.Selected == true)); }
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); } }