/// <summary>
        /// Validates the specified user name.
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        /// <param name="password">The password.</param>
        /// <returns>Http Response Message.</returns>

        public User Validate(UserCredential userCredential)
        {
            if (userCredential != null)
            {
                return this.httpClientHelper.PostData<User, UserCredential>(this.GetUri(string.Format(CultureInfo.CurrentCulture, UserValidate)), userCredential);
            }

            return null;
        }
        /// <summary>
        /// Validates the specified user name.
        /// </summary>
        /// <param name="userCredential">The user credential.</param>
        /// <param name="accessToken">The access token.</param>
        /// <returns>
        /// Http Response Message.
        /// </returns>
        public async Task<User> Validate(UserCredential userCredential)
        {
            if (userCredential != null)
            {
                return await Task.Run(() => this.httpClientHelper.PostData<User, UserCredential>(this.GetUri(string.Format(CultureInfo.CurrentCulture, UserValidate)), userCredential));
            }

            return null;
        }
示例#3
0
        private async void Login_Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (NetworkInterface.GetIsNetworkAvailable())
                {
                    progressMask.Show();

                    LoginRepository loginRepository = new LoginRepository();

                    UserCredential userCredential = new UserCredential();
                    userCredential.Username = txtUserName.Text; ////"decurtis\\sourabh.rathore";
                    userCredential.Password = txtPassword.Password; ////"yellow*99";
                    userCredential.DeviceId = Windows.Phone.System.Analytics.HostInformation.PublisherHostId;
                    ApplicationData.User = await loginRepository.Validate(userCredential);
                    ////progress.Dismiss();
                    if (ApplicationData.User != null)
                    {
                        ApplicationData.User.LoginName = userCredential.Username;
                        SetAuthenticationData(ApplicationData.User.Token, chkRememberMe.IsChecked.HasValue ? chkRememberMe.IsChecked.Value : false);
                        NavigationService.Navigate(new Uri("/Home.xaml", UriKind.Relative));
                    }
                    else
                    {
                        txtPassword.Password = string.Empty;
                        ShowMessageBox("Insight", AppResources.ErrorLoginMessage);
                    }
                }
            }
            catch (Exception ex)
            {
                ////AlertMessage(GetString(Resource.String.Error), ex.Message.ToString());
                ////ResetControl();
            }
            finally
            {
                progressMask.Hide();
            }
        }
示例#4
0
        private void ShowHomePage()
        {
            LoginRepository loginRepository = new LoginRepository();
            LeaveRequestRepository leaveRequestRepository = new LeaveRequestRepository();

            UserCredential userCredential = new UserCredential();
            userCredential.Username = username.Text;
            userCredential.Password = password.Text;

            ApplicationData.User = loginRepository.Validate(new UserCredential { Username = @"decurtis\lalit.bhatia", Password = "******" });
            ApplicationData.UserDashboard = loginRepository.GetDashboard(ApplicationData.User.UserId.ToString());
            ApplicationData.LeaveParameters = leaveRequestRepository.RetrieveLeave();

            if (ApplicationData.User != null)
            {
            this.Navigation.PushAsync(new MainTabbedPage());
            }
            else
            {
                // var answer = await DisplayAlert("Error", "Invalid username or password.", "OK", null);
                DisplayAlert("Error", "Invalid username or password.", "OK", null);
                //AlertMessage("Error", "Invalid username or password.");
            }
        }
示例#5
0
        /// <summary>
        /// Handles the Click event of the loginButton control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private async void loginButton_Click(object sender, EventArgs e)
        {
            var progress = ProgressDialog.Show(this, GetString(Resource.String.Insight), GetString(Resource.String.PleaseWait), true);
            try
            {
                if (!IsNetworkAvailable())
                {
                    return;
                }

                LoginRepository loginRepository = new LoginRepository();

                UserCredential userCredential = new UserCredential();
                userCredential.Username = txtUserName.Text;
                userCredential.Password = txtPassword.Text;
                userCredential.DeviceId = Android.Provider.Settings.Secure.GetString(this.ContentResolver, Android.Provider.Settings.Secure.AndroidId);

                ApplicationData.User = await loginRepository.Validate(userCredential);

                if (ApplicationData.User != null)
                {
                    ApplicationData.User.LoginName = userCredential.Username;
                    SetAuthenticationData(ApplicationData.User.Token, chkRememberMe.Checked);
                }
                else
                {
                    txtPassword.Text = string.Empty;
                    AlertMessage(GetString(Resource.String.Error), GetString(Resource.String.ErrorLoginMessage));
                }
            }
            catch (HttpClientException ex)
            {
                if (ex.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                {
                    AlertMessage(GetString(Resource.String.Error), "Request time out.");
                }
                else
                {
                    AlertMessage(GetString(Resource.String.Error), GetString(Resource.String.ErrorLoginMessage));
                    txtPassword.Text = string.Empty;
                }
            }
            catch (Exception ex)
            {
                AlertMessage(GetString(Resource.String.Error), ex.Message.ToString());
                ResetControl();
            }
            finally
            {
                progress.Dismiss();
            }
        }