TFS_ANTIGUO/AYA.FROPI/AyABL/ADM/UbicacionBL.cs

260 lines
11 KiB
C#
Raw Normal View History

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using AyAEL.ADM;
using AyADAL;
namespace AyABL.ADM
{
public class UbicacionBL : AyABL
{
#region Constructores
public UbicacionBL()
{
objUbicacionEL = new UbicacionEL();
this.NombreTabla = Modulos.t_adm_.ToString() + Tablas.ubicacion.ToString();
this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString();
}
#endregion
#region Atributos
public UbicacionEL objUbicacionEL { get; set; }
#endregion
#region Metodos
/// <summary>
/// Se utiliza para listar los registros de la tabla
/// </summary>
/// <param name="p_objUbicacionEL"></param>
/// <returns></returns>
/// Usado en:
/// wfrLogin.aspx
public DataSet getUbicacion()
{
DataSet dsUbicacion = new DataSet();
ArrayList arlCondiciones = new ArrayList();
if (objUbicacionEL.PK != 0)
{
arlCondiciones.Add(buscarPorPK(objUbicacionEL.PK, Tablas.ubicacion, operadorLogico.NONE));
}
if (objUbicacionEL.Padre != 0)
{
arlCondiciones.Add(buscarPorPadre(objUbicacionEL.Padre, Tablas.ubicacion, operadorLogico.NONE, operadorGeneral.EQUAL));
}
dsUbicacion = baseDAL.EjecutarConsulta(NombreTabla, CamposTabla, NombreConeccionBD, arlCondiciones, null, null);
return dsUbicacion;
}
public DataSet getUbicacion(int PKPROYECTO)
{
DataSet dsUbicacion = new DataSet();
ArrayList arlCondiciones = new ArrayList();
arlCondiciones.Add(buscarPorFK(PKPROYECTO, Tablas.proyecto, operadorLogico.NONE));
dsUbicacion = baseDAL.EjecutarConsulta(Vistas.v_ubicacion.ToString(), CamposTabla, NombreConeccionBD, arlCondiciones, null, null);
return dsUbicacion;
}
/// <summary>
/// Metodo encargado de obtener un dataset con las ubicaciones por proyecto
/// </summary>
/// <param name="FKPROYECTO"> Corresponde a la llave del proyecto que desea consultar</param>
/// <returns></returns>
public DataSet getUbicacionProyecto(int FKPROYECTO)
{
ArrayList arlCondiciones = new ArrayList();
DataSet dsProyecto = baseDAL.ejecutarConsulta("SELECT proyecto.FKPROYECTO, provincias.PKUBICACION AS FKUBICACIONPROVINCIA, provincias.NOMBREUBICACION AS PROVINCIA, " +
"cantones.NOMBREUBICACION AS CANTON, proyecto.FKUBICACIONDISTRITO, distritos.NOMBREUBICACION AS DISTRITO, " +
"proyecto.FKUBICACIONBARRIO, barrios.NOMBREUBICACION AS BARRIO FROM dbo.t_agp_ubicacion AS proyecto INNER JOIN " +
"dbo.t_adm_ubicacion AS distritos ON proyecto.FKUBICACIONDISTRITO = distritos.PKUBICACION LEFT JOIN " +
"dbo.t_adm_ubicacion AS cantones ON distritos.PADREUBICACION = cantones.PKUBICACION LEFT JOIN " +
"dbo.t_adm_ubicacion AS provincias ON cantones.PADREUBICACION = provincias.PKUBICACION LEFT JOIN " +
"dbo.t_adm_ubicacion AS barrios ON proyecto.FKUBICACIONBARRIO = barrios.PKUBICACION " +
"WHERE proyecto.ASTATEUBICACION = 1 AND proyecto.FKPROYECTO = " + FKPROYECTO, arlCondiciones, this.NombreConeccionBD);
return dsProyecto;
}
private bool validarUbicacionProyecto(UbicacionEL pObjUbicacionEL, string pCamposTabla, string pNombreTabla, object[] pValores)
{
try
{
ArrayList arlCondiciones = new ArrayList();
arlCondiciones.Add(buscarPorFK(pObjUbicacionEL.FK, Tablas.proyecto, operadorLogico.AND));
arlCondiciones.Add(buscarPorAstate(true, Tablas.ubicacion, operadorLogico.AND));
arlCondiciones.Add(buscarPorColumna(pObjUbicacionEL.FKUBICACIONDISTRITO.ToString(),
"FKUBICACIONDISTRITO",
pObjUbicacionEL.FKUBICACIONBARRIO != 0 ? operadorLogico.AND : operadorLogico.NONE));
if (pObjUbicacionEL.FKUBICACIONBARRIO != 0)
arlCondiciones.Add(buscarPorColumna(pObjUbicacionEL.FKUBICACIONBARRIO.ToString(), "FKUBICACIONBARRIO", operadorLogico.NONE));
var dsResultado = baseDAL.EjecutarConsulta(pNombreTabla, pCamposTabla, this.NombreConeccionBD, arlCondiciones, null, null);
if (dsResultado != null && dsResultado.Tables.Count > 0 && dsResultado.Tables[0].Rows.Count > 0)
return true;
}
catch (Exception ex)
{
}
return false;
}
/// <summary>
/// Incluye los datos del Ubicacion en base de datos
/// </summary>
/// <returns></returns>
/// Usado en:
/// SEG/Ubicacion/frwUbicacion.aspx
public bool insertarUbicacion()
{
bool blnEjecutado = false;
this.CamposTabla = Concepto.PADRE.ToString() + Tablas.ubicacion.ToString().ToUpper() + ", " +
Concepto.NOMBRE.ToString() + Tablas.ubicacion.ToString().ToUpper();
this.ValoresCampos = new object[]{objUbicacionEL.Padre,
objUbicacionEL.Nombre};
baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, null);
blnEjecutado = true;
return blnEjecutado;
}
public bool InsertarUbicacionProyecto()
{
bool blnEjecutado = false;
this.CamposTabla = objUbicacionEL.FKUBICACIONBARRIO == 0 ? "FKPROYECTO, FKUBICACIONDISTRITO,ASTATEUBICACION" : "FKPROYECTO, FKUBICACIONDISTRITO, FKUBICACIONBARRIO, ASTATEUBICACION";
this.ValoresCampos = objUbicacionEL.FKUBICACIONBARRIO == 0 ? new object[]{objUbicacionEL.FK,
objUbicacionEL.FKUBICACIONDISTRITO,
1} :
new object[]{objUbicacionEL.FK,
objUbicacionEL.FKUBICACIONDISTRITO,
objUbicacionEL.FKUBICACIONBARRIO,
1}; ;
this.NombreTabla = Modulos.t_agp_.ToString() + Tablas.ubicacion.ToString();
if(!validarUbicacionProyecto(objUbicacionEL,this.CamposTabla,this.NombreTabla,this.ValoresCampos))
baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, null);
else
{
return false;
}
blnEjecutado = true;
return blnEjecutado;
}
/// <summary>
/// Actualiza los datos del Ubicacion en base de datos
/// </summary>
/// <returns></returns>
public bool actualizarUbicacion()
{
bool blnEjecutado = false;
ArrayList arlCondiciones = new ArrayList();
if (objUbicacionEL.PK != 0)
{
arlCondiciones.Add(buscarPorPK(objUbicacionEL.PK, Tablas.ubicacion, operadorLogico.NONE));
}
this.CamposTabla = Concepto.PADRE.ToString() + Tablas.ubicacion.ToString().ToUpper() + ", " +
Concepto.NOMBRE.ToString() + Tablas.ubicacion.ToString().ToUpper();
this.ValoresCampos = new object[]{objUbicacionEL.Padre,
objUbicacionEL.Nombre
};
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, null);
blnEjecutado = true;
return blnEjecutado;
}
/// <summary>
/// Actualiza el estado del Ubicacion en base de datos
/// </summary>
/// <returns></returns>
public bool borradoLogicoUbicacion()
{
bool blnEjecutado = false;
ArrayList arlCondiciones = new ArrayList();
if (objUbicacionEL.PK != 0)
{
arlCondiciones.Add(buscarPorPK(objUbicacionEL.PK, Tablas.ubicacion, operadorLogico.NONE));
}
this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.ubicacion.ToString().ToUpper();
this.ValoresCampos = new object[] { objUbicacionEL.ASTATE };
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, null);
blnEjecutado = true;
return blnEjecutado;
}
public bool borradoLogicoUbicacionProyecto()
{
bool blnEjecutado = false;
ArrayList arlCondiciones = new ArrayList();
arlCondiciones.Add(buscarPorFK(objUbicacionEL.FK, Tablas.proyecto, operadorLogico.AND));
arlCondiciones.Add(buscarPorColumna(objUbicacionEL.FKUBICACIONDISTRITO.ToString(),
"FKUBICACIONDISTRITO",
objUbicacionEL.FKUBICACIONBARRIO != 0 ? operadorLogico.AND : operadorLogico.NONE));
if (objUbicacionEL.FKUBICACIONBARRIO != 0)
arlCondiciones.Add(buscarPorColumna(objUbicacionEL.FKUBICACIONBARRIO.ToString(), "FKUBICACIONBARRIO", operadorLogico.NONE));
this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.ubicacion.ToString().ToUpper();
this.ValoresCampos = new object[] { objUbicacionEL.ASTATE };
this.NombreTabla = Modulos.t_agp_.ToString() + Tablas.ubicacion.ToString();
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD,arlCondiciones);
blnEjecutado = true;
return blnEjecutado;
}
#endregion
#region Condiciones
#endregion
}
}