public async Task InitializeAsync()
        {
            try
            {
                IsLoading = true;

                if (FaceService == null)
                {
                    FaceService = await FaceServiceHelper.CreateNewFaceServiceAsync();
                }

                var personGroupResult = await FaceService.ListPersonGroupsAsync();

                personGroupResult.OrderBy(pg => pg.Name);
                personGroupResult.ForEach(pg => PersonGroups.Add(pg));

                IsLoading = false;
            }
            catch (FaceAPIException ex)//Handle API-Exception
            {
                await MessageDialogHelper.MessageDialogAsync(ex.ErrorMessage);
            }
            catch (Exception ex)
            {
                await MessageDialogHelper.MessageDialogAsync(ex.Message);
            }
        }
예제 #2
0
        private async Task ExecuteAddPersonCommandAsync()
        {
            try
            {
                if (string.IsNullOrEmpty(PersonToAdd))
                {
                    throw new ArgumentNullException(nameof(GroupToAdd), "Please enter a person name.");
                }

                if (SelectedGroupToAddPerson == null)
                {
                    throw new ArgumentNullException(nameof(SelectedGroupToAddPerson), "Please select a group.");
                }

                await FaceService.CreatePersonAsync(SelectedGroupToAddPerson.PersonGroupId, PersonToAdd);

                await MessageDialogHelper.MessageDialogAsync($"'{PersonToAdd}' successfully added.");

                //Cleanup UI
                PersonToAdd = string.Empty;
                if (SelectedPersonGroup != null) //Load Persons if some selected a group
                {
                    await LoadPersonsOfGroupAsync(SelectedPersonGroup.PersonGroupId);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message, "Fehler");
                await dialog.ShowAsync();
            }
        }
예제 #3
0
 public async void OnPersonChanged(object sender, SelectionChangedEventArgs args)
 {
     try
     {
         if (SelectedPerson != null)
         {
             CountOfFaces = $"{SelectedPerson.PersistedFaceIds.Count()} trained faces.";
         }
         else
         {
             CountOfFaces = "Please select a person.";
         }
     }
     catch (Exception ex)
     {
         await MessageDialogHelper.MessageDialogAsync("Exception", ex.Message);
     }
 }
예제 #4
0
 public async void OnPersonGroupChanged(object sender, SelectionChangedEventArgs args)
 {
     try
     {
         if (SelectedPersonGroup != null)
         {
             await LoadPersonsOfGroupAsync(SelectedPersonGroup.PersonGroupId);
         }
         else
         {
             //DOTO Handle this case
             //await MessageDialogHelper.MessageDialogAsync("Didn't select a group, please try again later.");
         }
     }
     catch (Exception ex)
     {
         await MessageDialogHelper.MessageDialogAsync("Exception", ex.Message);
     }
 }
예제 #5
0
        private async Task ExecuteTrainCommandAsync()
        {
            try
            {
                IsLoading = true;
                await FaceService.TrainPersonGroupAsync(SelectedPersonGroup.PersonGroupId);

                IsLoading = false;
                await MessageDialogHelper.MessageDialogAsync($"Group {SelectedPersonGroup.Name} has successfully been trained.");
            }
            catch (Exception e)
            {
                await MessageDialogHelper.MessageDialogAsync("Group could not be trained", e.Message);
            }
            finally
            {
                IsLoading = false;
            }
        }
        public async Task InitializeAsync()
        {
            try
            {
                if (FaceService == null)
                {
                    FaceService = await FaceServiceHelper.CreateNewFaceServiceAsync();
                }

                //Load all facegroups
                _personGroups = await FaceService.ListPersonGroupsAsync();
            }
            catch (FaceAPIException ex)//Handle API-Exception
            {
                await MessageDialogHelper.MessageDialogAsync(ex.ErrorMessage);
            }
            catch (Exception ex)
            {
                await MessageDialogHelper.MessageDialogAsync(ex.Message);
            }

            startLoop();
        }
예제 #7
0
        private async Task ExecuteDeleteCommandAsync()
        {
            if (SelectedPersonGroup != null)
            {
                if (SelectedPerson != null)
                {
                    await MessageDialogHelper.ConfirmDialogAsync("Deleting Person",
                                                                 $"Are you sure you want to delete '{SelectedPerson.Name}'?",
                                                                 async() =>
                    {
                        await FaceService.DeletePersonAsync(SelectedPersonGroup.PersonGroupId, SelectedPerson.PersonId);
                        await MessageDialogHelper.MessageDialogAsync("Deleting Person", $"'{SelectedPerson.Name}' successfully deleted.");
                    },
                                                                 async() => await MessageDialogHelper.MessageDialogAsync("Deleting Person", "Deleting was canceled by user."));

                    //Cleanup
                    SelectedPerson = null;
                    await LoadPersonsOfGroupAsync(SelectedPersonGroup.PersonGroupId);
                }
                else
                {
                    //Delete PersonGroup
                    await MessageDialogHelper.ConfirmDialogAsync("Deleting Group",
                                                                 $"Are you sure you want to delete '{SelectedPersonGroup.Name}'?",
                                                                 async() =>
                    {
                        await FaceService.DeletePersonGroupAsync(SelectedPersonGroup.PersonGroupId);
                        await MessageDialogHelper.MessageDialogAsync("Deleting Group", $"'{SelectedPersonGroup.Name}' successfully deleted.");
                    },
                                                                 async() => await MessageDialogHelper.MessageDialogAsync("Deleting Group", "Deleting was canceled by user."));

                    //Cleanup
                    SelectedPersonGroup = null;
                    await LoadGroupsAsync();
                }
            }
        }
예제 #8
0
        public async Task InitializeAsync()
        {
            try
            {
                IsLoading = true;

                if (FaceService == null)
                {
                    FaceService = await FaceServiceHelper.CreateNewFaceServiceAsync();
                }

                await LoadGroupsAsync();

                IsLoading = false;
            }
            catch (FaceAPIException ex)//Handle API-Exception
            {
                await MessageDialogHelper.MessageDialogAsync(ex.ErrorMessage);
            }
            catch (Exception ex)
            {
                await MessageDialogHelper.MessageDialogAsync(ex.Message);
            }
        }