195 lines
7.3 KiB
C#
195 lines
7.3 KiB
C#
using AyADAL;
|
|
using AyAEL.SEP;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AyABL.SEP
|
|
{
|
|
public class LiderProyectoBL : AyABL
|
|
{
|
|
#region Constructores
|
|
|
|
public LiderProyectoBL()
|
|
{
|
|
objLiderProyectoEL = new LiderProyectoEL();
|
|
this.NombreTabla = Modulos.t_sep_.ToString() + Tablas.liderproyecto.ToString();
|
|
this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString();
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Atributos
|
|
|
|
public LiderProyectoEL objLiderProyectoEL { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Metodos
|
|
|
|
/// <summary>
|
|
/// Inluye los datos del Proyecto
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
|
|
public int insertarLiderProyecto()
|
|
{
|
|
int intEjecutado = 0;
|
|
|
|
this.CamposTabla = Constraints.FK.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|
Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper();
|
|
|
|
this.ValoresCampos = new object[]{objLiderProyectoEL.Usuario,
|
|
objLiderProyectoEL.Proyecto};
|
|
|
|
intEjecutado = baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD);
|
|
|
|
return intEjecutado;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Actualiza el dato del Proyecto
|
|
/// </summary>
|
|
|
|
public bool actualizarProyecto()
|
|
{
|
|
ArrayList arlCondiciones = new ArrayList();
|
|
bool blnEjecutado = false;
|
|
|
|
if (objLiderProyectoEL.PK != 0)
|
|
{
|
|
arlCondiciones.Add(this.buscarPorPK(objLiderProyectoEL.PK, Tablas.proyecto, operadorLogico.AND));
|
|
}
|
|
|
|
this.CamposTabla = Constraints.FK.ToString() + Tablas.usuario.ToString().ToUpper() + ", " +
|
|
Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper();
|
|
|
|
this.ValoresCampos = new object[]{ };
|
|
|
|
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
|
|
|
|
blnEjecutado = true;
|
|
|
|
return blnEjecutado;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Actualiza el estado del Lider a Proyecto
|
|
/// </summary>
|
|
|
|
public bool actualizaEstadoLiderProyecto()
|
|
{
|
|
ArrayList arlCondiciones = new ArrayList();
|
|
bool blnEjecutado = false;
|
|
|
|
if (objLiderProyectoEL.PK != 0)
|
|
{
|
|
arlCondiciones.Add(this.buscarPorPK(objLiderProyectoEL.PK, Tablas.liderproyecto, operadorLogico.NONE));
|
|
}
|
|
|
|
this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.liderproyecto.ToString();
|
|
|
|
this.ValoresCampos = new object[] { objLiderProyectoEL.ASTATE = false };
|
|
|
|
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
|
|
|
|
blnEjecutado = true;
|
|
|
|
return blnEjecutado;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Lista los todos los Proyectos asignados a un usuario
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
|
|
public DataSet getLiderProyectos()
|
|
{
|
|
DataSet dsLider = new DataSet();
|
|
ArrayList arlCondiciones = new ArrayList();
|
|
|
|
if (objLiderProyectoEL.Usuario != 0)
|
|
{
|
|
arlCondiciones.Add(buscarPorUsuario(objLiderProyectoEL.Usuario, operadorLogico.AND));
|
|
}
|
|
|
|
if (objLiderProyectoEL.Region != 0)
|
|
{
|
|
arlCondiciones.Add(buscarPorRegion(objLiderProyectoEL.Region, operadorLogico.AND));
|
|
}
|
|
|
|
NombreTabla = Vistas.v_liderproyecto.ToString();
|
|
|
|
dsLider = baseDAL.EjecutarConsulta(NombreTabla, CamposTabla, NombreConeccionBD, arlCondiciones, null, null);
|
|
|
|
//string query;
|
|
|
|
//if (fkRegion == 0)
|
|
//{
|
|
// query = "SELECT l.PKLIDERPROYECTO, p.PKPROYECTO, p.NOMBREPROYECTO, i.ENCARGADOINFORMACIONGENERAL FROM t_agp_proyecto p JOIN t_sep_liderproyecto l ON p.PKPROYECTO = l.FKPROYECTO " +
|
|
// "JOIN dbo.t_igp_informaciongeneral i ON i.FKPROYECTO = p.PKPROYECTO WHERE l.FKUSUARIO = " + fkUser + "AND ASTATELIDERPROYECTO = 1";
|
|
//}
|
|
//else
|
|
//{
|
|
// query = "SELECT l.PKLIDERPROYECTO, p.PKPROYECTO, p.NOMBREPROYECTO, i.ENCARGADOINFORMACIONGENERAL FROM t_agp_proyecto p JOIN t_sep_liderproyecto l ON p.PKPROYECTO = l.FKPROYECTO " +
|
|
// "JOIN dbo.t_igp_informaciongeneral i ON i.FKPROYECTO = p.PKPROYECTO WHERE l.FKUSUARIO = " + fkUser + "AND ASTATELIDERPROYECTO = 1 AND i.FKREGION = " + fkRegion;
|
|
//}
|
|
//DataSet dsProyecto = baseDAL.ejecutarConsulta(query, arlCondiciones, this.NombreConeccionBD);
|
|
|
|
return dsLider;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Lista todos los proyectos disponibles para asignar
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
//public DataSet getLiderProyectos()
|
|
//{
|
|
// ArrayList arlCondiciones = new ArrayList();
|
|
|
|
// //if (this.objLiderProyectoEL.PK != 0)
|
|
// //{
|
|
// // arlCondiciones.Add(buscarPorPK(objLiderProyectoEL.PK, Tablas.liderproyecto, operadorLogico.AND));
|
|
// //}
|
|
// //arlCondiciones.Add(buscarPorAstate(true, Tablas.liderproyecto, operadorLogico.NONE));
|
|
// //DataSet dsProyecto = baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, " ORDER BY PKLIDERPROYECTO ASC ");
|
|
|
|
// string query = "SELECT p.PKPROYECTO, p.NOMBREPROYECTO, i.ENCARGADOINFORMACIONGENERAL FROM t_agp_proyecto p JOIN t_sep_liderproyecto l ON p.PKPROYECTO = l.FKPROYECTO " +
|
|
// "JOIN dbo.t_igp_informaciongeneral i ON i.FKPROYECTO = p.PKPROYECTO WHERE ASTATELIDERPROYECTO = 1";
|
|
// DataSet dsProyecto = baseDAL.ejecutarConsulta(query, arlCondiciones, this.NombreConeccionBD);
|
|
|
|
// return dsProyecto;
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region Condiciones de Busqueda
|
|
|
|
protected CondicionDAL buscarPorUsuario(int p_intUsuario, operadorLogico logOp)
|
|
{
|
|
CondicionDAL cdlCondicion = new CondicionDAL();
|
|
cdlCondicion.valorIzquierdo = Constraints.FK.ToString() + Tablas.usuario.ToString();
|
|
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
|
|
cdlCondicion.operadorLogico = logOp;
|
|
cdlCondicion.valorDerecho = p_intUsuario;
|
|
return cdlCondicion;
|
|
}
|
|
|
|
protected CondicionDAL buscarPorRegion(int p_intRegion, operadorLogico logOp)
|
|
{
|
|
CondicionDAL cdlCondicion = new CondicionDAL();
|
|
cdlCondicion.valorIzquierdo = Constraints.FK.ToString() + Tablas.region.ToString();
|
|
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
|
|
cdlCondicion.operadorLogico = logOp;
|
|
cdlCondicion.valorDerecho = p_intRegion;
|
|
return cdlCondicion;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|