260 lines
11 KiB
C#
260 lines
11 KiB
C#
|
|
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
|
|||
|
|
}
|
|||
|
|
}
|