예제 #1
0
        /// <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>();
 }
예제 #3
0
        /// <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);
            }
        }
예제 #7
0
        /// <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);
            }
        }
예제 #8
0
        /// <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);
            }
        }
예제 #9
0
 /// <summary>
 /// Constructo de la clase cls_bitacora.
 /// </summary>
 public cls_bitacora()
 {
     this.departamento = new cls_departamento();
     this.usuario = new cls_usuario();
 }
예제 #10
0
 /// <summary>
 /// Constructor de la clase cls_departamento.
 /// </summary>
 public cls_departamento()
 {
     this.departamentoPadre = new cls_departamento(false);
 }
예제 #11
0
        /// <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);
            }
        }
예제 #12
0
        /// <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);
            }
        }
예제 #13
0
 /// <summary>
 /// Constructor de clase cls_usuario.
 /// </summary>
 public cls_usuario()
 {
     this.rol = new cls_rol();
     this.departamento = new cls_departamento();
 }
예제 #14
0
        /// <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);
            }
        }
예제 #15
0
        /// <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);
            }
        }
예제 #16
0
        /// <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);
            }
        }