Ejemplo n.º 1
0
        /// <summary>
        /// Funcion que recibe la instancia de
        /// </summary>
        /// <history>
        /// [vipacheco] 2-26-2016 Created
        /// [edgrodriguez] 27/02/2016 Modified
        /// [edgrodriguez] 29/02/2016 Modified
        /// [jorcanche] 01/03/2016 Modified (Se agrega el "Case" Location)
        /// [vipacheco] 01/03/2016 Modified --> Se agrego validacion case para Sales Room
        /// [erosado] 19/Mar/2016 Validamos que el _frmBase no sea null
        /// [jorcanche] 11/04/2016 Si chkAutoSign es verdadero desencriptamos el password y se guarda  Y AutoSign se deja como verdadero
        /// [erosado] 26/04/2016  Se restructuro el evento y se optimizo el codigo.
        /// </history>
        private void btnAceptar_Click(object sender, RoutedEventArgs e)
        {
            //Validar que el usuario meta toda la informacion requerida para el Login
            var msj = ValidateHelper.ValidateForm(this, "Login");


            if (string.IsNullOrEmpty(msj))
            {
                var _encryptPassword = EncryptHelper.Encrypt(txtPassword.Password);
                UserData = BRPersonnel.Login(_loginType, txtUser.Text,
                                             (cmbPlace.Visibility == Visibility.Visible) ? cmbPlace.SelectedValue.ToString() : "");
                //Validar las credenciales del usuario sean correctas si devuelve 0 si tiene permiso.
                if (ValidateUserCredential(_encryptPassword) != 0)
                {
                    return;
                }
                //Se valida que el usuario esta activo
                if (!UserData.User.peA)
                {
                    UIHelper.ShowMessage("User ID is inactive.", MessageBoxImage.Error);
                    txtUser.Focus();
                    return;
                }
                //Revisar si se desea cambiar el usuario o si se tiene el check cambiar pass activado.
                if (ChangePassword() != 0)
                {
                    return;
                }

                //Validamos los Permisos y Roles necesarios para entrar
                if (ValidatePermissionAndRole() != 0)
                {
                    return;
                }

                if (chkAutoSign.IsChecked.Value)
                {
                    UserData.AutoSign   = true;
                    UserData.User.pePwd = EncryptHelper.Encrypt(UserData.User.pePwd);
                }
                IsAuthenticated = true;
                Close();
                _splash?.Hide();
            }
            else
            {
                UIHelper.ShowMessage(msj, MessageBoxImage.Warning);
            }
        }