259 lines
9.3 KiB
C#
259 lines
9.3 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Data;
|
|||
|
|
using System.Data.Common;
|
|||
|
|
|
|||
|
|
using AyABL.AUT.Autenticacion;
|
|||
|
|
using AyAEL.SEG;
|
|||
|
|
using AyADAL;
|
|||
|
|
|
|||
|
|
namespace AyABL.SEG
|
|||
|
|
{
|
|||
|
|
public class UsuarioBL : AyABL
|
|||
|
|
{
|
|||
|
|
#region Constructores
|
|||
|
|
|
|||
|
|
public UsuarioBL()
|
|||
|
|
{
|
|||
|
|
objUsuarioEL = new UsuarioEL();
|
|||
|
|
this.NombreTabla = Modulos.t_seg_.ToString() + Tablas.usuario.ToString();
|
|||
|
|
this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Atributos
|
|||
|
|
|
|||
|
|
public UsuarioEL objUsuarioEL { get; set; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Metodos
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo para loguearse contra active directory
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="p_strLogin"></param>
|
|||
|
|
/// <param name="p_strContrasena"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
/// Usado en:
|
|||
|
|
/// wfrLogin.aspx
|
|||
|
|
public bool validarActiveDirectory(string p_strLogin, string p_strContrasena)
|
|||
|
|
{
|
|||
|
|
bool blnEjecutado = false;
|
|||
|
|
AutenticacionBL objAutenticacionBL = new AutenticacionBL();
|
|||
|
|
string servidorActiveDirectory = "aya-srv-0111/DC=intranet, DC=aya, DC=go, DC=cr";
|
|||
|
|
|
|||
|
|
if (objAutenticacionBL.Autenticar(p_strLogin, p_strContrasena, servidorActiveDirectory))
|
|||
|
|
{
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
string servidorActiveDirectory2 = "aya-vsrv-0112/DC=intranet,DC=aya,DC=go,DC=cr";
|
|||
|
|
|
|||
|
|
if (objAutenticacionBL.Autenticar(p_strLogin, p_strContrasena, servidorActiveDirectory2))
|
|||
|
|
{
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
blnEjecutado = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
return blnEjecutado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Se utiliza para loguearse al sistema
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="p_objUsuarioEL"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
/// Usado en:
|
|||
|
|
/// wfrLogin.aspx
|
|||
|
|
|
|||
|
|
public DataSet dsLogueo()
|
|||
|
|
{
|
|||
|
|
DataSet dsLogueo = new DataSet();
|
|||
|
|
ArrayList arlCondiciones = new ArrayList();
|
|||
|
|
|
|||
|
|
arlCondiciones.Add(buscarPorLogin(objUsuarioEL.Login, Tablas.usuario, operadorLogico.AND));
|
|||
|
|
arlCondiciones.Add(buscarPorActivo(true, Tablas.usuario, operadorLogico.NONE));
|
|||
|
|
|
|||
|
|
NombreTabla = Vistas.v_informacionusuario.ToString();
|
|||
|
|
|
|||
|
|
dsLogueo = baseDAL.EjecutarConsulta(NombreTabla, CamposTabla, NombreConeccionBD, arlCondiciones, null, null);
|
|||
|
|
|
|||
|
|
return dsLogueo;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Se utiliza para listar los registros de la tabla
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="p_objUsuarioEL"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
/// Usado en:
|
|||
|
|
/// wfrLogin.aspx
|
|||
|
|
|
|||
|
|
public DataSet getListaUsuarios(ArrayList p_arlCondicionesBuscador)
|
|||
|
|
{
|
|||
|
|
DataSet dsLogueo = new DataSet();
|
|||
|
|
ArrayList arlCondiciones = new ArrayList();
|
|||
|
|
|
|||
|
|
cargarCondicionBusqueda(arlCondiciones, p_arlCondicionesBuscador);
|
|||
|
|
|
|||
|
|
if (objUsuarioEL.PK != 0)
|
|||
|
|
arlCondiciones.Add(buscarPorPK(objUsuarioEL.PK, Tablas.usuario, operadorLogico.AND));
|
|||
|
|
|
|||
|
|
if (objUsuarioEL.Activo != null)
|
|||
|
|
arlCondiciones.Add(buscarPorActivo(objUsuarioEL.Activo, Tablas.usuario, operadorLogico.NONE));
|
|||
|
|
|
|||
|
|
NombreTabla = Vistas.v_informacionusuario.ToString();
|
|||
|
|
|
|||
|
|
dsLogueo = baseDAL.EjecutarConsulta(NombreTabla, CamposTabla, NombreConeccionBD, arlCondiciones, null, null);
|
|||
|
|
|
|||
|
|
return dsLogueo;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public bool getUsuario()
|
|||
|
|
{
|
|||
|
|
bool blnEjecutado = false;
|
|||
|
|
ArrayList arlCondiciones = new ArrayList();
|
|||
|
|
int intUsuario = 0;
|
|||
|
|
|
|||
|
|
arlCondiciones.Add(buscarPorLogin(objUsuarioEL.Login, Tablas.usuario, operadorLogico.NONE));
|
|||
|
|
|
|||
|
|
intUsuario = baseDAL.EjecutarConsulta(NombreTabla, CamposTabla, NombreConeccionBD, arlCondiciones, null, null).Tables[0].Rows.Count;
|
|||
|
|
|
|||
|
|
if (intUsuario == 0)
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
|
|||
|
|
return blnEjecutado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Incluye los datos del usuario en base de datos
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
/// Usado en:
|
|||
|
|
/// SEG/usuario/frwUsuario.aspx
|
|||
|
|
|
|||
|
|
public bool insertarUsuario()
|
|||
|
|
{
|
|||
|
|
bool blnEjecutado = false;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
this.CamposTabla = t_seg_usuario.LOGIN.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
Concepto.NOMBRE.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
t_seg_usuario.CEDULA.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
t_seg_usuario.CORREO.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
Constraints.FK.ToString() + Tablas.rol.ToString().ToUpper() + ", " +
|
|||
|
|
Constraints.FK.ToString() + Tablas.dependencia.ToString().ToUpper();
|
|||
|
|
|
|||
|
|
this.ValoresCampos = new object[]{objUsuarioEL.Login,
|
|||
|
|
objUsuarioEL.Nombre,
|
|||
|
|
objUsuarioEL.Cedula,
|
|||
|
|
objUsuarioEL.Correo,
|
|||
|
|
objUsuarioEL.Rol,
|
|||
|
|
objUsuarioEL.Dependencia
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, null);
|
|||
|
|
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
|
|||
|
|
return blnEjecutado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Actualiza los datos del usuario en base de datos
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
|
|||
|
|
public bool actualizarUsuario()
|
|||
|
|
{
|
|||
|
|
bool blnEjecutado = false;
|
|||
|
|
ArrayList arlCondiciones = new ArrayList();
|
|||
|
|
|
|||
|
|
if (objUsuarioEL.PK != 0)
|
|||
|
|
{
|
|||
|
|
arlCondiciones.Add(buscarPorPK(objUsuarioEL.PK, Tablas.usuario, operadorLogico.NONE));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
this.CamposTabla = t_seg_usuario.LOGIN.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
Concepto.NOMBRE.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
t_seg_usuario.CEDULA.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
t_seg_usuario.CORREO.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
Concepto.ACTIVO.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|||
|
|
Constraints.FK.ToString() + Tablas.rol.ToString().ToUpper() + ", " +
|
|||
|
|
Constraints.FK.ToString() + Tablas.dependencia.ToString().ToUpper();
|
|||
|
|
|
|||
|
|
this.ValoresCampos = new object[]{objUsuarioEL.Login,
|
|||
|
|
objUsuarioEL.Nombre,
|
|||
|
|
objUsuarioEL.Cedula,
|
|||
|
|
objUsuarioEL.Correo,
|
|||
|
|
objUsuarioEL.Activo,
|
|||
|
|
objUsuarioEL.Rol,
|
|||
|
|
objUsuarioEL.Dependencia
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
|
|||
|
|
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
|
|||
|
|
|
|||
|
|
return blnEjecutado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Actualiza el estado del usuario en base de datos
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
|
|||
|
|
public bool actualizarEstadoUsuario()
|
|||
|
|
{
|
|||
|
|
bool blnEjecutado = false;
|
|||
|
|
ArrayList arlCondiciones = new ArrayList();
|
|||
|
|
|
|||
|
|
if (objUsuarioEL.PK != 0)
|
|||
|
|
{
|
|||
|
|
arlCondiciones.Add(buscarPorPK(objUsuarioEL.PK, Tablas.usuario, operadorLogico.NONE));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
this.CamposTabla = Concepto.ACTIVO.ToString() + Tablas.usuario.ToString().ToUpper();
|
|||
|
|
|
|||
|
|
this.ValoresCampos = new object[]{ objUsuarioEL.Activo };
|
|||
|
|
|
|||
|
|
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
|
|||
|
|
|
|||
|
|
blnEjecutado = true;
|
|||
|
|
|
|||
|
|
|
|||
|
|
return blnEjecutado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Condiciones
|
|||
|
|
protected CondicionDAL buscarPorLogin(string p_strLogin, Tablas p_nombreTabla, operadorLogico logOp)
|
|||
|
|
{
|
|||
|
|
CondicionDAL cdlCondicion = new CondicionDAL();
|
|||
|
|
cdlCondicion.valorIzquierdo = t_seg_usuario.LOGIN.ToString() + p_nombreTabla.ToString();
|
|||
|
|
cdlCondicion.operadorLogico = logOp;
|
|||
|
|
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
|
|||
|
|
cdlCondicion.valorDerecho = p_strLogin;
|
|||
|
|
return cdlCondicion;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
}
|
|||
|
|
}
|