private async void TakePhoto(object obj) { MediaFile photo; if (CrossMedia.Current.IsCameraAvailable) { photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { PhotoSize = PhotoSize.Large, Name = Guid.NewGuid().ToString() + ".jpg", RotateImage = true }); } else { photo = await CrossMedia.Current.PickPhotoAsync(); } if (photo != null) { using (Stream imageStream = File.OpenRead(photo.Path)) { var Blob = Helpers.Helper.ReadFully(imageStream); var pic = DataRepository.Instance.Save <Pictures>(new Pictures() { Blob = Blob, RecipeeId = Item.PKId, Type = 3, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }); ThesePictures.Add(pic, ImageSource.FromStream(() => { return(new MemoryStream(Blob)); })); } OnPropertyChanged("ThesePictures"); UserDialogs.Instance.HideLoading(); } }
private void Show(object obj) { try { var img = (Pictures)obj; if (img != null) { var record = ThesePictures.FirstOrDefault(c => c.Key == img); MaxImage = record.Value; SelectedImage = record.Key; ShowPhoto = true; OnPropertyChanged("ShowPhoto"); OnPropertyChanged("MaxImage"); } } catch (Exception ex) { } }