TFS_ANTIGUO/SIGPC/ProyectoSIGPC/Forms/Mantenimiento/frwActividades.aspx.cs
kledezma 7fdadc4709 KLB
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C519
2021-01-22 15:05:35 +00:00

836 lines
No EOL
30 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*===========================================================================================================================
* Instituto Costarricense de Acueductos y Alcantarillados. - 2015
* Administración de la Seguridad
* Nombre de la Pantalla: frwUsuario.aspx
*
* Explicación de los contenidos del archivo
*===========================================================================================================================
* HISTORIAL
*
* PERSONA DIA MES - AÑO DESCRIPCIÓN
* Rubén Vargas González 27 03 - 2017 Se inicia con el diseño de la pagina
* …………………………………………………………
* …………………………………………………………
*===========================================================================================================================
* Derechos Reservados (C) 2015 AyA.
* ESTE CÓDIGO ES PROVEÍDO “TAL CUAL ES” SIN GARANTÍA ALGUNA
* DE NINGÚN TIPO, SEA IMPLICITA O EXPLICITA.
* NO SE PERMITE SU REPRODUCCIÓN PARCIAL O TOTAL, NI SU COMERCIALIZACIÓN
*===========================================================================================================================
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using AyABL;
using AyABL.AUT.Autenticacion;
using AyADAL;
using System.Configuration;
using AyABL.RCS;
using AyABL.Tran;
using AyABL.APL;
using AyABL.Usuario;
public partial class Forms_Mantenimiento_frwActividades : General
{
#region Inicializar Formulario (R0)
override protected void OnInit(EventArgs e) //M0
{
try
{
base.OnInit(e);
InicializarFormulario();
}
catch (Exception ex)
{
MensajeError("Error en R0M0", ex);
}
}
private void InicializarFormulario() //M1
{
try
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
construirGridView();
Javascript.CheckAllGridViewItems(Page);
cuwBusquedaList.Buscar += new _controlesusuario_Estandar_cuwBusquedaList.SearchEvent(Buscar);
}
catch (Exception ex)
{
MensajeError("Error en R0M1", ex);
}
}
#endregion
#region Variables (R1)
GridView grvListaDatosActividadesTemp, grvCantonalesADTemp;
ActividadesBL objActividadesBL;
UsuarioBL objUsuarioBL;
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
#endregion
#region Eventos Formulario (R2)
protected void Page_Load(object sender, EventArgs e) //M0
{
try
{
if ((!IsPostBack) && (Session.Count > 0))
{
llenarGridView(true);
mostrarFilaTabla(1);
//llenarTipoDesarrollo();
ComandosxMenu();
}
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
/// <summary>
/// Metodo que se utiliza para extraer información del registro de la base de datos y ser mostrado en el acordeon de Controles
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grvListaDatosActividades_RowCommand(object sender, GridViewCommandEventArgs e) //M0
{
try
{
if (e.CommandName == "editar")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaDatosActividades.Rows[i];
int intPKACTIVIDAD = Convert.ToInt32(selectedRow.Cells[2].Text);
ViewState["PKACTIVIDAD"] = intPKACTIVIDAD;
ViewState["MODO"] = "Modifica";
mostrarFilaTabla(2);
mostrarDatos(intPKACTIVIDAD);
}
}
catch (Exception ex)
{
MensajeError("Error en R3M0", ex);
}
}
/// <summary>
/// Metodo que se utiliza para la paginación del Grid en caso de que el usuario desee ver mas registros
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grvListaDatosActividades_PageIndexChanging(object sender, GridViewPageEventArgs e) //M3
{
try
{
grvListaDatosActividades.PageIndex = e.NewPageIndex;
llenarGridView(true);
}
catch (Exception ex)
{
MensajeError("Error en R3M3", ex);
}
}
///<summary>
///Activar el botón de Refrescar
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
protected void btnRefrescar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M4
{
try
{
llenarGridView(true);
}
catch (Exception ex)
{
MensajeError("Error en R3M4" + MensajesAplicacion.RefrescarFallido.ToString(), ex);
}
}
/// <summary>
/// Activa el evento del botón Buscar (binoculares)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnBuscar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M7
{
try
{
llenarGridView(true);
}
catch (Exception ex)
{
MensajeError("Error en R3M7" + MensajesAplicacion.UsuarioInexistente.ToString(), ex);
}
}
/// <summary>
/// Activa el evento del boton Nuevo
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNuevo_Click(object sender, EventArgs e) //M8
{
try
{
ViewState["MODO"] = "Nuevo";
mostrarFilaTabla(2);
//Limpia el grid de Active Directory
//txtDescripcion.Focus();
}
catch (Exception ex)
{
MensajeError("Error en R3M8" + MensajesAplicacion.GuardadoFallido.ToString(), ex);
}
}
/// <summary>
/// Metodo que activa el botón de Eliminar
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnActivar_Click(object sender, EventArgs e) //M9
{
try
{
foreach (GridViewRow row in grvListaDatosActividades.Rows)
{
HtmlInputCheckBox chkTemp = (HtmlInputCheckBox)row.Controls[0].Controls[1];
if (chkTemp != null)
{
// si el registro esta marcado
if (chkTemp.Checked)
{
int intPkEliminar = Convert.ToInt32(row.Cells[2].Text);
ActivarDesactivar(intPkEliminar);
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
}
}
}
llenarGridView(true);
}
catch (Exception ex)
{
MensajeError("Error en R3M9", ex);
}
}
///<summary>
///Activa el metodo del boton Anterior, regresa a la primera fila de la tabla
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
protected void btnAnterior_Click(object sender, EventArgs e) //M12
{
try
{
txtActividad.Text = "";
txtDescripcion.Text = "";
txtDuracion.Text = "";
txtParalelo.Text = "";
txtDuracionDU.Text = "";
//txtOrden.Text = "";
//llenarGridView(true);
divDatosSuperiores.Visible = true;
divDatosMedios.Visible = false;
}
catch (Exception ex)
{
MensajeError("Error en R3M12", ex);
}
}
/// <summary>
/// Activa el evento del boton guardar.1
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnGuardar_Click(object sender, EventArgs e) //M14
{
try
{
//if (ddlTipoDesarrollo.SelectedValue != "-1" && txtActividad.Text != "" && txtDescripcion.Text != "" && txtDuracion.Text != "" && txtParalelo.Text != "")
if(txtActividad.Text != "" && txtDescripcion.Text != "" && txtDuracion.Text != "" && txtDuracionDU.Text != "" && txtParalelo.Text != "" )
{
int PKACTIVIDAD = GuardarDatos();
llenarGridView(true);
mostrarFilaTabla(1);
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
}
else
{
//MensajeAlerta(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoFallido.ToString());
}
}
catch (Exception ex)
{
MensajeError("Error en R3M14", ex);
}
}
//protected void ddlTipoDesarrollo_SelectedIndexChanged(object sender, EventArgs e)//M12
//{
// try
// {
// llenarTipoDesarrollo();
// }
// catch (Exception ex)
// {
// MensajeError("Error en R3M12", ex);
// }
//}
#endregion
#region Metodos Personalizados (R4)
/// <summary>
/// Oculta las filas que lo requieran
/// </summary>
/// <param name="p_intFila"></param>
private void mostrarFilaTabla(int p_intFila) //M0
{
try
{
divDatosSuperiores.Visible = false;
divDatosMedios.Visible = false;
switch (p_intFila)
{
case 1:
llenarGridView(true);
divDatosSuperiores.Visible = true;
break;
case 2:
llenarGridView(true);
divDatosMedios.Visible = true;
break;
case 3:
llenarGridView(true);
break;
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Metodo que se utiliza para contruir el Grid al inicio de la pantalla
/// </summary>
private void construirGridView() //M1
{
try
{
grvListaDatosActividadesTemp = (GridView)tdLista.FindControl("grvListaDatosActividades");
GridViewBoundField bdfPkactividad = new GridViewBoundField("PKACTIVIDAD", "PK", false, false, false);
GridViewBoundField bdfORDEN = new GridViewBoundField("ORDENACTIVIDAD", "Orden", false, false, false);
GridViewBoundField bdfACTIVIDAD = new GridViewBoundField("NOMBREACTIVIDAD", "Actividad", true, false, true);
GridViewBoundField bdfDESCRIPCION = new GridViewBoundField("DESCRIPCIONACTIVIDAD", "Descripción", true, false, true);
GridViewBoundField bdfTIEMPO = new GridViewBoundField("TIEMPOCVACTIVIDAD", " Duración (Días) Crecimiento Vegetativo", true, false, true);
GridViewBoundField bdfTIEMPODU = new GridViewBoundField("TIEMPODUACTIVIDAD", "Duración (Días) Desarrollo Urbanistico", true, false, true);
GridViewBoundField bdfPARALELO = new GridViewBoundField("PARALELOACTIVIDAD", "En paralelo", true, false, true);
GridViewBoundField bdfActivo = new GridViewBoundField("ASTATEACTIVIDAD", "Activo", true, "Si", "No", true);
grvListaDatosActividadesTemp.Columns.Add(bdfPkactividad);
grvListaDatosActividadesTemp.Columns.Add(bdfORDEN);
grvListaDatosActividadesTemp.Columns.Add(bdfACTIVIDAD);
grvListaDatosActividadesTemp.Columns.Add(bdfDESCRIPCION);
grvListaDatosActividadesTemp.Columns.Add(bdfTIEMPO);
grvListaDatosActividadesTemp.Columns.Add(bdfTIEMPODU);
grvListaDatosActividadesTemp.Columns.Add(bdfPARALELO);
grvListaDatosActividadesTemp.Columns.Add(bdfActivo);
grvListaDatosActividadesTemp.Columns[0].ItemStyle.Width = 25;
grvListaDatosActividadesTemp.Columns[1].ItemStyle.Width = 25;
grvListaDatosActividadesTemp.Columns[2].ItemStyle.Width = 500;
grvListaDatosActividadesTemp.Columns[3].ItemStyle.Width = 500;
grvListaDatosActividadesTemp.Columns[4].ItemStyle.Width = 425;
//grvListaDatosCantonalesTemp.Columns[5].ItemStyle.Width = 25;
cuwBusquedaList.LlenarCHKLBusqueda(grvListaDatosActividadesTemp);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Metodo que se encarga de agregar el filtro de busqueda seleccionado por el usuario
/// </summary>
/// <returns></returns>
private void condicionesBusqueda() //M2
{
AyABL.AyABL objBL = new AyABL.AyABL();
CondicionDAL condicion;
DateTime dteFechaInicio = new DateTime();
DateTime dteFechaFin = new DateTime();
ListItem li = new ListItem();
string p_parametros;
p_parametros = this.cuwBusquedaList.getValorBusqueda();
try
{
if (p_parametros != "")
{
//aqui se construye el listItem con los datos que vienen del control en formato {valor : texto , valor : texto}
char[] separadorTuplas = { ',' };
char[] separadorValores = { ':' };
string[] arrayTupla = p_parametros.Split(separadorTuplas);
for (int i = 0; i <= (arrayTupla.Length - 1); i++)
{
if (arrayTupla[i].ToString() != "")
{
string[] arrayValores = arrayTupla[i].ToString().Split(separadorValores);
li = new ListItem(arrayValores[1], arrayValores[0]);
if (li.Value.Contains("FECHA") && li.Text != string.Empty)
{
if (li.Value.Contains("INICIO"))
{
dteFechaInicio = Convert.ToDateTime(li.Text.ToString());
dteFechaFin = DateTime.Now;
}
if (li.Value.Contains("FIN"))
{
dteFechaFin = Convert.ToDateTime(li.Text.ToString());
if (dteFechaFin != null || dteFechaInicio != null)
if (dteFechaInicio < dteFechaFin || dteFechaFin == dteFechaInicio)
{
objBL = new AyABL.AyABL();
arlCondicionesFiltroBusqueda = objBL.buscarPorFechas(Tablas.BITACORA, dteFechaInicio, dteFechaFin, operadorLogico.AND, arlCondicionesFiltroBusqueda);
}
else
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que la Fecha de Inicio sea menor que la Fecha Final" + "M2");
else
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que los campos de las fechas no estén vacíos" + "M2");
}
else
{
objBL = new AyABL.AyABL();
arlCondicionesFiltroBusqueda = objBL.buscarPorFechas(Tablas.BITACORA, dteFechaInicio, dteFechaFin, operadorLogico.AND, arlCondicionesFiltroBusqueda);
}
}
else
{
if (li.Value.Contains("booleano") && li.Text != "2")
{
condicion = new CondicionDAL();
char[] separadorColumna = { '|' };
string[] strColumna = li.Value.Split(separadorColumna);
condicion.valorIzquierdo = strColumna[1].ToString();
condicion.operadorGeneral = operadorGeneral.EQUAL;
condicion.operadorLogico = operadorLogico.AND;
condicion.valorDerecho = li.Text.Trim();
arlCondicionesFiltroBusqueda.Add(condicion);
}
else
{
if (li.Text != string.Empty && !li.Value.Contains("booleano"))
{
condicion = new CondicionDAL();
condicion.valorIzquierdo = li.Value;
condicion.operadorGeneral = operadorGeneral.LIKEALL;
condicion.operadorLogico = operadorLogico.AND;
condicion.valorDerecho = "%" + li.Text.Trim() + "%";
arlCondicionesFiltroBusqueda.Add(condicion);
}
}
}
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Metodo que se utiliza con el buscador de la parte superior de la pantalla, y hace que se despliegue la información de acuerdo
/// a lo solicitado
/// </summary>|
private void Buscar() //M4
{
try
{
llenarGridView(true);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Metodo que se utiliza para el despliegue de los botones
/// </summary>
private void ComandosxMenu() //M6
{
try
{
DataSet dsComandos = getComandos();
if (dsComandos != null)
{
foreach (DataRow drTemp in dsComandos.Tables[0].Rows)
{
switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper())
{
case "NUEVO":
//btnNuevo.Visible = true;
break;
case "MODIFICA":
//Inicio de variable tipo VIEWSTATE
ViewState["PUEDEMODIFICAR"] = true;
btnGuardar.Visible = true;
btnActivar.Visible = true;
break;
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Limpia los campos
/// </summary>
private void limpiarCampos()
{
txtActividad.Text = string.Empty;
txtDescripcion.Text = string.Empty;
txtDuracion.Text = string.Empty;
txtDuracionDU.Text = string.Empty;
txtParalelo.Text = string.Empty;
//txtOrden.Text = string.Empty;
}
#endregion
#region Metodos Controles a Datos (R5)
/// <summary>
/// guarda y modifica registros en la tabla.
/// </summary>
/// <returns></returns>
private int GuardarDatos() //M0
{
int nValorRetornado = 0;
try
{
string strModo = ViewState["MODO"].ToString();
objActividadesBL = new ActividadesBL();
objActividadesBL.objactividadesEL.NOMBRE = txtActividad.Text;
objActividadesBL.objactividadesEL.DESCRIPCION = txtDescripcion.Text;
objActividadesBL.objactividadesEL.TIEMPOCV = decimal.Parse(txtDuracion.Text);
objActividadesBL.objactividadesEL.TIEMPODU = decimal.Parse(txtDuracionDU.Text);
objActividadesBL.objactividadesEL.PARALELO = txtParalelo.Text;
//objActividadesBL.objactividadesEL.ORDEN = int.Parse(txtOrden.Text);
objActividadesBL.objactividadesEL.ASTATE = true;
if (strModo == "Nuevo")
{
nValorRetornado = objActividadesBL.insertarActividad();
limpiarCampos();
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado la actividad " + txtActividad.Text.Trim(),
"frwActividades.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
else if (strModo == "Modifica" && bool.Parse(ViewState["PUEDEMODIFICAR"].ToString()) == true)
{
objActividadesBL.objactividadesEL.PK = Convert.ToInt32(ViewState["PKACTIVIDAD"]);
nValorRetornado = objActividadesBL.modificarActividad();
limpiarCampos();
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha modificado la actividad " + txtActividad.Text.Trim(),
"frwActividades.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
}
catch (Exception ex)
{
throw ex;
}
return nValorRetornado;
}
/// <summary>
/// Activa o desactiva el usuario
/// </summary>
/// <returns></returns>
private bool ActivarDesactivar(int p_intPkEliminar) //M2
{
bool blnValorRetornado = false;
bool blnActivo = false;
try
{
objActividadesBL = new ActividadesBL();
objActividadesBL.objactividadesEL.PK = p_intPkEliminar;
DataSet dsActividadDS = objActividadesBL.listarActividadesMantenimiento(null, false, null);
//Verifica que el usuario se encuentre en la BD
if (dsActividadDS.Tables[0].Rows.Count != 0)
{
//Si esta activado que lo desactive
if (Convert.ToBoolean(dsActividadDS.Tables[0].Rows[0][Concepto.ASTATE.ToString() + Tablas.actividad.ToString()]))
blnActivo = false;
//Si esta desactivado que lo active
else
blnActivo = true;
objActividadesBL.objactividadesEL.NOMBRE = dsActividadDS.Tables[0].Rows[0][t_adm_actividad.NOMBRE.ToString() + Tablas.actividad.ToString()].ToString();
objActividadesBL.objactividadesEL.DESCRIPCION = dsActividadDS.Tables[0].Rows[0][t_adm_actividad.DESCRIPCION.ToString() + Tablas.actividad.ToString()].ToString();
objActividadesBL.objactividadesEL.TIEMPOCV = decimal.Parse(dsActividadDS.Tables[0].Rows[0][t_adm_actividad.TIEMPOCV.ToString() + Tablas.actividad.ToString()].ToString());
objActividadesBL.objactividadesEL.TIEMPODU = decimal.Parse(dsActividadDS.Tables[0].Rows[0][t_adm_actividad.TIEMPODU.ToString() + Tablas.actividad.ToString()].ToString());
objActividadesBL.objactividadesEL.PARALELO = dsActividadDS.Tables[0].Rows[0][t_adm_actividad.PARALELO.ToString() + Tablas.actividad.ToString()].ToString();
objActividadesBL.objactividadesEL.ASTATE = blnActivo;
//objActividadesBL.objactividadesEL.ORDEN = int.Parse(dsActividadDS.Tables[0].Rows[0][t_adm_actividad.ORDEN.ToString() + Tablas.actividad.ToString()].ToString());
objActividadesBL.modificarActividad();
}
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha puesto el registro de la PK=" + p_intPkEliminar + " en " + blnActivo,
"frwActividades.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
catch (Exception ex)
{
throw ex;
}
return blnValorRetornado;
}
#endregion
#region Metodos Datos a Controles (R6)
/// <summary>
/// Carga el grid principal
/// </summary>
/// <param name="p_Llenar"></param>
private void llenarGridView(bool p_Llenar) //M0
{
try
{
if (!IsPostBack || p_Llenar)
{
arlCondicionesFiltroBusqueda = new ArrayList();
objActividadesBL = new ActividadesBL();
condicionesBusqueda();
DataSet dsActividad = objActividadesBL.dsListarActividad(arlCondicionesFiltroBusqueda);
General.detalleGridView(dsActividad, grvListaDatosActividades, lblTotalDatos);
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Muestra los datos del registro
/// </summary>
/// <param name="p_intPkConsultar"></param>
private void mostrarDatos(int p_intPkConsultar) //M1
{
try
{
objActividadesBL = new ActividadesBL();
objActividadesBL.objactividadesEL.PK = p_intPkConsultar;
DataSet dsActividad = objActividadesBL.dsListarActividad(null);
if (dsActividad.Tables[0].Rows.Count > 0)
{
//Información de la actividad
txtActividad.Text = dsActividad.Tables[0].Rows[0]["NOMBREACTIVIDAD"].ToString();
txtDescripcion.Text = dsActividad.Tables[0].Rows[0]["DESCRIPCIONACTIVIDAD"].ToString();
txtDuracion.Text = dsActividad.Tables[0].Rows[0]["TIEMPOCVACTIVIDAD"].ToString();
txtDuracionDU.Text = dsActividad.Tables[0].Rows[0]["TIEMPODUACTIVIDAD"].ToString();
txtParalelo.Text = dsActividad.Tables[0].Rows[0]["PARALELOACTIVIDAD"].ToString();
//txtOrden.Text = dsActividad.Tables[0].Rows[0]["ORDENACTIVIDAD"].ToString();
}
else
{
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Llena el dropdownlist de grado academico según la aplicación
/// </summary>
//private void llenarTipoDesarrollo() //M1
//{
// try
// {
// //Limpia el control
// ddlTipoDesarrollo.Items.Clear();
// //Instancia el bjeto
// ActividadesBL objActividadesBL;
// objActividadesBL = new ActividadesBL();
// //Asigna datos al atributo
// //Carga la información en un dataset
// DataSet dsDesarrollo = objActividadesBL.dsListaTipoDesarrollo(null);
// if (dsDesarrollo.Tables[0].Rows.Count != 0)
// {
// ddlTipoDesarrollo.DataSource = dsDesarrollo;
// ddlTipoDesarrollo.DataTextField = dsDesarrollo.Tables[0].Columns["TIPOTIPODESARROLLO"].ColumnName;
// ddlTipoDesarrollo.DataValueField = dsDesarrollo.Tables[0].Columns["PKTIPODESARROLLO"].ColumnName;
// ddlTipoDesarrollo.DataBind();
// ddlTipoDesarrollo.Items.Insert(0, new ListItem("Seleccione", "-1"));
// }
// else
// ddlTipoDesarrollo.Items.Insert(0, new ListItem("----- No existen opciones -----", "-1"));
// }
// catch (Exception ex)
// {
// throw ex;
// }
//}
#endregion
}