/// <summary> /// Método que permite insertar /// un nuevo registro en la tabla PaqueteActividad /// </summary> /// <param name="po_paqueteActividad">PaqueteActividad a insertar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int insertPaqueteActividad(cls_paqueteActividad po_paqueteActividad) { int vi_resultado; try { String vs_comando = "PA_cont_paquete_actividadInsert"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_actividad", po_paqueteActividad.pActividad.pPK_Actividad), new cls_parameter("@paramPK_paquete", po_paqueteActividad.pPaquete.pPK_Paquete), new cls_parameter("@paramPK_componente", po_paqueteActividad.pComponente.pPK_componente), new cls_parameter("@paramPK_entregable", po_paqueteActividad.pEntregable.pPK_entregable), new cls_parameter("@paramPK_proyecto", po_paqueteActividad.pProyecto.pPK_proyecto) }; cls_sqlDatabase.beginTransaction(); vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.COMPONENTE_PAQUETE, po_paqueteActividad.pProyecto.pPK_proyecto + "/" + po_paqueteActividad.pEntregable.pPK_entregable + "/" + po_paqueteActividad.pComponente.pPK_componente + "/" + po_paqueteActividad.pPaquete.pPK_Paquete,po_paqueteActividad.pUsuarioTransaccion); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al insertar el componente del paquete.", po_exception); } }
/// <summary> /// Constructor de la clase cls_componente_paquete. /// </summary> public cls_componentePaquete() { this.proyecto = new cls_proyecto(); this.entregable = new cls_entregable(); this.componente = new cls_componente(); this.paquete = new cls_paquete(); this.paqueteActividad = new cls_paqueteActividad(); this.paqueteList = new List<cls_paquete>(); this.paqueteActividadList = new List<cls_paqueteActividad>(); }
/// <summary> /// /// </summary> /// <param name="poProyecto"></param> /// <returns></returns> public static DataSet selectPaqueteActividad(cls_paqueteActividad po_paqueteActividad) { try { String vs_comando = "PA_cont_paqueteActividadSelect"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_proyecto", po_paqueteActividad.pProyecto.pPK_proyecto), new cls_parameter("@paramPK_paquete", po_paqueteActividad.pPaquete.pPK_Paquete) }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); return vu_dataSet; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de las actividades asociadas a los paquetes.", po_exception); } }
/// <summary> /// Evento para la eliminación de una actividad /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_removerActividad_Click(object sender, EventArgs e) { int paqueteSeleccionado; paqueteSeleccionado = Convert.ToInt32(lbx_paquetesasociados.SelectedValue.ToString()); cls_paquete vo_paquete = new cls_paquete(); vo_paquete.pPK_Paquete = paqueteSeleccionado; try { //Se recorre la lista de actividades asociadas for (int i = lbx_actasociadas.Items.Count - 1; i >= 0; i--) { if (lbx_actasociadas.Items[i].Selected == true) { cls_actividad vo_actividad = new cls_actividad(); vo_actividad.pPK_Actividad = Convert.ToInt32(lbx_actasociadas.Items[i].Value.ToString()); vo_actividad.pNombre = lbx_actasociadas.Items[i].Text; cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_paqueteActividad.pPaquete = vo_paquete; vo_paqueteActividad.pActividad = vo_actividad; //Se recorren los elementos de la lista de memoria foreach (cls_componentePaquete compPaq in cls_variablesSistema.vs_proyecto.pComponentePaqueteListaMemoria) { if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Entregable == compPaq.pPK_Entregable && searchLinQ.pPK_Componente == compPaq.pPK_Componente && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete && searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad).Count() > 0) { cls_variablesSistema.vs_proyecto.pActividadLista.RemoveAll(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad); cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.RemoveAll(searchLinQ => searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete && searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad); } } lbx_actividades.Items.Add(lbx_actasociadas.Items[i]); ListItem li = lbx_actasociadas.Items[i]; lbx_actasociadas.Items.Remove(li); } } //Si no se encuentra al menos un elemento, no se habilita el botón de siguiente if (lbx_actasociadas.Items.Count == 0 && cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Count == 0 && cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Count == 0) { btnNxt.Enabled = false; } else { btnNxt.Enabled = true; } } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error al remover la actividad del proyecto."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Método que inicializa las actividades asignadas a un paquete específico /// </summary> /// <param name="po_paquete"></param> private void inicializarActividadesPorPaquete(cls_paquete po_paquete) { try { cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_paqueteActividad.pProyecto = cls_variablesSistema.vs_proyecto; vo_paqueteActividad.pPaquete = po_paquete; //Se envía a cargas las actividaes por paquete cargarActividadesPorPaquete(vo_paqueteActividad); //Se carga la totalidad de las actividades que aún pueden ser escogidas cargarListaActividades(); } catch (Exception po_exception) { throw new Exception("Ocurrió un error al ontener las actividades asociadas a proyecto.", po_exception); } }
/// <summary> /// Evento encargado de asignar la actividad a uno o varios paquetes /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_asignarActividad_Click(object sender, EventArgs e) { int paqueteSeleccionado; paqueteSeleccionado = Convert.ToInt32(lbx_paquetesasociados.SelectedValue.ToString()); cls_paquete vo_paquete = new cls_paquete(); vo_paquete.pPK_Paquete = paqueteSeleccionado; try { //Se recorre la lista de actividades for (int i = lbx_actividades.Items.Count - 1; i >= 0; i--) { if (lbx_actividades.Items[i].Selected == true) { cls_actividad vo_actividad = new cls_actividad(); vo_actividad.pPK_Actividad = Convert.ToInt32(lbx_actividades.Items[i].Value.ToString()); vo_actividad.pNombre = lbx_actividades.Items[i].Text; cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_paqueteActividad.pPaquete = vo_paquete; vo_paqueteActividad.pActividad = vo_actividad; //Se recorre los elementos de la lista de memoria foreach (cls_componentePaquete compPaq in cls_variablesSistema.vs_proyecto.pComponentePaqueteListaMemoria) { if (compPaq.pPK_Paquete == vo_paquete.pPK_Paquete) { //Si la actividad no se encuentra asignada para ese paquete, se agrega if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Entregable == compPaq.pPK_Entregable && searchLinQ.pPK_Componente == compPaq.pPK_Componente && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete && searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad).Count() == 0) { //Se agregam el entregable y componente al que pertenece el paqueteActividad, puesto que se necesita al guardar el registro vo_paqueteActividad.pEntregable = compPaq.pEntregable; vo_paqueteActividad.pComponente = compPaq.pComponente; cls_variablesSistema.vs_proyecto.pActividadLista.Add(vo_actividad); cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Add(vo_paqueteActividad); } } } lbx_actasociadas.Items.Add(lbx_actividades.Items[i]); ListItem li = lbx_actividades.Items[i]; lbx_actividades.Items.Remove(li); } } //Si al menos se encuetra un elemento asociado, se puede habilitar el botón de siguiente if (lbx_actasociadas.Items.Count > 0) { btnNxt.Enabled = true; } } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error al asignar la actividad al proyecto."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Método que obtiene las actividades asociadas a un paquete específico /// </summary> private void cargarActividadesPorPaquete() { DataSet vo_dataSet = new DataSet(); int cantidadActAsociadas; int cantidadActividades; bool validacionMemoria = false; try { //Se limpia el listbox que mantiene la asociación de actividades if (lbx_actasociadas.Items.Count > 0) { cantidadActAsociadas = lbx_actasociadas.Items.Count; for (int i = 0; i < cantidadActAsociadas; i++) { lbx_actasociadas.Items.RemoveAt(0); } } //Se limpia el listbox que obtiene la totalidad de actividades if (lbx_actividades.Items.Count > 0) { cantidadActividades = lbx_actividades.Items.Count; for (int i = 0; i < cantidadActividades; i++) { lbx_actividades.Items.RemoveAt(0); } } //Se realiza la consulta en base de datos para obtener las actividades asociadas a los paquetes del proyecto vo_dataSet = cls_gestorPaqueteActividad.selectPaqueteActividad(cls_variablesSistema.vs_proyecto); foreach (DataRow row in vo_dataSet.Tables[0].Rows) { cls_entregable vo_entregable = new cls_entregable(); cls_componente vo_componente = new cls_componente(); cls_paquete vo_paquete = new cls_paquete(); cls_actividad vo_actividad = new cls_actividad(); cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_entregable.pPK_entregable = Convert.ToInt32(row["PK_entregable"]); vo_componente.pPK_componente = Convert.ToInt32(row["PK_componente"]); vo_paquete.pPK_Paquete = Convert.ToInt32(row["PK_paquete"]); vo_actividad.pPK_Actividad = Convert.ToInt32(row["PK_actividad"]); vo_actividad.pNombre = Convert.ToString(row["nombre"]); vo_paqueteActividad.pEntregable = vo_entregable; vo_paqueteActividad.pComponente = vo_componente; vo_paqueteActividad.pPaquete = vo_paquete; vo_paqueteActividad.pActividad = vo_actividad; //El filtro aquí se realiza con el paquete y la actividad, esto debido a que una actividad si puede encontrarse ya asignada a varios paquetes if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Where(searchLinQ => searchLinQ.pPK_Paquete == vo_paqueteActividad.pPK_Paquete && searchLinQ.pPK_Actividad == vo_paqueteActividad.pPK_Actividad).Count() == 0) { cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Add(vo_paqueteActividad); } //Si el componente-paquete que se va a asignar ya existe en memoria if (cls_variablesSistema.vs_proyecto.pComponentePaqueteListaMemoria.Where(searchLinQ => searchLinQ.pPK_Paquete == vo_paqueteActividad.pPK_Paquete).Count() == 1) { validacionMemoria = true; cls_componentePaquete vo_componentePaquete = new cls_componentePaquete(); vo_componentePaquete = (cls_componentePaquete)cls_variablesSistema.vs_proyecto.pComponentePaqueteListaMemoria.Find(searchLinQ => searchLinQ.pPK_Paquete == vo_paqueteActividad.pPK_Paquete); //Si se está asignando sobre uno que ya existe en memoria, se tiene que corroborar con toda la llave primaria if (vo_paqueteActividad.pPK_Entregable == vo_componentePaquete.pPK_Entregable && vo_paqueteActividad.pPK_Componente == vo_componentePaquete.pPK_Componente && vo_paqueteActividad.pPK_Paquete == vo_componentePaquete.pPK_Paquete) { //Si la actividad no ha sido insertado en memoria, se agrega if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Paquete == vo_paqueteActividad.pPK_Paquete && searchLinQ.pPK_Actividad == vo_paqueteActividad.pPK_Actividad).Count() == 0) { cls_variablesSistema.vs_proyecto.pActividadLista.Add(vo_actividad); cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Add(vo_paqueteActividad); } } } } //Si la validación devuelve un True, se ha asignado almenos un elemento, por lo cual se puede habilitar el botón de siguiente if (validacionMemoria) { if (lbx_actasociadas.Items.Count == 0 && btnNxt != null && cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Count == 0) { btnNxt.Enabled = false; } else { btnNxt.Enabled = true; } } else { btnNxt.Enabled = false; } } catch (Exception po_exception) { throw new Exception("Ocurrió un error al cargar los actividades asociadas al proyecto.", po_exception); } }
/// <summary> /// Método que carga las actividades para un paquete en específico /// </summary> /// <param name="po_paqueteActividad"></param> private void cargarActividadesPorPaquete(cls_paqueteActividad po_paqueteActividad) { DataSet vo_dataSet = new DataSet(); try { //Si se encuentran elementos en la lista de memoria, se verifica en estos if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Count == 0) { vo_dataSet = cls_gestorPaqueteActividad.selectPaqueteActividad(cls_variablesSistema.vs_proyecto); foreach (DataRow row in vo_dataSet.Tables[0].Rows) { cls_entregable vo_entregable = new cls_entregable(); cls_componente vo_componente = new cls_componente(); cls_paquete vo_paquete = new cls_paquete(); cls_actividad vo_actividad = new cls_actividad(); cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_entregable.pPK_entregable = Convert.ToInt32(row["PK_entregable"]); vo_componente.pPK_componente = Convert.ToInt32(row["PK_componente"]); vo_paquete.pPK_Paquete = Convert.ToInt32(row["PK_paquete"]); vo_actividad.pPK_Actividad = Convert.ToInt32(row["PK_actividad"]); vo_actividad.pNombre = Convert.ToString(row["nombre"]); vo_paqueteActividad.pEntregable = vo_entregable; vo_paqueteActividad.pComponente = vo_componente; vo_paqueteActividad.pPaquete = vo_paquete; vo_paqueteActividad.pActividad = vo_actividad; //Si en la lista de memoria que mantiene los objetos leídos a nivel de base de datos, no se encuentra el elemente, se agrega if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Where(searchLinQ => searchLinQ.pPK_Actividad == vo_paqueteActividad.pPK_Actividad).Count() == 0) { cls_variablesSistema.vs_proyecto.pPaqueteActividadListaBaseDatos.Add(vo_paqueteActividad); } //Si en la lista de memoria no se encuentra el elemento, se agrega if (cls_variablesSistema.vs_proyecto.pComponentePaqueteListaMemoria.Where(searchLinQ => searchLinQ.pPK_Entregable == vo_paqueteActividad.pPK_Entregable && searchLinQ.pPK_Componente == vo_paqueteActividad.pPK_Componente && searchLinQ.pPK_Paquete == vo_paqueteActividad.pPK_Paquete).Count() > 0) { cls_variablesSistema.vs_proyecto.pActividadLista.Add(vo_actividad); cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Add(vo_paqueteActividad); } } } //Si el elemento se encuentra en la lista de memoria, se respeta para la asignación if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Paquete == po_paqueteActividad.pPK_Paquete).Count() > 0) { lbx_actasociadas.DataSource = cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Paquete == po_paqueteActividad.pPK_Paquete); lbx_actasociadas.DataTextField = "pNombreActividad"; lbx_actasociadas.DataValueField = "pPK_Actividad"; //Se realiza el Binding luego de saber de donde se tomarán los datos lbx_actasociadas.DataBind(); if (lbx_actasociadas.Items.Count > 0) { //Si se leyeron datos asociados, se activa el botón de siguiente btnNxt.Enabled = true; } } else { vo_dataSet = cls_gestorPaqueteActividad.selectPaqueteActividad(po_paqueteActividad); lbx_actasociadas.DataSource = vo_dataSet; lbx_actasociadas.DataTextField = "Nombre"; lbx_actasociadas.DataValueField = "PK_Actividad"; //Se realiza el Binding luego de saber de donde se tomarán los datos lbx_actasociadas.DataBind(); //Si se encuentran elementos asociados if (lbx_actasociadas.Items.Count > 0) { ListBox lbx_pivot = new ListBox(); lbx_pivot.DataSource = vo_dataSet; lbx_pivot.DataTextField = "Nombre"; lbx_pivot.DataValueField = "PK_Actividad"; lbx_pivot.DataBind(); //Si la actividad ya se encuentra asociada, se elimina del listbox de asociación foreach (ListItem item in lbx_pivot.Items) { if (cls_variablesSistema.vs_proyecto.pPaqueteActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Entregable == po_paqueteActividad.pPK_Entregable && searchLinQ.pPK_Componente == po_paqueteActividad.pPK_Componente && searchLinQ.pPK_Paquete == po_paqueteActividad.pPK_Paquete && searchLinQ.pPK_Actividad == Convert.ToInt32(item.Value)).Count() == 0) { lbx_actasociadas.Items.Remove(item); } } } //Si se leyeron datos asociados, se activa el botón de siguiente btnNxt.Enabled = true; } } catch (Exception po_exception) { throw new Exception("Ocurrió un error al cargar los actividades asociadas al proyecto.", po_exception); } }
/// <summary> /// Método para cargar una actividad asignada de manera específica, enviando el proyecto, paquete y actividad /// </summary> /// <param name="pi_paquete"></param> private void cargarAsignacionActividad(cls_paqueteActividad po_paqueteActividad) { try { //Se crean 2 variables para evitar que la asignación de una única presente inconcistencia de punteros a la hora de comparar y eliminar //registro de memoria con registros de la lista de base de datos (en el evento para remover usuarios del listbox se presenta la inconsistencia de puntero) cls_asignacionActividad vo_asignacionActividadMemoria = new cls_asignacionActividad(); cls_asignacionActividad vo_asignacionActividadBaseDatos = new cls_asignacionActividad(); //La variables se cargan con el registro de base de datos vo_asignacionActividadMemoria = cls_gestorAsignacionActividad.seleccionarAsignacionActividad(po_paqueteActividad); vo_asignacionActividadBaseDatos = cls_gestorAsignacionActividad.seleccionarAsignacionActividad(po_paqueteActividad); //Se verifica si la consulta de base de datos devolvió algún registro válido, de lo contrario no se debe registrar ni en la lista de memoria //ni en la de base de datos if (vo_asignacionActividadMemoria.pPK_Proyecto == cls_variablesSistema.vs_proyecto.pPK_proyecto) { //De no encontrarse ya en la lista de base de datos, se agrega if (cls_variablesSistema.vs_proyecto.pAsignacionActividadListaBaseDatos.Where(searchLinQ => searchLinQ.pPK_Actividad == vo_asignacionActividadBaseDatos.pPK_Actividad && searchLinQ.pPK_Paquete == vo_asignacionActividadBaseDatos.pPK_Paquete).Count() == 0) { cls_variablesSistema.vs_proyecto.pAsignacionActividadListaBaseDatos.Add(vo_asignacionActividadBaseDatos); } //Se verifica si existe en la lista de memoria para agregarlo en la variable objeto local y en la misma lista if (cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Actividad == vo_asignacionActividadMemoria.pPK_Actividad && searchLinQ.pPK_Paquete == vo_asignacionActividadMemoria.pPK_Paquete).Count() == 0) { cls_variablesSistema.obj = vo_asignacionActividadMemoria; cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Add(vo_asignacionActividadMemoria); } else { //Si la asigancion ya ha sido leída, se carga la variable objeto con la que se encuentra en memoria vo_asignacionActividadMemoria = (cls_asignacionActividad)cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Find(searchLinQ => searchLinQ.pPK_Actividad == vo_asignacionActividadMemoria.pPK_Actividad && searchLinQ.pPK_Paquete == vo_asignacionActividadMemoria.pPK_Paquete); cls_variablesSistema.obj = vo_asignacionActividadMemoria; } //Se encuentre la asignació ya en memoria, o no, se envía a cargar la información del registro para cargar los campos de la ventana cargarObjeto(); } //Si la actividad ya se encuentra en memoria, se procede a asignar a los usuarios asignados if (cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Actividad == po_paqueteActividad.pPK_Actividad && searchLinQ.pPK_Paquete == po_paqueteActividad.pPK_Paquete).Count() > 0) { vo_asignacionActividadMemoria = (cls_asignacionActividad)cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Find(searchLinQ => searchLinQ.pPK_Actividad == po_paqueteActividad.pPK_Actividad && searchLinQ.pPK_Paquete == po_paqueteActividad.pPK_Paquete); cls_variablesSistema.obj = vo_asignacionActividadMemoria; cargarObjeto(); lbx_usuariosAsociados.DataSource = vo_asignacionActividadMemoria.pUsuarioLista; lbx_usuariosAsociados.DataTextField = "pNombre"; lbx_usuariosAsociados.DataValueField = "pPK_usuario"; lbx_usuariosAsociados.DataBind(); } //Si no se encuentra en memoria es porque esa actividad aún no se encuentra asignada, por lo que sólo se procede a cargar la llave primaria de la actividad //por si se va a realizar la asignación en ese momento else { vo_asignacionActividadMemoria = cls_gestorAsignacionActividad.listarActividadesPorPaquete(po_paqueteActividad.pPK_Proyecto, po_paqueteActividad.pPK_Paquete, po_paqueteActividad.pPK_Actividad); cls_variablesSistema.obj = vo_asignacionActividadMemoria; lbx_usuariosAsociados.DataSource = vo_asignacionActividadMemoria.pUsuarioLista; lbx_usuariosAsociados.DataTextField = "pNombre"; lbx_usuariosAsociados.DataValueField = "pPK_usuario"; lbx_usuariosAsociados.DataBind(); } } catch (Exception po_exception) { throw new Exception("Ocurrió un error cargando la información para la actividad seleccionada.", po_exception); } }
/// <summary> /// Evento para el cambio de índice en las actividades /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lbx_actividades_SelectedIndexChanged(object sender, EventArgs e) { try { int proyectoSeleccionado; int paqueteSeleccionado; int actividadSeleccionada; //Se asignan las 3 llaves para la búsqueda proyectoSeleccionado = cls_variablesSistema.vs_proyecto.pPK_proyecto; paqueteSeleccionado = Convert.ToInt32(ddl_paquete.SelectedValue.ToString()); actividadSeleccionada = Convert.ToInt32(lbx_actividades.SelectedValue.ToString()); //Se arma el objeto que envía las 3 llaves para la búsqueda cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_paqueteActividad.pPK_Proyecto = proyectoSeleccionado; vo_paqueteActividad.pPK_Paquete = paqueteSeleccionado; vo_paqueteActividad.pPK_Actividad = actividadSeleccionada; limpiarCamposTexto(); //Se limpia el listbox antes de su asignación limpiarListBoxUsuariosAsignados(); //Se limpia el listbox antes de su asignación limpiarListBoxUsuarios(); //Se envía a cargar, de existir, la información relacionada a la actividad cargarAsignacionActividad(vo_paqueteActividad); //Se cargan los usuarios restantes que pueden ser asignados a la actividad seleccionada cargarUsuarios(); //ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "FocusOnState","document.getElementById('" + lbx_actividades.ClientID + "').focus(); ", true); //ScriptManager manager = ScriptManager.GetCurrent(this); //manager.SetFocus("lbx_actividades"); lbx_actividades.Focus(); } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error mientras se asignada la información del registro para las actividades."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Método que permite seleccionar /// un único registro en la tabla estado /// </summary> /// <returns>poActividad valor del resultado de la ejecución de la sentencia</returns> public static cls_asignacionActividad seleccionarAsignacionActividad(cls_paqueteActividad po_paqueteActividad) { cls_asignacionActividad vo_asignacionActividad = null; cls_usuario vo_usuario = null; List<cls_usuario> vo_listaUsuarios = null; try { String vs_comando = "PA_cont_actividadAsignadaSelectOne"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_proyecto", po_paqueteActividad.pPK_Proyecto), new cls_parameter("@paramPK_paquete", po_paqueteActividad.pPK_Paquete), new cls_parameter("@paramPK_actividad", po_paqueteActividad.pPK_Actividad) }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); vo_asignacionActividad = new cls_asignacionActividad(); vo_listaUsuarios = new List<cls_usuario>(); if (vu_dataSet.Tables[0].Rows.Count > 0) { vo_asignacionActividad.pPK_Actividad = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_actividad"]); vo_asignacionActividad.pPK_Paquete = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_paquete"]); vo_asignacionActividad.pPK_Componente = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_componente"]); vo_asignacionActividad.pPK_Entregable = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_entregable"]); vo_asignacionActividad.pPK_Proyecto = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["PK_proyecto"]); vo_asignacionActividad.pPK_Usuario = vu_dataSet.Tables[0].Rows[0]["PK_usuario"].ToString(); vo_asignacionActividad.pFK_Estado = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["FK_estado"]); vo_asignacionActividad.pDescripcion = vu_dataSet.Tables[0].Rows[0]["descripcion"].ToString(); vo_asignacionActividad.pFechaInicio = Convert.ToDateTime(vu_dataSet.Tables[0].Rows[0]["fechaInicio"]); vo_asignacionActividad.pFechaFin = Convert.ToDateTime(vu_dataSet.Tables[0].Rows[0]["fechaFin"]); vo_asignacionActividad.pHorasAsignadas = Convert.ToDecimal(vu_dataSet.Tables[0].Rows[0]["horasAsignadas"]); vo_asignacionActividad.pHorasReales = Convert.ToDecimal(vu_dataSet.Tables[0].Rows[0]["horasReales"]); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = vu_dataSet.Tables[0].Rows[i]["PK_usuario"].ToString(); vo_usuario.pNombre = vu_dataSet.Tables[0].Rows[i]["nombreUsuario"].ToString(); vo_listaUsuarios.Add(vo_usuario); } vo_asignacionActividad.pUsuarioLista = vo_listaUsuarios; } return vo_asignacionActividad; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al seleccionar la actividad específica.", po_exception); } }
/// <summary> /// Carga la instancia del /// registro de la asignación /// </summary> /// <param name="ps_actividad">String código actividad.</param> /// <param name="ps_paquete">String código paquete.</param> /// <param name="ps_componente">String código componente.</param> /// <param name="ps_entregable">String código entregable.</param> /// <param name="ps_proyecto">String código proyecto.</param> /// <param name="ps_registro">String código de registro.</param> /// <param name="ps_fecha">DateTime Fecha.</param> private void cargarActividad(string ps_actividad, string ps_paquete, string ps_componente, string ps_entregable, string ps_proyecto, string ps_registro, string ps_fecha) { cls_registroActividad vo_registro; cls_actividad vo_actividad; cls_asignacionActividad vo_asignacion; cls_paqueteActividad vo_paquete = null; try { vo_registro = new cls_registroActividad(); vo_actividad = new cls_actividad(); vo_actividad.pPK_Actividad = Convert.ToInt32(ps_actividad); vo_actividad = cls_gestorActividad.seleccionarActividad(vo_actividad); vo_paquete = new cls_paqueteActividad(); vo_paquete.pPK_Actividad = vo_actividad.pPK_Actividad; vo_paquete.pPK_Componente = Convert.ToInt32(ps_componente); vo_paquete.pPK_Entregable = Convert.ToInt32(ps_entregable); vo_paquete.pPK_Paquete = Convert.ToInt32(ps_paquete); vo_paquete.pPK_Proyecto = Convert.ToInt32(ps_proyecto); vo_asignacion = new cls_asignacionActividad(); vo_asignacion = cls_gestorAsignacionActividad.seleccionarAsignacionActividad(vo_paquete); vo_asignacion.pActividad = vo_actividad; vo_asignacion.pPK_Componente = Convert.ToInt32(ps_componente); vo_asignacion.pPK_Entregable = Convert.ToInt32(ps_entregable); vo_asignacion.pPK_Paquete = Convert.ToInt32(ps_paquete); vo_asignacion.pPK_Actividad = vo_actividad.pPK_Actividad; vo_asignacion.pPK_Proyecto = Convert.ToInt32(ps_proyecto); vo_asignacion.pPK_Usuario = ((COSEVI.CSLA.lib.accesoDatos.App_InterfaceComunes.cls_interface)this.Session[CSLA.web.App_Constantes.cls_constantes.INTERFACES]).vs_usuarioActual; vo_registro = new cls_registroActividad(); vo_registro.pAsignacion = vo_asignacion; vo_registro.pFecha = Convert.ToDateTime(ps_fecha); if (String.IsNullOrEmpty(ps_registro)) { vo_registro.pHoras = 0; vo_registro.pComentario = String.Empty; } else { vo_registro.pRegistro = Convert.ToDecimal(ps_registro); cls_gestorRegistroActividad.seleccionarRegistroActividad(vo_registro); } ((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).obj = vo_registro; } catch (Exception) { throw; } }
/// <summary> /// Evento para el cambio de índice en las actividades /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lbx_actividades_SelectedIndexChanged(object sender, EventArgs e) { try { int proyectoSeleccionado; int paqueteSeleccionado; int actividadSeleccionada; //Se asignan las 3 llaves para la búsqueda proyectoSeleccionado = cls_variablesSistema.vs_proyecto.pPK_proyecto; paqueteSeleccionado = Convert.ToInt32(ddl_paquete.SelectedValue.ToString()); actividadSeleccionada = Convert.ToInt32(lbx_actividades.SelectedValue.ToString()); //Se arma el objeto que envía las 3 llaves para la búsqueda cls_paqueteActividad vo_paqueteActividad = new cls_paqueteActividad(); vo_paqueteActividad.pPK_Proyecto = proyectoSeleccionado; vo_paqueteActividad.pPK_Paquete = paqueteSeleccionado; vo_paqueteActividad.pPK_Actividad = actividadSeleccionada; limpiarCamposTexto(); //Se limpia el listbox antes de su asignación limpiarListBoxUsuariosAsignados(); //Se limpia el listbox antes de su asignación limpiarListBoxUsuarios(); //Se envía a cargar, de existir, la información relacionada a la actividad cargarAsignacionActividad(vo_paqueteActividad); //Se cargan los usuarios restantes que pueden ser asignados a la actividad seleccionada cargarUsuarios(); } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error mientras se asignada la información del registro para las actividades."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }