/// <summary> /// Método que permite eliminar /// un registro en la tabla usuario /// </summary> /// <param name="poUsuario">Usuario a eliminar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int deleteUsuario(cls_usuario poUsuario) { int vi_resultado; try { String vs_comando = "PA_admi_usuarioDelete"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_usuario", poUsuario.pPK_usuario) }; cls_sqlDatabase.beginTransaction(); vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); cls_interface.insertarTransacccionBitacora(cls_constantes.ELIMINAR, cls_constantes.USUARIO, poUsuario.pPK_usuario,poUsuario.pUsuarioTransaccion); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al eliminar el usuario.", po_exception); } }
/// <summary> /// Método que permite insertar /// un nuevo registro en la tabla usuario /// </summary> /// <param name="poUsuario">Usuario a insertar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int insertUsuario(cls_usuario poUsuario) { int vi_resultado; try { String vs_comando = "PA_admi_usuarioInsert"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_usuario", poUsuario.pPK_usuario), new cls_parameter("@paramFK_rol", poUsuario.pFK_rol), new cls_parameter("@paramclave", poUsuario.pContrasena), new cls_parameter("@paramactivo", poUsuario.pActivo ? 1 : 0), new cls_parameter("@paramnombre", poUsuario.pNombre), new cls_parameter("@paramapellido1", poUsuario.pApellido1), new cls_parameter("@paramapellido2", poUsuario.pApellido2), new cls_parameter("@parampuesto", poUsuario.pPuesto), new cls_parameter("@paramemail", poUsuario.pEmail), new cls_parameter("@paramFK_departamento", poUsuario.pFK_departamento) }; cls_sqlDatabase.beginTransaction(); vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); cls_interface.insertarTransacccionBitacora(cls_constantes.INSERTAR, cls_constantes.USUARIO, poUsuario.pPK_usuario, poUsuario.pUsuarioTransaccion); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al insertar el usuario.", po_exception); } }
/// <summary> /// Método que permite actualizar /// la contraseña a un registro en la tabla usuario /// </summary> /// <param name="poUsuario">Usuario a actualizar</param> /// <returns>Int valor del resultado de la ejecución de la sentencia</returns> public static int updateContrasenaUsuario(cls_usuario poUsuario) { int vi_resultado; try { String vs_comando = "PA_admi_usuarioContrasenaUpdate"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_usuario", poUsuario.pPK_usuario), new cls_parameter("@paramcontrasena", poUsuario.pContrasena) }; cls_sqlDatabase.beginTransaction(); vi_resultado = cls_sqlDatabase.executeNonQuery(vs_comando, true, vu_parametros); cls_interface.insertarTransacccionBitacora(cls_constantes.MODIFICAR, cls_constantes.USUARIO, poUsuario.pPK_usuario); cls_sqlDatabase.commitTransaction(); return vi_resultado; } catch (Exception po_exception) { cls_sqlDatabase.rollbackTransaction(); throw new Exception("Ocurrió un error al modificar el usuario.", po_exception); } }
/// <summary> /// Método que permite seleccionar /// un único registro en la tabla usuario /// </summary> /// <returns>poUsuario valor del resultado de la ejecución de la sentencia</returns> public static cls_usuario seleccionarUsuario(cls_usuario poUsuario) { try { String vs_comando = "PA_admi_usuarioSelectOne"; cls_parameter[] vu_parametros = { new cls_parameter("@paramPK_usuario", poUsuario.pPK_usuario) }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); poUsuario = new cls_usuario(); poUsuario.pPK_usuario = vu_dataSet.Tables[0].Rows[0]["PK_usuario"].ToString(); poUsuario.pFK_rol = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["FK_rol"]); poUsuario.pContrasena = vu_dataSet.Tables[0].Rows[0]["clave"].ToString(); poUsuario.pActivo = Convert.ToInt16(vu_dataSet.Tables[0].Rows[0]["activo"]) == 1 ? true : false; poUsuario.pNombre = vu_dataSet.Tables[0].Rows[0]["nombre"].ToString(); poUsuario.pApellido1 = vu_dataSet.Tables[0].Rows[0]["apellido1"].ToString(); poUsuario.pApellido2 = vu_dataSet.Tables[0].Rows[0]["apellido2"].ToString(); poUsuario.pPuesto = vu_dataSet.Tables[0].Rows[0]["puesto"].ToString(); poUsuario.pEmail = vu_dataSet.Tables[0].Rows[0]["email"].ToString(); poUsuario.pFK_departamento = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["FK_departamento"]); return poUsuario; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el usuario específico.", po_exception); } }
/// <summary> /// Método permite identificar a un usuario. /// </summary> /// <returns> cls_usuario usuario logeado, en caso de que no exista será nulo.</returns> public static cls_usuario Login(string ps_user, string ps_pass) { cls_usuario poUsuario = null; try { String vs_comando = "PA_admi_login"; cls_parameter[] vu_parametros = { new cls_parameter("@param_user", ps_user), new cls_parameter("@param_pass", ps_pass), }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); if (vu_dataSet != null && vu_dataSet.Tables[0].Rows.Count == 1) { poUsuario = new cls_usuario(); poUsuario.pPK_usuario = vu_dataSet.Tables[0].Rows[0]["PK_usuario"].ToString(); poUsuario.pFK_rol = Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["FK_rol"]); poUsuario.pActivo = Convert.ToInt16(vu_dataSet.Tables[0].Rows[0]["activo"]) == 1 ? true : false; ; poUsuario.pNombre = vu_dataSet.Tables[0].Rows[0]["nombre"].ToString(); poUsuario.pApellido1 = vu_dataSet.Tables[0].Rows[0]["apellido1"].ToString(); poUsuario.pApellido2 = vu_dataSet.Tables[0].Rows[0]["apellido2"].ToString(); poUsuario.pPuesto = vu_dataSet.Tables[0].Rows[0]["puesto"].ToString(); poUsuario.pEmail = vu_dataSet.Tables[0].Rows[0]["email"].ToString(); poUsuario.pFK_departamento = vu_dataSet.Tables[0].Rows[0]["FK_departamento"] != DBNull.Value ? Convert.ToInt32(vu_dataSet.Tables[0].Rows[0]["FK_departamento"]) : -1; } return poUsuario; } catch (Exception po_exception) { throw new Exception("Error al tratar de realizar el Login al sistema.", po_exception); } }
/// <summary> /// Método que permite listar /// todos los registros en la tabla usuario /// </summary> /// <returns> List<cls_usuario> valor del resultado de la ejecución de la sentencia</returns> public static List<cls_usuario> listarUsuarios() { List<cls_usuario> vo_lista = null; cls_usuario poUsuario = null; try { String vs_comando = "PA_admi_usuarioSelect"; cls_parameter[] vu_parametros = { }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); vo_lista = new List<cls_usuario>(); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { poUsuario = new cls_usuario(); poUsuario.pPK_usuario = vu_dataSet.Tables[0].Rows[i]["PK_usuario"].ToString(); poUsuario.pFK_rol = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["PK_rol"]); poUsuario.pContrasena = vu_dataSet.Tables[0].Rows[i]["clave"].ToString(); poUsuario.pActivo = Convert.ToInt16(vu_dataSet.Tables[0].Rows[i]["activo"]) == 1 ? true : false; poUsuario.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString(); poUsuario.pApellido1 = vu_dataSet.Tables[0].Rows[i]["apellido1"].ToString(); poUsuario.pApellido2 = vu_dataSet.Tables[0].Rows[i]["apellido2"].ToString(); poUsuario.pPuesto = vu_dataSet.Tables[0].Rows[i]["puesto"].ToString(); poUsuario.pEmail = vu_dataSet.Tables[0].Rows[i]["email"].ToString(); poUsuario.pNombreRol = vu_dataSet.Tables[0].Rows[i]["nombreRol"].ToString(); poUsuario.pFK_departamento = Convert.ToInt16(vu_dataSet.Tables[0].Rows[i]["PK_departamento"]); poUsuario.pNombreDepartamento = vu_dataSet.Tables[0].Rows[i]["nombreDepartamento"].ToString(); vo_lista.Add(poUsuario); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de los usuarios.", po_exception); } }
/// <summary> /// Hace un lista de usuarios con un filtrado específico. /// </summary> /// <param name="psFiltro">String filtro.</param> /// <returns></returns> public static List<cls_usuario> listarUsuarioFiltro(string psFiltro) { List<cls_usuario> vo_lista = null; cls_usuario voUsuario = null; try { string vs_tablas = cls_constantes.USUARIO + " usu, " + cls_constantes.ROL + " rl, " + cls_constantes.DEPARTAMENTO + " dep "; string vs_columnas = " usu.PK_usuario PK_usuario, usu.FK_rol FK_rol, usu.nombre nombre, " + " usu.apellido1 apellido1, usu.apellido2 apellido2, usu.puesto puesto, " + " usu.activo activo, usu.email, rl.nombre nombreRol, usu.FK_departamento, dep.nombre nombreDepartamento "; psFiltro = " usu.FK_departamento = dep.PK_departamento AND usu.FK_rol= rl.Pk_rol AND usu." + psFiltro; DataSet vu_dataSet = cls_gestorUtil.selectFilter(vs_tablas, vs_columnas, psFiltro); vo_lista = new List<cls_usuario>(); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { voUsuario = new cls_usuario(); voUsuario.pPK_usuario = vu_dataSet.Tables[0].Rows[i]["PK_usuario"].ToString(); voUsuario.pFK_rol = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["FK_rol"].ToString()); voUsuario.pNombre = vu_dataSet.Tables[0].Rows[i]["nombre"].ToString(); voUsuario.pApellido1 = vu_dataSet.Tables[0].Rows[i]["apellido1"].ToString(); voUsuario.pApellido2 = vu_dataSet.Tables[0].Rows[i]["apellido2"].ToString(); voUsuario.pPuesto = vu_dataSet.Tables[0].Rows[i]["puesto"].ToString(); voUsuario.pActivo = Convert.ToInt16(vu_dataSet.Tables[0].Rows[i]["activo"]) == 1 ? true : false; ; voUsuario.pEmail = vu_dataSet.Tables[0].Rows[i]["email"].ToString(); voUsuario.pNombreRol = vu_dataSet.Tables[0].Rows[i]["nombreRol"].ToString(); voUsuario.pFK_departamento = Convert.ToInt32(vu_dataSet.Tables[0].Rows[i]["FK_departamento"].ToString()); voUsuario.pNombreDepartamento = vu_dataSet.Tables[0].Rows[i]["nombreDepartamento"].ToString(); vo_lista.Add(voUsuario); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de los usuarios de manera filtrada.", po_exception); } }
/// <summary> /// Constructor de la clase cls_actividad. /// </summary> public cls_asignacionActividad() { this.estado = new cls_estado(); this.usuario = new cls_usuario(); this.usuarioLista = new List<cls_usuario>(); }
/// <summary> /// Evento para remover usuarios de la asignación de actividades /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_removerUsuario_Click(object sender, EventArgs e) { try { cls_paquete vo_paquete = new cls_paquete(); vo_paquete.pPK_Paquete = Convert.ToInt32(ddl_paquete.SelectedValue.ToString()); 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.ToString(); for (int j = lbx_usuariosAsociados.Items.Count - 1; j >= 0; j--) { if (lbx_usuariosAsociados.Items[j].Selected == true) { cls_asignacionActividad vo_actividadAsignada = new cls_asignacionActividad(); cls_usuario vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = lbx_usuariosAsociados.Items[j].Value.ToString(); vo_usuario.pNombre = lbx_usuariosAsociados.Items[j].Text.ToString(); if (cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete).Count() > 0) { vo_actividadAsignada = (cls_asignacionActividad)cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Find(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete); //Si luego de esta eliminación, la lista aún va a quedar con elementos, solo se remueve el usuario if (vo_actividadAsignada.pUsuarioLista.Count > 1) { vo_actividadAsignada.pUsuarioLista.RemoveAll(searchLinQ => searchLinQ.pPK_usuario == vo_usuario.pPK_usuario); } //Si solo se haya un elemento en la lista de usuarios, no se realiza la eliminación del mismo, sino de la actividad asignada //del objeto en memoria, esto debido a que la llave primaria de la asignación está compuesta en parte por la llave primario //del usuario, y si el mismo no se asigna, pues no se obtiene y presentaría un error else { cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.RemoveAll(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete); } } lbx_usuarios.Items.Add(lbx_usuariosAsociados.Items[j]); ListItem li = lbx_usuariosAsociados.Items[j]; lbx_usuariosAsociados.Items.Remove(li); } } } } } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error mientras se desasociaba la información del usuario a la actividad."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Método que elimina un usuarios /// </summary> /// <param name="po_usuario">usuarios a eliminar</param> private void eliminarDatos(cls_usuario po_usuario) { try { po_usuario.pUsuarioTransaccion = ((cls_usuario)Session["cls_usuario"]).pPK_usuario; cls_gestorUsuario.deleteUsuario(po_usuario); this.llenarGridView(); this.upd_Principal.Update(); } catch (Exception po_exception) { throw new Exception("Ocurrió un error eliminando el usuario. Es posible que exista un registro asociado a este usuario.", po_exception); } }
/// <summary> /// Crea un objeto de tipo /// cls_usuario con la informacón /// que se encuentra en el formulario /// web /// </summary> /// <returns>cls_usuario</returns> private cls_usuario crearObjeto() { cls_usuario vo_usuario = new cls_usuario(); if (((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).tipoEstado != cls_constantes.AGREGAR) { vo_usuario = (cls_usuario)((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).obj; } try { vo_usuario.pPK_usuario = txt_usuario.Text; vo_usuario.pNombre = txt_nombre.Text; vo_usuario.pContrasena = cls_MD5.GetPassword(txt_usuario.Text, txt_contrasena.Text); vo_usuario.pApellido1 = txt_apellido1.Text; vo_usuario.pApellido2 = txt_apellido2.Text; vo_usuario.pFK_rol = Convert.ToInt32(ddl_rol.SelectedValue); vo_usuario.pPuesto = txt_puesto.Text; vo_usuario.pActivo = chk_activo.Checked; vo_usuario.pEmail = txt_email.Text; vo_usuario.pFK_departamento = Convert.ToInt32(ddl_departamento.SelectedValue); return vo_usuario; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al crear el objeto para guardar el registro.", po_exception); } }
/// <summary> /// Guarda la información se que se encuentra /// en el formulario Web para actualizar la contraseña a un usuario /// </summary> /// <returns>Int valor devuelvo por el motor de bases de datos</returns> private int cambiarContrasena() { int vi_resultado = 1; cls_usuario vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = txt_usuariocambio.Text.ToString(); vo_usuario.pContrasena = cls_MD5.GetPassword(txt_usuariocambio.Text, txt_nuevopassword.Text); try { vi_resultado = cls_gestorUsuario.updateContrasenaUsuario(vo_usuario); return vi_resultado; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al modificar la contraseña.", po_exception); } }
/// <summary> /// Cuando se seleccionada un botón del grid. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void grd_listaUsuarios_RowCommand(object sender, GridViewCommandEventArgs e) { try { int vi_indice = Convert.ToInt32(e.CommandArgument); //this.grd_listaUsuarios.Columns[5].Visible = true; GridViewRow vu_fila = this.grd_listaUsuarios.Rows[vi_indice]; cls_usuario vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = vu_fila.Cells[0].Text.ToString(); vo_usuario.pNombre = vu_fila.Cells[1].Text.ToString(); vo_usuario.pContrasena = vu_fila.Cells[2].Text.ToString(); vo_usuario.pApellido1 = vu_fila.Cells[3].Text.ToString(); vo_usuario.pApellido2 = vu_fila.Cells[4].Text.ToString(); vo_usuario.pFK_rol = Convert.ToInt32(vu_fila.Cells[5].Text.ToString()); vo_usuario.pNombreRol = vu_fila.Cells[6].Text.ToString(); vo_usuario.pPuesto = vu_fila.Cells[7].Text.ToString(); CheckBox chkBox = new CheckBox(); chkBox = (CheckBox)(grd_listaUsuarios.Rows[vi_indice].Cells[8].Controls[0]); vo_usuario.pActivo = chkBox.Checked; vo_usuario.pEmail = vu_fila.Cells[9].Text.ToString(); vo_usuario.pFK_departamento = Convert.ToInt32(vu_fila.Cells[10].Text.ToString()); switch (e.CommandName.ToString()) { case cls_constantes.VER: vo_usuario = cls_gestorUsuario.seleccionarUsuario(vo_usuario); ((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).obj = vo_usuario; ((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).tipoEstado = e.CommandName; this.cargarObjeto(); this.ard_principal.SelectedIndex = 1; break; case cls_constantes.EDITAR: vo_usuario = cls_gestorUsuario.seleccionarUsuario(vo_usuario); ((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).obj = vo_usuario; ((CSLA.web.App_Variables.cls_variablesSistema)this.Session[CSLA.web.App_Constantes.cls_constantes.VARIABLES]).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.USUARIO, vo_usuario.pPK_usuario.ToString())) { this.eliminarDatos(vo_usuario); } else { //Se levanta PopUp indicando que no se puede eliminar el registro this.mpe_RegistroPermante.Show(); } break; case cls_constantes.CAMBIAR: // Muestra el modalpopupextender this.txt_usuariocambio.Text = vo_usuario.pPK_usuario; this.mpe_CambioPassword.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> /// Constructo de la clase cls_bitacora. /// </summary> public cls_bitacora() { this.departamento = new cls_departamento(); this.usuario = new cls_usuario(); }
/// <summary> /// Método que se /// encarga de guardar la información del /// usuario. /// </summary> private void guardarUsuario() { cls_usuario vo_usuario = null; try { vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = this.txt_usuario.Text; //Se carga la información actual del usuario. vo_usuario = cls_gestorUsuario.seleccionarUsuario(vo_usuario); vo_usuario.pEmail = this.txt_email.Text; if (!String.IsNullOrEmpty(this.txt_contrasena.Text) && !String.IsNullOrEmpty(this.txt_confirmarContrasena.Text) && this.txt_contrasena.Text.Equals(this.txt_confirmarContrasena.Text)) { vo_usuario.pContrasena = cls_MD5.GetPassword( vo_usuario.pPK_usuario,this.txt_contrasena.Text); } //Se actualiza la información del usuario cls_gestorUsuario.updateUsuario(vo_usuario); //Se actualiza la información del usuario //en la sesión. vo_usuario.pContrasena = string.Empty; this.Session["cls_usuario"] = vo_usuario; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Salida", "MostrarMensaje();", true); } catch (Exception po_exception) { this.lanzarExcepcion(po_exception, "Error al guardar la información del usuario."); } }
/// <summary> /// Evento que asigna usuarios a las actividades que se seleccionan /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_asignarUsuario_Click(object sender, EventArgs e) { try { cls_paquete vo_paquete = new cls_paquete(); vo_paquete.pPK_Paquete = Convert.ToInt32(ddl_paquete.SelectedValue.ToString()); //Se recorren las actividades del listBox hasta que se llegue a la que se encuentra seleccionada 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.ToString(); //Se recorren los usuarios del listBox hasta que se llegue al que se encuentra seleccionado for (int j = lbx_usuarios.Items.Count - 1; j >= 0; j--) { if (lbx_usuarios.Items[j].Selected == true) { cls_asignacionActividad vo_actividadAsignada = new cls_asignacionActividad(); cls_usuario vo_usuario = new cls_usuario(); vo_usuario.pPK_usuario = lbx_usuarios.Items[j].Value.ToString(); vo_usuario.pNombre = lbx_usuarios.Items[j].Text.ToString(); //Si la asignación no se encuentra en memoria if (cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Where(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete).Count() == 0) { vo_actividadAsignada = (cls_asignacionActividad)cls_variablesSistema.vs_proyecto.pActividadesPaqueteLista.Find(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete); cls_variablesSistema.obj = vo_actividadAsignada; vo_actividadAsignada = crearObjeto(); //Si el usuario no se encuentra asignado, se procede a agregarlo a la lista de usuarios de la asignación y a agregar la asignación en si if (vo_actividadAsignada.pUsuarioLista.Where(searchLinQ => searchLinQ.pPK_usuario == vo_usuario.pPK_usuario).Count() == 0) { vo_actividadAsignada.pUsuarioLista.Add(vo_usuario); lbx_usuariosAsociados.Items.Add(lbx_usuarios.Items[j]); ListItem li = lbx_usuarios.Items[j]; lbx_usuarios.Items.Remove(li); cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Add(vo_actividadAsignada); } } //De encontrarse la asignación ya en memoria, sólo se asigna y se corrobora el usuario que se intenta asignar else { vo_actividadAsignada = (cls_asignacionActividad)cls_variablesSistema.vs_proyecto.pAsignacionActividadListaMemoria.Find(searchLinQ => searchLinQ.pPK_Actividad == vo_actividad.pPK_Actividad && searchLinQ.pPK_Paquete == vo_paquete.pPK_Paquete); cls_variablesSistema.obj = vo_actividadAsignada; vo_actividadAsignada = crearObjeto(); if (vo_actividadAsignada.pUsuarioLista.Where(searchLinQ => searchLinQ.pPK_usuario == vo_usuario.pPK_usuario).Count() == 0) { vo_actividadAsignada.pUsuarioLista.Add(vo_usuario); lbx_usuariosAsociados.Items.Add(lbx_usuarios.Items[j]); ListItem li = lbx_usuarios.Items[j]; lbx_usuarios.Items.Remove(li); } } } } } } } catch (Exception po_exception) { String vs_error_usuario = "Ocurrió un error mientras se asignada la información del usuario a la actividad."; this.lanzarExcepcion(po_exception, vs_error_usuario); } }
/// <summary> /// Lista las asignaciones /// existentes de una operación /// </summary> /// <param name="poOperacion">cls_operacion operacion</param> /// <returns>List con las asignaciones existentes de una operación</returns> public static List<cls_asignacionOperacion> listarAsignacionesOperacion(cls_operacion poOperacion) { List<cls_asignacionOperacion> vo_lista = null; cls_asignacionOperacion voAsignacion = null; cls_usuario voUsuario = null; try { String vs_comando = "PA_cont_asignacionOperacion"; cls_parameter[] vu_parametros = { new cls_parameter("@paramOperacion", poOperacion.pPK_Codigo) }; DataSet vu_dataSet = cls_sqlDatabase.executeDataset(vs_comando, true, vu_parametros); vo_lista = new List<cls_asignacionOperacion>(); for (int i = 0; i < vu_dataSet.Tables[0].Rows.Count; i++) { voAsignacion = new cls_asignacionOperacion(); voAsignacion.pFK_Operacion = poOperacion; voAsignacion.pFK_Usuario = vu_dataSet.Tables[0].Rows[i]["PK_usuario"].ToString(); voUsuario = new cls_usuario(); voUsuario.pPK_usuario = voAsignacion.pFK_Usuario; voAsignacion.pUsuario = cls_gestorUsuario.seleccionarUsuario(voUsuario); vo_lista.Add(voAsignacion); } return vo_lista; } catch (Exception po_exception) { throw new Exception("Ocurrió un error al obtener el listado de los paquetes de manera filtrada.", po_exception); } }
/// <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); } }