private void BtnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                ServiceProcess_Validadores.Process_ValidadoresSoapClient auxServiceValidadores = new ServiceProcess_Validadores.Process_ValidadoresSoapClient();
                auxServiceValidadores.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceValidadores.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                if (Convert.ToInt32(cbRol.SelectedIndex) == 0 || txtCorreo.Text.Equals(""))
                {
                    if (Convert.ToInt32(cbRol.SelectedIndex) == 0)
                    {
                        MessageBox.Show("Debe Seleccionar Rol antes de Crear Cuenta.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else if (txtCorreo.Text.Equals(""))
                    {
                        MessageBox.Show("Correo no puede estar vacio.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    if (txtCorreo.Text.Trim().Length < 6 || txtCorreo.Text.Trim().Length > 60)
                    {
                        MessageBox.Show("Correo debe tener mas de 6 caracteres y menos de 60.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        if (!auxServiceValidadores.correoValidacionService(txtCorreo.Text.ToUpper()))
                        {
                            MessageBox.Show("Formato de correo no es  Valido.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            if (MessageBox.Show("Confirmar La Modificacion de la Cuenta", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                //Insertar datos via web service
                                auxServiceCuenta.ActualizarCuentaSinEntidad_Escritorio(_rut_usuario, _rut_empresa, Convert.ToInt32(_estado), Convert.ToInt32(cbRol.SelectedIndex), txtCorreo.Text.Trim().ToUpper());
                                //Metodo Carga de GridView
                                this.DialogResult = DialogResult.OK;
                                this.Close();
                            }
                            else
                            {
                                //se devuelve al Cuadro de datos
                            }
                        }
                    }
                    ;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo de accion BtnGuardar_Click, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void DgvCuenta_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                if (e.RowIndex < 0)
                    return;

                _rut_usuario = dgvCuenta.Rows[e.RowIndex].Cells["RUT_USUARIO"].Value.ToString();
                _rut_empresa = dgvCuenta.Rows[e.RowIndex].Cells["RUT_EMPRESA"].Value.ToString();                
                _estado = dgvCuenta.Rows[e.RowIndex].Cells["ESTADO"].Value.ToString();
                _id_rol = dgvCuenta.Rows[e.RowIndex].Cells["ID_ROL"].Value.ToString();
                _correo = dgvCuenta.Rows[e.RowIndex].Cells["CORREO"].Value.ToString();

                auxCuenta = auxServiceCuenta.TraerCuentaConEntidad_Escritorio(_rut_usuario);

                _contrasena = auxCuenta.Contrasena;

                pbSeleccion.Visible = true;

                if (_estado.Equals("DESACTIVADO"))
                {
                    btnActivar.Visible = true;
                    btnDesactivar.Visible = false;
                }
                else
                {
                    btnDesactivar.Visible = true;
                    btnActivar.Visible = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo de accion DgvCuenta_CellClick, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void BtnResetClave_Click(object sender, EventArgs e)
        {
            try
            {
                if (_rut_usuario == null)
                {
                    MessageBox.Show("Debe Seleccionar una Cuenta Antes de solicitar Resetear.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else
                {
                    ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                    auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                    auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                    ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();
                    auxCuenta = auxServiceCuenta.TraerCuentaConEmpresaConEntidad_Escritorio(_rut_usuario, _rut_empresa);

                    if (MessageBox.Show("¿Esta Seguro de Resetear Contaseña de Cuenta de Acceso?", "CONFIRMAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {

                        auxCuenta = auxServiceCuenta.TraerCuentaConEmpresaConEntidad_Escritorio(_rut_usuario, _rut_empresa);

                        string contrasena = _rut_usuario.Substring(0, 5);
                        notificacionCorreo(auxCuenta.Correo, contrasena, auxCuenta.Rut_usuario);
                        //Insertar datos via web service
                        auxServiceCuenta.ActualizarCuentaSoloContrasenaSinEntidad_Escritorio(auxCuenta.Rut_usuario, auxCuenta.Rut_empresa, contrasena);
                        MessageBox.Show("Contraseña Reseteada con los primeros 5 Digitos del RUT.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        //vuleve a pantalla 
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo de accion BtnResetClave_Click, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void BtnActivar_Click(object sender, EventArgs e)
        {
            try
            {
                if (_rut_usuario == null)
                {
                    MessageBox.Show("Debe Seleccionar una Cuenta Antes de Activar cuenta.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else
                { 
                    //Instancia de Web service con credenciales NT
                    ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                    auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                    auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                    ServiceProcess_Usuario.Process_UsuarioSoapClient auxServiceUsuario = new ServiceProcess_Usuario.Process_UsuarioSoapClient();
                    auxServiceUsuario.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                    auxServiceUsuario.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                    ServiceProcess_Empresa.Process_EmpresaSoapClient auxServiceEmpresa = new ServiceProcess_Empresa.Process_EmpresaSoapClient();
                    auxServiceEmpresa.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                    auxServiceEmpresa.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                    ServiceProcess_Usuario.Usuario auxUsuario = new ServiceProcess_Usuario.Usuario();
                    ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();
                    auxCuenta = auxServiceCuenta.TraerCuentaConEmpresaConEntidad_Escritorio(_rut_usuario, _rut_empresa);
                    ServiceProcess_Empresa.Empresa auxEmpresa = new ServiceProcess_Empresa.Empresa();
                    auxEmpresa = auxServiceEmpresa.TraerEmpresaConEntidad_Escritorio(_rut_empresa);

                    if (MessageBox.Show("¿Esta Seguro de Activar Cuenta " + _rut_usuario + "  Para la Empresa " + auxEmpresa.Nombre + "?", "CONFIRMAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {


                        //Insertar datos via web service
                        auxServiceCuenta.ActualizarCuentaSinEntidad_Escritorio(auxCuenta.Rut_usuario, auxCuenta.Rut_empresa, 1, auxCuenta.Id_rol, auxCuenta.Correo);
                        btnActivar.Visible = false;
                        btnDesactivar.Visible = false;
                        //Vaciar variables
                        _rut_usuario = null;
                        _rut_empresa = string.Empty;
                        _contrasena = string.Empty;
                        _estado = string.Empty;
                        _id_rol = string.Empty;
                        _correo = string.Empty;
                        pbSeleccion.Visible = false;
                        //limpiar GridView
                        dgvCuenta.Rows.Clear();
                        dgvCuenta.Refresh();
                        //Metodo Carga de GridView
                        cargarDataGridViewPpal();
                        MessageBox.Show("Cuenta Activada Para Empresa " + auxEmpresa.Nombre + " .", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        //continua CON LA VISTA ACTUAL
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo de accion BtnActivar_Click, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void cargarDataGridViewPpal()
        {
            try
            {
                //instansear web service con seguridad
                ServiceProcess_Empresa.Process_EmpresaSoapClient auxServiceEmpresa = new ServiceProcess_Empresa.Process_EmpresaSoapClient();
                auxServiceEmpresa.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceEmpresa.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Empresa.Empresa auxEmpresa = new ServiceProcess_Empresa.Empresa();

                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                ServiceProcess_Rol.Process_RolSoapClient auxServiceRol = new ServiceProcess_Rol.Process_RolSoapClient();
                auxServiceRol.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceRol.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Rol.Rol auxRol = new ServiceProcess_Rol.Rol();

                ServiceProcess_Usuario.Process_UsuarioSoapClient auxServiceUsuario = new ServiceProcess_Usuario.Process_UsuarioSoapClient();
                auxServiceUsuario.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceUsuario.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Usuario.Usuario auxUsuario = new ServiceProcess_Usuario.Usuario();

                //capturar dataset
                DataSet ds = auxServiceCuenta.TraerTodasCuentas_Escritorio();
                //Capturar Tabla
                DataTable dt = ds.Tables[0];
                //contar cantidad de empresas
                int _cantidad_Cuentas = dt.Rows.Count;
                //crear array bidimencional
                string[,] ListaCuenta = new string[_cantidad_Cuentas, 8];
                //Recorrer data table
                int _fila = 0;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //Capturar datos de la fila recorridad en objeto empresa
                    auxCuenta.Rut_usuario = (String)dt.Rows[i]["Rut_usuario"];
                    auxCuenta.Rut_empresa = (String)dt.Rows[i]["Rut_empresa"];
                    auxCuenta.Contrasena = (String)dt.Rows[i]["Contrasena"];
                    auxCuenta.Estado = Convert.ToInt32(dt.Rows[i]["Estado"]);
                    auxCuenta.Id_rol = Convert.ToInt32(dt.Rows[i]["Id_rol"]);
                    auxCuenta.Correo = (String)dt.Rows[i]["Correo"];
                    //variables temporales de apoyo
                    string _estado_iteracion = string.Empty;
                    //cargar array con datos de fila
                    ListaCuenta[_fila, 0] = auxCuenta.Rut_usuario;
                    auxUsuario = auxServiceUsuario.TraerUsuarioConEntidad_Escritorio(auxCuenta.Rut_usuario);
                    ListaCuenta[_fila, 1] = auxUsuario.Primer_nombre + " " + auxUsuario.Primer_apellido;
                    auxEmpresa = auxServiceEmpresa.TraerEmpresaConEntidad_Escritorio(auxCuenta.Rut_empresa);
                    ListaCuenta[_fila, 2] = auxEmpresa.Nombre;
                    ListaCuenta[_fila, 3] = auxCuenta.Rut_empresa;
                    ListaCuenta[_fila, 4] = auxCuenta.Correo;
                    auxRol = auxServiceRol.TraerRolConEntidad_Escritorio(auxCuenta.Id_rol);
                    ListaCuenta[_fila, 5] = auxCuenta.Id_rol.ToString();
                    ListaCuenta[_fila, 6] = auxRol.Nombre;
                    if (auxCuenta.Estado == 0)
                    {
                        _estado_iteracion = "DESACTIVADO";
                    }
                    else
                    {
                        _estado_iteracion = "ACTIVADO";
                    }
                    ListaCuenta[_fila, 7] = _estado_iteracion;
                    //agregar lista a gridview
                    dgvCuenta.Rows.Add(ListaCuenta[_fila, 0], ListaCuenta[_fila, 1], ListaCuenta[_fila, 2], ListaCuenta[_fila, 3], ListaCuenta[_fila, 4], ListaCuenta[_fila, 5],ListaCuenta[_fila, 6], ListaCuenta[_fila, 7]);
                    _fila++;

                }
                pbSeleccion.Visible = false;
        }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo cargarDataGridViewPpal, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
}
        private void cargarDataGridViewUsuario()
        {
            try
            {
                ServiceProcess_Usuario.Process_UsuarioSoapClient auxServiceUsuario = new ServiceProcess_Usuario.Process_UsuarioSoapClient();
                auxServiceUsuario.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceUsuario.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Usuario.Usuario auxUsuario = new ServiceProcess_Usuario.Usuario();

                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                //capturar dataset
                DataSet ds = auxServiceUsuario.TraerUsuarioPorEmpresaSinEntidad_Escritorio(_rut_empresa);
                if ((ds.Tables.Count != 0) && (ds.Tables[0].Rows.Count > 0))
                {
                    //Capturar Tabla
                    DataTable dt = ds.Tables[0];
                    //contar cantidad de empresas
                    int _cantidad_Usuarios = dt.Rows.Count;
                    //crear array bidimencional
                    string[,] ListaUsuarios = new string[_cantidad_Usuarios, 2];
                    //Recorrer data table
                    int _fila = 0;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        //Capturar datos de la fila recorridad en objeto empresa
                        string rut_usuario = (String)dt.Rows[i]["Rut_usuario"];
                        string nombre      = (String)dt.Rows[i]["Primer_nombre"] + " " + (String)dt.Rows[i]["Primer_apellido"];
                        string rut_empresa = (String)dt.Rows[i]["Rut_empresa"];

                        //CAPTURAR DATASET
                        DataSet dsU = auxServiceCuenta.TraerCuentaConEmpresaSinEntidad_Escritorio(rut_usuario, _rut_empresa);
                        if ((dsU.Tables.Count != 0) && (dsU.Tables[0].Rows.Count > 0))
                        {
                            //no carga nada al gridview por que ya es usuario  de la empresa
                        }
                        else
                        {
                            //cargar array con datos de fila
                            ListaUsuarios[_fila, 0] = rut_usuario;
                            ListaUsuarios[_fila, 1] = nombre;
                            //agregar lista a gridview
                            dgvUsuario.Rows.Add(ListaUsuarios[_fila, 0], ListaUsuarios[_fila, 1]);
                            _fila++;
                        }
                    }

                    if (dgvUsuario.Rows.Count == 0)
                    {
                        MessageBox.Show("Empresa Seleccionada ya tiene Todas las cuentas creadas.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Empresa Seleccionada Sin Usuarios Disponibles Para Crear Cuentas.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo cargarDataGridViewUsuario, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void TxtFiltrarUsuario_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                dgvUsuario.Rows.Clear();
                dgvUsuario.Refresh();
                //instansear web service con seguridad
                ServiceProcess_Usuario.Process_UsuarioSoapClient auxServiceUsuario = new ServiceProcess_Usuario.Process_UsuarioSoapClient();
                auxServiceUsuario.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceUsuario.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Usuario.Usuario auxUsuario = new ServiceProcess_Usuario.Usuario();

                ServiceProcess_Empresa.Process_EmpresaSoapClient auxServiceEmpresa = new ServiceProcess_Empresa.Process_EmpresaSoapClient();
                auxServiceEmpresa.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceEmpresa.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Empresa.Empresa auxEmpresa = new ServiceProcess_Empresa.Empresa();

                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                if (txtFiltrarUsuario.Text.Equals(""))
                {
                    cargarDataGridViewUsuario();
                }
                else
                {
                    //capturar dataset
                    DataSet ds = auxServiceUsuario.TraerUsuarioConClavePorEmpresaSinEntidad_Escritorio(_rut_empresa, txtFiltrarUsuario.Text.ToUpper());
                    if ((ds.Tables.Count != 0) && (ds.Tables[0].Rows.Count > 0))
                    {
                        //Capturar Tabla
                        DataTable dt = ds.Tables[0];
                        //contar cantidad de empresas
                        int _cantidad_Usuarios = dt.Rows.Count;
                        //crear array bidimencional
                        string[,] ListaUsuarios = new string[_cantidad_Usuarios, 2];
                        //Recorrer data table
                        int _fila = 0;
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            //Capturar datos de la fila recorridad en objeto empresa
                            string rut_usuario = (String)dt.Rows[i]["Rut_usuario"];
                            string nombre      = (String)dt.Rows[i]["Primer_nombre"] + " " + (String)dt.Rows[i]["Primer_apellido"];
                            string rut_empresa = (String)dt.Rows[i]["Rut_empresa"];

                            //CAPTURAR DATASET
                            DataSet dsU = auxServiceCuenta.TraerCuentaConEmpresaSinEntidad_Escritorio(rut_usuario, _rut_empresa);
                            if ((dsU.Tables.Count != 0) && (dsU.Tables[0].Rows.Count > 0))
                            {
                                //no carga nada al gridview por que ya es usuario  de la empresa
                            }
                            else
                            {
                                //cargar array con datos de fila
                                ListaUsuarios[_fila, 0] = rut_usuario;
                                ListaUsuarios[_fila, 1] = nombre;
                                //agregar lista a gridview
                                dgvUsuario.Rows.Add(ListaUsuarios[_fila, 0], ListaUsuarios[_fila, 1]);
                                _fila++;
                            }
                        }
                        pbSeleccionUsuario.Visible = false;
                        pbSeleccionEmpresa.Visible = true;
                        pbSeleccion.Visible        = false;
                        txtUsuario.Text            = string.Empty;
                        txtCorreo.Text             = string.Empty;
                        _rut_usuario = null;
                        _correo      = null;
                        _id_rol      = null;
                        //vaciar combobox
                        cbRol.DataSource = null;
                        cbRol.Items.Clear();
                        //cargar como rol
                        cargarComboRol();
                    }
                    else
                    {
                        pbSeleccionUsuario.Visible = false;
                        pbSeleccionEmpresa.Visible = true;
                        pbSeleccion.Visible        = false;
                        txtUsuario.Text            = string.Empty;
                        txtCorreo.Text             = string.Empty;
                        _rut_usuario = null;
                        _correo      = null;
                        _id_rol      = null;
                        //vaciar combobox
                        cbRol.DataSource = null;
                        cbRol.Items.Clear();
                        //cargar como rol
                        cargarComboRol();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error en metodo de accion TxtFiltrarUsuario_KeyUp, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #8
0
        private void BtnAcceder_Click(object sender, EventArgs e)
        {
            try
            {
                //Instancia de web service con credenciales NT
                ServiceProcess_Cuenta.Process_CuentaSoapClient auxServiceCuenta = new ServiceProcess_Cuenta.Process_CuentaSoapClient();
                auxServiceCuenta.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceCuenta.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Usuario.Process_UsuarioSoapClient auxServiceUsuario = new ServiceProcess_Usuario.Process_UsuarioSoapClient();
                auxServiceUsuario.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceUsuario.ClientCredentials.UserName.Password = Cuenta.Clave_iis;
                ServiceProcess_Rol.Process_RolSoapClient auxServiceRol = new ServiceProcess_Rol.Process_RolSoapClient();
                auxServiceRol.ClientCredentials.UserName.UserName = Cuenta.Usuario_iis;
                auxServiceRol.ClientCredentials.UserName.Password = Cuenta.Clave_iis;

                ServiceProcess_Cuenta.Cuenta auxCuenta = new ServiceProcess_Cuenta.Cuenta();

                auxCuenta = auxServiceCuenta.TraerCuentaConEntidad_Escritorio(txtUser.Text.ToUpper());

                if (txtUser.Text != "USUARIO")
                {
                    if (txtPass.Text != "CONTRASEÑA")
                    {
                        if (txtUser.Text.Trim().Length < 12)
                        {
                            if (txtPass.Text.Trim().Length < 20)
                            {
                                if (auxCuenta.Rut_usuario != null)
                                {
                                    if (auxCuenta.Estado != 0)
                                    {
                                        if (auxCuenta.Id_rol == 1)
                                        {
                                            if (auxCuenta.Rut_usuario.Equals(txtUser.Text.ToUpper()) && auxCuenta.Contrasena.Equals(txtPass.Text))
                                            {
                                                ServiceProcess_Usuario.Usuario auxUsuario = new ServiceProcess_Usuario.Usuario();
                                                ServiceProcess_Rol.Rol         auxRol     = new ServiceProcess_Rol.Rol();

                                                auxUsuario = auxServiceUsuario.TraerUsuarioConEntidad_Escritorio(auxCuenta.Rut_usuario);
                                                auxRol     = auxServiceRol.TraerRolConEntidad_Escritorio(auxCuenta.Id_rol);

                                                string nombreCorto = auxUsuario.Primer_nombre + " " + auxUsuario.Primer_apellido;
                                                string nombres     = auxUsuario.Primer_nombre + " " + auxUsuario.Segundo_nombre;
                                                string apellidos   = auxUsuario.Primer_apellido + " " + auxUsuario.Segundo_apellido;
                                                string pefil       = auxRol.Nombre;

                                                this.Hide();
                                                PantallaCarga mainPantallaCarga = new PantallaCarga(nombreCorto);
                                                mainPantallaCarga.ShowDialog();
                                                PantallaMenuPrincipal mainPantallaMenuPrincipal = new PantallaMenuPrincipal(nombres, apellidos, pefil);
                                                mainPantallaMenuPrincipal.Show();
                                            }
                                            else
                                            {
                                                msgError("Usuario o clave incorrecto, por favor intente Nuevamente");
                                                txtPass.Clear();
                                                txtUser.Focus();
                                            }
                                        }
                                        else
                                        {
                                            msgError("Cuenta No tiene permisos para acceder a este Modulo");
                                            txtPass.Clear();
                                            txtUser.Focus();
                                        }
                                    }
                                    else
                                    {
                                        msgError("Cuenta Deshabilitada, contacte al Administrador");
                                        txtPass.Clear();
                                        txtUser.Focus();
                                    }
                                }
                                else
                                {
                                    msgError("Cuenta no Existe, favor usar formato 11111111-K");
                                    txtUser.Clear();
                                    txtUser.Focus();
                                }
                            }
                            else
                            {
                                msgError("La Password no puede tener menos de 5 Caracteres y mas de 20");
                                txtPass.Clear();
                                txtUser.Focus();
                            }
                        }
                        else
                        {
                            msgError("El largo de caracteres del usuario no puede ser mayor a 12");
                            txtUser.Clear();
                            txtUser.Focus();
                        }
                    }
                    else
                    {
                        msgError("Por favor ingrese su Contraseña");
                    }
                }
                else
                {
                    msgError("Por favor ingrese su Nombre de Usuario");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Web Service Process Fuera de Linea, Contactese con el Administrador Detalle de Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtPass.Clear();
                txtUser.Focus();
            }
        }