Beispiel #1
0
        private async Task SavePhotoAndTrain()
        {
            if (string.IsNullOrEmpty(GroupIdTextBox.Text) || string.IsNullOrEmpty(GroupNameTextBox.Text) || string.IsNullOrEmpty(PersonNameTextBox.Text))
            {
                await ShowDialog("Group name, group ID and person name cannot be empty");

                return;
            }

            try
            {
                Stream stream = await GetImageStream();

                var groupID    = GroupIdTextBox.Text;
                var groupName  = GroupNameTextBox.Text;
                var personName = PersonNameTextBox.Text;

                await _faceRecognitionService.CreatePersonGroup(groupID, groupName);

                await _faceRecognitionService.AddNewPersonToGroup(groupID, personName);

                Tuple <string, CreatePersonResult> definePersonGroupResult = await _faceRecognitionService.AddNewPersonToGroup(groupID, personName);

                var registerPersonResult = await _faceRecognitionService.RegisterPerson(definePersonGroupResult.Item1, definePersonGroupResult.Item2, stream);

                await _faceRecognitionService.TrainPersonGroup(definePersonGroupResult.Item1);

                var trainingStatus = await _faceRecognitionService.VerifyTrainingStatus(definePersonGroupResult.Item1);

                stream = await GetImageStream();

                InfoTextBlock.Text = await _faceRecognitionService.VerifyFaceAgainstTraindedGroup(definePersonGroupResult.Item1, stream);
            }

            catch (FaceAPIException ex)
            {
                await ShowDialog("Unfortunately error occured: " + ex.Message);
            }
        }