Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        public async Task LoadUDF(AsyncCancelationDispatcher acd)
        {
            try
            {
                List <UserDefinedFunction> list = await NAV.LoadUserDefinedFunctionList(LocationCode, ZoneCode, RackNo, ACD.Default).ConfigureAwait(true);

                if (list is List <UserDefinedFunction> )
                {
                    ObservableCollection <UserDefinedFunctionViewModel> nlist = new ObservableCollection <UserDefinedFunctionViewModel>();

                    foreach (UserDefinedFunction udf in list)
                    {
                        UserDefinedFunctionViewModel udfvm = new UserDefinedFunctionViewModel(Navigation, udf);
                        nlist.Add(udfvm);
                    }

                    UserDefinedFunctions = nlist;
                }
            }
            catch (OperationCanceledException e)
            {
                System.Diagnostics.Debug.WriteLine("Cancel LoadUDF", e.Message);
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message);
                State     = ModelState.Error;
                ErrorText = e.ToString();
            }
        }
Esempio n. 3
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);
            }
        }
Esempio n. 4
0
        public async Task CheckBins(AsyncCancelationDispatcher acd)
        {
            List <BinViewModel> list = BinViewModels.ToList();

            foreach (BinViewModel bvm in list)
            {
                await CheckBin(bvm, acd).ConfigureAwait(true);
            }
        }
Esempio n. 5
0
        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 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;
            }
        }
        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;
            }
        }
Esempio n. 8
0
        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;
            }
        }
Esempio n. 9
0
 public BaseViewModel(INavigation navigation)
 {
     Navigation     = navigation;
     ErrorOKCommand = new Command(ErrorOk);
     ACD            = new AsyncCancelationDispatcher();
 }