private void HandleFaceProgress(ProfileInitProgressArgs obj) { switch (obj.ProgressState) { case ProfileInitProgress.ProfileFaceNotDetected: _vm.HideInstructions(); _vm.ShowOverlay("Face not detected"); break; case ProfileInitProgress.FaceNotDetected: _vm.HideInstructions(); _vm.ShowOverlay("Face not detected"); break; case ProfileInitProgress.FaceNotStraight: _vm.HideOverlay(); _vm.ShowInstructions("Look at the front of cam"); break; case ProfileInitProgress.FaceNotTurnedLeft: _vm.HideOverlay(); _vm.ShowInstructions("Look in the following direction", rightArrow: true); break; case ProfileInitProgress.FaceNotTurnedRight: _vm.HideOverlay(); _vm.ShowInstructions("Look in the following direction", leftArrow: true); break; case ProfileInitProgress.FaceRecognitionError: _vm.HideOverlay(); _vm.ShowErrorStepInfo("Invalid photos"); break; case ProfileInitProgress.PhotosTaken: _vm.HideOverlay(); _vm.HideInstructions(); break; case ProfileInitProgress.Progress: _vm.HideOverlay(); _vm.HideStepInfo(); if (obj.ProgressPercentage == 100) { _vm.ShowSuccessStepInfo("Profile initialized"); _vm.ShowPhotoPreview(_testImageRepository.GetAll(_authenticationService.User) .Select(p => p.Img.ToBitmapImage()) .ToArray()); _stepCompleted = true; } break; } }
private void OnInitFaceProgress(ProfileInitProgressArgs obj) { Debug.WriteLine(obj.ProgressState); Debug.WriteLine(obj.ProgressPercentage); _vm.Progress = obj.ProgressPercentage; HandleFaceProgress(obj); if (obj.Frame != null) { _vm.CallOnFrameChanged(obj.Frame.ToBitmapImage()); if (obj.FaceRect.HasValue) { _vm.CallOnFaceDetected(obj.FaceRect.Value); } else { _vm.CallOnNoFaceDetected(); } } }