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 /// /// Inluye los datos del Proyecto /// /// 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; } /// /// Actualiza el dato del Proyecto /// 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; } /// /// Actualiza el estado del Lider a Proyecto /// 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; } /// /// Lista los todos los Proyectos asignados a un usuario /// /// 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; } /// /// Lista todos los proyectos disponibles para asignar /// /// //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 } }