private async System.Threading.Tasks.Task deleteImage(MaintenanceImage image) { bool success = true; if (!_suspendSave) { success = await runTask(async() => { await DataService.DeleteItemAsync("maintenanceRequestImages", image.MaintenanceRequestImage.MaintenanceRequestImageIdValue); }, "Are you sure you want to delete this image?"); } if (success) { DeletedImages.Add(image.MaintenanceRequestImage); this.Request.MaintenanceRequestImages.Remove(image.MaintenanceRequestImage); this.Images.Remove(image); } }
private async void takePicture() { MediaFile photo; try { photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions() { PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small, }); } catch (Exception ex) { if (ex.InnerException != null) { ex = ex.InnerException; } ExceptionHelper.ShowException(ex); return; } if (photo != null) { var stream = photo.GetStreamWithImageRotatedForExternalStorage(); var maintImage = new MaintenanceRequestImage(); var ms = new MemoryStream(); stream.CopyTo(ms); var bytes = ms.ToArray(); maintImage.ImageType = "image/jpeg"; if (!_suspendSave) { var fileToSend = new FileToSend(); fileToSend.FileName = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg"; fileToSend.Bytes = bytes; fileToSend.ContentType = maintImage.ImageType; var loadingDialog = Acr.UserDialogs.UserDialogs.Instance.Loading("Loading"); try { var results = await DataService.SendFiles <List <MaintenanceRequestImage> >($"maintenanceRequestImage/{this.Request.MaintenanceRequestIdValue}", new List <FileToSend>() { fileToSend }, true); maintImage.MaintenanceRequestImageIdValue = results[0].MaintenanceRequestImageIdValue; loadingDialog.Hide(); } catch (Exception ex) { loadingDialog.Hide(); if (ex.InnerException != null) { ex = ex.InnerException; } ExceptionHelper.ShowException(ex); } } this.Request.MaintenanceRequestImages.Add(maintImage); var newImage = new MaintenanceImage() { MaintenanceRequestImage = maintImage, ImageBytes = bytes }; this.NewImages.Add(newImage); this.Images.Add(newImage); } }
public MaintenanceRequestImageViewModel(MaintenanceImage image) { this.Image = image; }