Exemple #1
0
        private async Task OnChoosePicture()
        {
            try
            {
                var cameraStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Camera);

                var storageStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Storage);

                if (cameraStatus != PermissionStatus.Granted || storageStatus != PermissionStatus.Granted)
                {
                    var statuses = await CrossPermissions.Current.RequestPermissionsAsync(new Permission[]
                                                                                          { Permission.Camera, Permission.Storage });
                }

                var b = await CrossMedia.Current.Initialize();


                string cameraStr  = Translate.Get(nameof(AppResources.Camera));
                string galleryStr = Translate.Get(nameof(AppResources.Gallery));
                string cancelStr  = Translate.Get(nameof(AppResources.Cancel));

                var sourceChoice = await AlertService.Instance.DisplayActionSheet(
                    Translate.Get(nameof(AppResources.SelectSource)),
                    cancelStr, null, new[] { cameraStr, galleryStr });

                if (sourceChoice == cancelStr)
                {
                    return;
                }

                var mediaFile = (sourceChoice == cameraStr)
                    ? await TakePhoto()
                    : await PickFromGallery();

                if (mediaFile == null)
                {
                    return;
                }

                IsBusy = true;

                var image = new SignatureImage
                {
                    Base64Content = GetBase64Data(mediaFile),
                    FileName      = Path.GetFileName(mediaFile.Path)
                };
                PictureList.Add(image);
                RaisePropertyChanged(nameof(PictureList));
            }
            catch (Exception ex)
            {
                await Alert.DisplayError(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemple #2
0
 private void OnDeleteImage(SignatureImage picture)
 {
     PictureList.Remove(picture);
     RaisePropertyChanged(nameof(PictureList));
 }