/// <summary> /// For Autoscrolling /// </summary> /// <param name="bvm"></param> /// <returns></returns> public BinInEditRackView GetBinView(BinViewModel bvm) { foreach (Xamarin.Forms.View view in grid.Children) { if (view is BinInEditRackView) { BinInEditRackView binview = (BinInEditRackView)view; if (binview.Model == bvm) { return(binview); } } } return(null); }
private void FillBins() { for (int i = 1; i <= model.Levels; i++) { for (int j = 1; j <= model.Sections; j++) { BinViewModel finded = model.BinsViewModel.BinViewModels.Find(x => x.Level == i && x.Section == j); if (finded is BinViewModel) { try { BinInEditRackView exist = BinInEditRackViews.Find(x => x.Section == j && x.Level == i); if (exist is BinInEditRackView) { exist.Update(finded); exist.Marked = true; } else { BinInEditRackView bierv = new BinInEditRackView(finded); bierv.Section = j; bierv.Level = i; bierv.Marked = true; grid.Children.Add(bierv, finded.Section, finded.Section + finded.SectionSpan, finded.Level, finded.Level + finded.LevelSpan); BinInEditRackViews.Add(bierv); } } catch (Exception exp) { System.Diagnostics.Debug.WriteLine(exp.Message); } } else { try { EmptySpaceViewModel esvm = model.BinsViewModel.EmptySpacesViewModels.Find(x => x.Level == i && x.Section == j); if (esvm is EmptySpaceViewModel) { EmptySpaceViewInRack exist = EmptySpaceViewInRacks.Find(x => x.Section == j && x.Level == i); if (exist is EmptySpaceViewInRack) { exist.Marked = true; } else { EmptySpaceViewInRack esvir = new EmptySpaceViewInRack(esvm); esvir.Section = j; esvir.Level = i; esvir.Marked = true; grid.Children.Add(esvir, esvm.Section, esvm.Level); EmptySpaceViewInRacks.Add(esvir); } } } catch (Exception exp) { System.Diagnostics.Debug.WriteLine(exp.Message); } } } } BinInEditRackViews.RemoveAll(x => x.Marked == false); foreach (BinInEditRackView bierv in BinInEditRackViews) { bierv.Marked = false; } EmptySpaceViewInRacks.RemoveAll(x => x.Marked == false); foreach (EmptySpaceViewInRack esvmir in EmptySpaceViewInRacks) { esvmir.Marked = false; } }