private async Task ExecuteAddPersonCommand() { if (NewFaceName != string.Empty && Pictures.Count > 0 && SelectedPersonGroup != null) { IsLoading = true; try { List <AddPersistedFaceResult> faces = new List <AddPersistedFaceResult>(); var result = await FaceService.CreatePersonAsync(SelectedPersonGroup.PersonGroupId, NewFaceName); foreach (var picture in Pictures) { var currentPicture = picture.Bitmap; IRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, randomAccessStream); encoder.SetSoftwareBitmap(currentPicture); await encoder.FlushAsync(); var stream = randomAccessStream.AsStreamForRead(); faces.Add(await FaceService.AddPersonFaceAsync(SelectedPersonGroup.PersonGroupId, result.PersonId, stream)); } await new MessageDialog($"Successfully added {faces.Count} faces for person {NewFaceName} ({result.PersonId}).").ShowAsync(); //Reset the form Pictures.Clear(); NewFaceName = ""; } catch (FaceAPIException e) { await new MessageDialog(e.ErrorMessage).ShowAsync(); //await new MessageDialog(loader.GetString("AddFace_CompleteInformation")).ShowAsync(); } finally { IsLoading = false; } } else { await new MessageDialog(loader.GetString("AddFace_CompleteInformation")).ShowAsync(); } }