Пример #1
0
 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 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;
            }
        }
Пример #3
0
 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);
             }
         }
     }
 }
 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);
         }
     }
 }
Пример #5
0
        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);
            }
        }
Пример #6
0
        public void UnSelect()
        {
            List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true);

            foreach (BinViewModel bvm in selectedlist)
            {
                bvm.Selected = false;
            }
            IsSelectedBins = false;
        }
Пример #7
0
        public void DeleteBins()
        {
            List <BinViewModel> selectedlist = BinViewModels.FindAll(x => x.Selected == true);

            foreach (BinViewModel bvm in selectedlist)
            {
                DeleteBin(bvm);
            }
            MessagingCenter.Send(this, "Update");
        }
Пример #8
0
        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");
        }
Пример #9
0
        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");
        }
Пример #10
0
        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);
            }
        }
Пример #11
0
        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");
        }
Пример #12
0
 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();
 }
Пример #13
0
        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");
        }
Пример #14
0
        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);
            }
        }
Пример #15
0
        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);
            }
        }