/// <summary>
        ///   execute when user submits user details to get registered
        /// </summary>
        private void RegisterUser()
        {
            User userDetails = new User();

            userDetails.Email = Email;
            if (!HasErrors)
            {
                userDetails.Password = PasswordHash.HashPassword(Password);
                try
                {
                    Int32 userId = _userDataAccessService.createUser(userDetails);
                    if (userId > 0)
                    {
                        CurrentUser = UserDetailsHelper.getUserName(Email);
                        App.Current.Properties["currentUserId"] = userId;
                        RaisePropertyChanged("IsAuthenticated");
                        NavigateCommandAction("challengeSelector");
                        this.SignUpFlyoutIsVisible = false;
                        Password        = String.Empty;
                        ConfirmPassword = String.Empty;
                        Email           = String.Empty;
                        IsWarning       = false;
                    }
                }
                catch (Exception ex)
                {
                    IsWarning = true;
                    Status    = String.Format("ERROR: {0}", ex.Message);
                }
            }
        }