/// <summary> /// Método que permite eliminar /// un registro en la tabla departamento /// </summary> /// <param name="poDepartamento">Departamento a eliminar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int deleteDepartamento(cls_departamento poDepartamento) { int vi_resultado; try { String vs_comando = "PA_admi_departamentoDelete"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_departamento", poDepartamento.pPK_departamento) }; cls_sqlDatabase.beginTransaction(); vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); cls_interface.insertarTransacccionBitacora(cls_constantes.ELIMINAR, cls_constantes.DEPARTAMENTO, poDepartamento.pPK_departamento.ToString(), poDepartamento.pUsuarioTransaccion); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al eliminar el departamento.", po_exception); } }
/// <summary> /// Constructor de la clase cls_departamento. /// </summary> public cls_departamentoProyecto() { this.departamento = new cls_departamento(); this.proyecto = new cls_proyecto(); this.proyectoEntregable = new cls_proyectoEntregable(); this.departamentoList = new List<cls_departamento>(); this.proyectoEntregablesList = new List<cls_proyectoEntregable>(); }
/// <summary> /// Método que permite insertar /// un nuevo registro en la tabla departamento /// </summary> /// <param name="poDepartamento">Departamento a insertar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int insertDepartamento(cls_departamento poDepartamento) { int vi_resultado; try { String vs_comando = "PA_admi_departamentoInsert"; cls_sqlDatabase.beginTransaction(); if (poDepartamento.pFK_departamento != 0) { cls_parameter[] vu_parametros = { new cls_parameter("@paramFK_departamento", poDepartamento.pFK_departamento), new cls_parameter("@paramnombre", poDepartamento.pNombre), new cls_parameter("@paramubicacion", poDepartamento.pUbicacion), new cls_parameter("@paramadministrador", poDepartamento.pAdministrador), new cls_parameter("@paramconsecutivo", poDepartamento.pConsecutivo) }; vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); } else { cls_parameter[] vu_parametros = { new cls_parameter("@paramFK_departamento", DBNull.Value), new cls_parameter("@paramnombre", poDepartamento.pNombre), new cls_parameter("@paramubicacion", poDepartamento.pUbicacion), new cls_parameter("@paramadministrador", poDepartamento.pAdministrador), new cls_parameter("@paramconsecutivo", poDepartamento.pConsecutivo) }; vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); } cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.DEPARTAMENTO, poDepartamento.pFK_departamento.ToString(),poDepartamento.pUsuarioTransaccion); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al insertar el departamento.", po_exception); } }
/// <summary> /// Método que elimina un departamento /// </summary> /// <param name="po_departamento">Departamento a eliminar</param> private void eliminarDatos(cls_departamento po_departamento) { try { cls_gestorDepartamento.deleteDepartamento(po_departamento); this.llenarGridView(); this.upd_Principal.Update(); } catch (Exception po_exception) { throw new Exception("Ocurrió un error eliminando el departamento. Es posible que exista un registro asociado a este departamento.", po_exception); } }
/// <summary> /// Crea un objeto de tipo /// cls_departamento con la informacón /// que se encuentra en el formulario /// web /// </summary> /// <returns>cls_departamento</returns> private cls_departamento crearObjeto() { cls_departamento vo_departamento = new cls_departamento(); if (cls_variablesSistema.tipoEstado != cls_constantes.AGREGAR) { vo_departamento = (cls_departamento)cls_variablesSistema.obj; } try { vo_departamento.pFK_departamento = Convert.ToInt32(ddl_departamentoPadre.SelectedValue); vo_departamento.pNombre = txt_nombre.Text; vo_departamento.pUbicacion = txt_ubicacion.Text; vo_departamento.pAdministrador = txt_administrador.Text; vo_departamento.pConsecutivo = txt_consecutivo.Text; return vo_departamento; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception); } }
/// <summary> /// Cuando se seleccionada un botón del grid. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void grd_listaDepartamentos_RowCommand(object sender, GridViewCommandEventArgs e) { int vi_fkDepartamento = 0; try { int vi_indice = Convert.ToInt32(e.CommandArgument); GridViewRow vu_fila = this.grd_listaDepartamentos.Rows[vi_indice]; cls_departamento vo_departamento = new cls_departamento(); vo_departamento.pPK_departamento = Convert.ToInt32(vu_fila.Cells[0].Text.ToString()); if (Int32.TryParse(vu_fila.Cells[1].Text.ToString(), out vi_fkDepartamento)) { vo_departamento.pFK_departamento = vi_fkDepartamento; } else { vo_departamento.pFK_departamento = 0; } vo_departamento.pNombre = vu_fila.Cells[2].Text.ToString(); vo_departamento.pUbicacion = vu_fila.Cells[3].Text.ToString(); vo_departamento.pAdministrador = vu_fila.Cells[4].Text.ToString(); vo_departamento.pConsecutivo = vu_fila.Cells[5].Text.ToString(); switch (e.CommandName.ToString()) { case cls_constantes.VER: vo_departamento = cls_gestorDepartamento.seleccionarDepartamento(vo_departamento); cls_variablesSistema.obj = vo_departamento; cls_variablesSistema.tipoEstado = e.CommandName; this.cargarObjeto(); this.ard_principal.SelectedIndex = 1; break; case cls_constantes.EDITAR: vo_departamento = cls_gestorDepartamento.seleccionarDepartamento(vo_departamento); cls_variablesSistema.obj = vo_departamento; cls_variablesSistema.tipoEstado = e.CommandName; this.cargarObjeto(); this.ard_principal.SelectedIndex = 1; break; case cls_constantes.ELIMINAR: if (!cls_interface.verificarRegistrosPermanentes(COSEVI.CSLA.lib.accesoDatos.App_Constantes.cls_constantes.DEPARTAMENTO, vo_departamento.pPK_departamento.ToString())) { this.eliminarDatos(vo_departamento); } else { //Se levanta PopUp indicando que no se puede eliminar el registro this.mpe_RegistroPermante.Show(); } break; default: break; } } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error al intentar mostrar la ventana de edición para los registros."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Método que carga la información /// de un proyecto. /// </summary> //private void cargarObjetoProyecto() //{ // cls_proyecto vo_proyecto = null; // try // { // vo_proyecto = new cls_proyecto(); // vo_proyecto = (cls_proyecto)cls_variablesSistema.vs_proyecto; // this.habilitarControles(true); // } // catch (Exception po_exception) // { // throw new Exception("Ocurrió un error al cargar el registro de proyecto.", po_exception); // } //} /// <summary> /// Guarda la información se que se encuentra /// en el formulario Web, ya sea /// para ingresar o actualizarla /// </summary> /// <returns>Int valor devuelvo por el motor de bases de datos</returns> private int guardarDatos() { int vi_resultado = 1; try { cls_proyecto vo_proyecto = this.crearObjetoProyecto(); cls_departamento vo_dpto = new cls_departamento(); cls_departamentoProyecto vo_dptoProyecto = new cls_departamentoProyecto(); List<cls_departamento> vl_departamentoAsociado = departamentosAsociados(); List<cls_departamentoProyecto> vl_departamentoProyecto = new List<cls_departamentoProyecto>(); //El proyecto es el mismo para todos los departamentos que se vayan a insertar vo_dptoProyecto.pProyecto = vo_proyecto; //Se intenta realizar la inserción del proyecto en la tabla correspondiente vi_resultado = cls_gestorProyecto.insertProyecto(vo_proyecto); //Para cada departamento, se realiza la correspondiente inserción con el proyecto específico foreach (cls_departamento vo_departamento in vl_departamentoAsociado) { vo_dptoProyecto.pDepartamento = vo_departamento; vi_resultado = cls_gestorDepartamentoProyecto.insertDepartamentoProyecto(vo_dptoProyecto); } //Se realiza la inserción en las demás tablas, entregable/componente/paquete/actividad, con respecto al proyecto copiado vi_resultado = cls_gestorProyecto.insertProyectoCopia(vo_proyecto.pPK_proyecto, cls_variablesSistema.vs_proyecto.pPK_proyecto); return vi_resultado; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al guardar el registro de copia del proyecto.", po_exception); } }
/// <summary> /// Método que devuelve los departamentos que han sido recién asociados al proyecto /// </summary> /// <returns>cls_departamento</returns> private List<cls_departamento> departamentosAsociados() { List<cls_departamento> vo_lista = null; cls_departamento vo_departamento = null; vo_lista = new List<cls_departamento>(); try { //Se recorre los elementos del listbox de departamentos asociados foreach (ListItem item in lbx_depasociados.Items) { vo_departamento = new cls_departamento(); vo_departamento.pPK_departamento = Convert.ToInt32(item.Value); vo_departamento.pNombre = item.Text; vo_lista.Add(vo_departamento); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al verificar los departamentos asociados al proyecto.", po_exception); } }
/// <summary> /// Constructo de la clase cls_bitacora. /// </summary> public cls_bitacora() { this.departamento = new cls_departamento(); this.usuario = new cls_usuario(); }
/// <summary> /// Constructor de la clase cls_departamento. /// </summary> public cls_departamento() { this.departamentoPadre = new cls_departamento(false); }
/// <summary> /// Guarda la información se que se encuentra /// en el formulario Web, ya sea /// para ingresar o actualizarla /// </summary> /// <returns>Int valor devuelvo por el motor de bases de datos</returns> private int guardarDatos() { int vi_resultado = 1; try { cls_proyecto vo_proyecto = this.crearObjetoProyecto(); cls_departamento vo_dpto = new cls_departamento(); cls_departamentoProyecto vo_dptoProyecto = new cls_departamentoProyecto(); List<cls_departamento> vl_departamentoAsociado = departamentosAsociados(); List<cls_departamentoProyecto> vl_departamentoProyecto = new List<cls_departamentoProyecto>(); //El proyecto es el mismo para todos los departamentos que se vayan a insertar vo_dptoProyecto.pProyecto = vo_proyecto; switch (cls_variablesSistema.tipoEstado) { case cls_constantes.AGREGAR: //Se intenta realizar la inserción del proyecto en la tabla correspondiente vi_resultado = cls_gestorProyecto.insertProyecto(vo_proyecto); //Para cada departamento, se realiza la correspondiente inserción con el proyecto específico foreach (cls_departamento vo_departamento in vl_departamentoAsociado) { vo_dptoProyecto.pDepartamento = vo_departamento; vi_resultado = cls_gestorDepartamentoProyecto.insertDepartamentoProyecto(vo_dptoProyecto); } break; case cls_constantes.EDITAR: vi_resultado = cls_gestorProyecto.updateProyecto(vo_proyecto); //Se revisa cada departamento en la lista que presenta la variable de sistema de "proyecto", si la lista de deparmentos asociados //no cuenta con el departamento de contenido en la lista de la variable de sistema, esta última se intenta eliminar foreach (cls_departamento vo_departamento in cls_variablesSistema.vs_proyecto.pDepartamentoLista) { if (!(vl_departamentoAsociado.Where(dep => dep.pPK_departamento == vo_departamento.pPK_departamento).Count() > 0)) { vo_dptoProyecto.pDepartamento = vo_departamento; vi_resultado = cls_gestorDepartamentoProyecto.deleteDepartamentoProyecto(vo_dptoProyecto); } } //Si alguno de los departamentos recién asociados no se encuentra en la variable del sistema, se procede a realizar la inserción de la misma foreach (cls_departamento vo_departamento in vl_departamentoAsociado) { if (!(cls_variablesSistema.vs_proyecto.pDepartamentoLista.Where(dep => dep.pPK_departamento == vo_departamento.pPK_departamento).Count() > 0)) { vo_dptoProyecto.pDepartamento = vo_departamento; vi_resultado = cls_gestorDepartamentoProyecto.insertDepartamentoProyecto(vo_dptoProyecto); } } break; default: break; } return vi_resultado; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al guardar el registro de proyecto.", po_exception); } }
/// <summary> /// Método que obtiene los departamentos asociados a un proyecto específicos /// </summary> private void cargarDepartamentoProyecto(cls_proyecto po_proyecto) { DataSet vo_dataSet = new DataSet(); try { vo_dataSet = cls_gestorDepartamentoProyecto.selectDepartamentoProyecto(po_proyecto); lbx_depasociados.DataSource = vo_dataSet; lbx_depasociados.DataTextField = "nombre"; lbx_depasociados.DataValueField = "PK_departamento"; lbx_depasociados.DataBind(); if (lbx_depasociados.Items.Count > 0) { cls_variablesSistema.vs_proyecto = po_proyecto; foreach (ListItem item in lbx_depasociados.Items) { cls_departamento vo_departamento = new cls_departamento(); cls_departamentoProyecto vo_deptoProyecto = new cls_departamentoProyecto(); lbx_departamentos.Items.Remove(item); vo_departamento.pPK_departamento = Convert.ToInt32(item.Value); vo_departamento.pNombre = item.Text; vo_deptoProyecto.pProyecto = po_proyecto; vo_deptoProyecto.pDepartamentoList.Add(vo_departamento); cls_variablesSistema.vs_proyecto.pDepartamentoLista.Add(vo_departamento); cls_variablesSistema.vs_proyecto.pDptoProyLista.Add(vo_deptoProyecto); } } else { limpiarVariablesSistema(); } } catch (Exception po_exception) { throw new Exception("Ocurrió un error al cargar los departamentos asociados al proyecto.", po_exception); } }
/// <summary> /// Constructor de clase cls_usuario. /// </summary> public cls_usuario() { this.rol = new cls_rol(); this.departamento = new cls_departamento(); }
/// <summary> /// Método que permite seleccionar /// un único registro en la tabla departamento /// </summary> /// <returns>poDepartamento valor del resultado de la ejecución de la sentencia</returns> public static cls_departamento seleccionarDepartamento(cls_departamento poDepartamento) { int vi_fkDepartamento = 0; try { String vs_comando = "PA_admi_departamentoSelectOne"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_departamento", poDepartamento.pPK_departamento) }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); poDepartamento = new cls_departamento(); poDepartamento.pPK_departamento = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_departamento"]); if (Int32.TryParse(vu_dataSet.Tables[0].Rows[0]["FK_departamento"].ToString(), out vi_fkDepartamento)) { poDepartamento.pFK_departamento = vi_fkDepartamento; } else { poDepartamento.pFK_departamento = 0; } poDepartamento.pUbicacion = vu_dataSet.Tables[0].Rows[0]["ubicacion"].ToString(); poDepartamento.pNombre = vu_dataSet.Tables[0].Rows[0]["nombre"].ToString(); poDepartamento.pAdministrador = vu_dataSet.Tables[0].Rows[0]["administrador"].ToString(); poDepartamento.pConsecutivo = vu_dataSet.Tables[0].Rows[0]["consecutivo"].ToString(); return poDepartamento; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el departamento específico.", po_exception); } }
/// <summary> /// Hace un lista de departamentos con un filtrado específico. /// </summary> /// <param name="psFiltro">String filtro.</param> /// <returns></returns> public static List<cls_departamento> listarDepartamentoFiltro(string psFiltro) { List<cls_departamento> vo_lista = null; cls_departamento voDepartamento = null; try { DataSet vu_dataSet = cls_gestorUtil.selectFilter(cls_constantes.DEPARTAMENTO, string.Empty, psFiltro); vo_lista = new List<cls_departamento>(); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { voDepartamento = new cls_departamento(); voDepartamento.pPK_departamento = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_departamento"]); voDepartamento.pFK_departamento = Convert.IsDBNull(vu_dataSet.Tables[0].Rows[i]["FK_departamento"]) ? 1 : Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["FK_departamento"]); voDepartamento.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString(); voDepartamento.pUbicacion = vu_dataSet.Tables[0].Rows[i]["ubicacion"].ToString(); voDepartamento.pAdministrador = vu_dataSet.Tables[0].Rows[i]["administrador"].ToString(); voDepartamento.pConsecutivo = vu_dataSet.Tables[0].Rows[i]["consecutivo"].ToString(); vo_lista.Add(voDepartamento); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de los departamentos de manera filtrada.", po_exception); } }
/// <summary> /// Método que permite listar /// todos los registros en la tabla departamento /// </summary> /// <returns> List<cls_departamento> valor del resultado de la ejecución de la sentencia</returns> public static List<cls_departamento> listarDepartamento() { List<cls_departamento> vo_lista = null; cls_departamento poDepartamento = null; try { String vs_comando = "PA_admi_departamentoSelect"; cls_parameter[] vu_parametros = { }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); vo_lista = new List<cls_departamento>(); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { poDepartamento = new cls_departamento(); poDepartamento.pPK_departamento = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_departamento"]); poDepartamento.pFK_departamento = Convert.IsDBNull(vu_dataSet.Tables[0].Rows[i]["FK_departamento"]) ? 1 : Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["FK_departamento"]); poDepartamento.pUbicacion = vu_dataSet.Tables[0].Rows[i]["ubicacion"].ToString(); poDepartamento.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString(); poDepartamento.pAdministrador = vu_dataSet.Tables[0].Rows[i]["administrador"].ToString(); poDepartamento.pConsecutivo = vu_dataSet.Tables[0].Rows[i]["consecutivo"].ToString(); vo_lista.Add(poDepartamento); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de los departamentos.", po_exception); } }