예제 #1
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();
            }
        }
예제 #2
0
 public async Task RunUserDefineFunction(UserDefinedFunctionViewModel udfvm)
 {
     udfvmselected = udfvm;
     if (!string.IsNullOrEmpty(udfvm.Confirm))
     {
         State     = ModelState.Request;
         ErrorText = udfvm.Confirm;
     }
     else
     {
         await RunUDF().ConfigureAwait(true);
     }
 }
예제 #3
0
        public async Task RunUserDefineFunction(UserDefinedFunctionViewModel udfvm)
        {
            udfvmselected = udfvm;
            if (!string.IsNullOrEmpty(udfvm.Confirm))
            {
                State     = ModelState.Request;
                ErrorText = udfvm.Confirm;
            }
            else
            {
                //system function
                if (udfvm.ID >= 1000000)
                {
                    switch (udfvm.ID)
                    {
                    case 1000000:
                    {
                        await CrossMedia.Current.Initialize();

                        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                        {
                            //Add code
                            return;
                        }

                        var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
                            {
                                SaveToAlbum = true,
                                Name        = "1.jpg"
                            });

                        if (file == null)
                        {
                            return;
                        }


                        //image.Source = ImageSource.FromStream(() =>
                        //{
                        //    var stream = file.GetStream();
                        //    return stream;
                        //});

                        break;
                    }

                    case 1000001:
                    {
                        await CrossMedia.Current.Initialize();

                        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                        {
                            //Add code
                            return;
                        }

                        var file = await CrossMedia.Current.TakeVideoAsync(new Plugin.Media.Abstractions.StoreVideoOptions
                            {
                                SaveToAlbum = true,
                                Name        = "video.jpg"
                            });

                        if (file == null)
                        {
                            return;
                        }


                        //image.Source = ImageSource.FromStream(() =>
                        //{
                        //    var stream = file.GetStream();
                        //    return stream;
                        //});

                        break;
                    }

                    case 1000002:
                    {
                        await CrossMedia.Current.Initialize();

                        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                        {
                            //Add code
                            return;
                        }

                        var file = await CrossMedia.Current.PickPhotoAsync();

                        if (file == null)
                        {
                            return;
                        }

                        break;
                    }

                    case 1000003:
                    {
                        await CrossMedia.Current.Initialize();

                        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                        {
                            //Add code
                            return;
                        }

                        var file = await CrossMedia.Current.PickVideoAsync();

                        if (file == null)
                        {
                            return;
                        }

                        break;
                    }
                    }
                }
                else
                {
                    await RunUDF().ConfigureAwait(true);
                }
            }
        }