public List <IdValor> GetList() { var docentesGuia = new List <IdValor>(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select u.id as id, u.nombre + ' ' + u.apellido as nombre from usuarios u " + "inner join miembros_equipos me on me.usuario = u.id " + "inner join equipos e on e.id = me.equipo " + "where me.baja is null and e.baja is null and u.baja is null " + "and e.Nombre = 'Docentes guía' ", connection); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var docenteGuia = new IdValor(); docenteGuia.Id = dr["id"].ToString(); docenteGuia.Valor = dr["nombre"].ToString(); docentesGuia.Add(docenteGuia); } connection.Close(); return(docentesGuia); }
public List <IdValor> GetList([FromQuery] string ciudad) { var localidades = new List <IdValor>(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select id, nombre from localidades where ciudad = @ciudad", connection); com.Parameters.AddWithValue("@ciudad", ciudad); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var localidad = new IdValor(); localidad.Id = dr["id"].ToString(); localidad.Valor = dr["nombre"].ToString(); localidades.Add(localidad); } connection.Close(); return(localidades); }
public void DesestimarSeleccion([FromBody] IdValor razonId) { string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("update etapas_seleccion_alumnos set estado = (select id from estados_seleccion where nombre = 'Alumno Rechazado') where id = @id", connection); com.Parameters.AddWithValue("@id", razonId.Id); com.ExecuteReader(); connection.Close(); connection.Open(); SqlCommand com2 = new SqlCommand("update etapas_seleccion_alumnos set razon_rechazo = @razon where id = @id", connection); com2.Parameters.AddWithValue("@id", razonId.Id); com2.Parameters.AddWithValue("@razon", razonId.Valor); com2.ExecuteReader(); connection.Close(); }
public List <IdValor> GetList() { var empresas = new List <IdValor>(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select id, nombre from empresas", connection); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var empresa = new IdValor(); empresa.Id = dr["id"].ToString(); empresa.Valor = dr["nombre"].ToString(); empresas.Add(empresa); } connection.Close(); return(empresas); }
public IdValor MostrarConf([FromQuery] string tareaId) { var str = new IdValor(); string connectionstring2 = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection2 = new SqlConnection(connectionstring2); connection2.Open(); SqlCommand com2 = new SqlCommand("select case when " + "exists(select 1 from tareas t2 where t2.id in " + "(select rt.tarea_pred from relacion_tareas rt where rt.tarea_suce = t.id) " + "and t2.estado in (1, 2, 3)) then 'mostrar_conf' else '' end as mostrar_conf " + "from tareas t where id = @id", connection2); com2.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr2 = com2.ExecuteReader(); if (dr2.HasRows) { while (dr2.Read()) { str.Valor = dr2["mostrar_conf"].ToString(); } } connection2.Close(); return(str); }
public List <IdValor> GetList() { var tutores = new List <IdValor>(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select u.id as id, u.nombre + ' ' + u.apellido as nombre from usuarios u " + "inner join miembros_equipos me on me.usuario = u.id " + "inner join equipos e on e.id = me.equipo " + "inner join empresas em on em.id = e.empresa " + "where me.baja is null and e.baja is null and u.baja is null " + "and e.Nombre = 'Tutores' and em.baja is null and em.id = 23", connection); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var tutor = new IdValor(); tutor.Id = dr["id"].ToString(); tutor.Valor = dr["nombre"].ToString(); tutores.Add(tutor); } connection.Close(); return(tutores); }
public List <IdValor> GetUsuarioRespList([FromQuery] string usuarioId, [FromQuery] string tipoEtapa, [FromQuery] string etapaId) { var usuarios = new List <IdValor>(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select u.id as id, " + "u.nombre + ' ' + u.apellido as nombre from " + "usuarios u " + "where " + "((((select tipo_usuario from usuarios u3 where u3.id=@id_usuario)='e' " + "and u.empresa=(select u2.empresa from usuarios u2 where u2.id=@id_usuario))) " + "or " + "(((select tipo_usuario from usuarios u3 where u3.id=@id_usuario)='u') and u.alumno is null and u.empresa is null)) " + "and u.baja is null and u.id<>@id_usuario " + "union " + "select u.id, " + "u.nombre + ' ' + u.apellido from " + "usuarios u " + "where " + "(@tipo_etapa='seleccion' and u.id=(select alumno from etapas_seleccion_alumnos where id=@idetapa)) " + "and u.baja is null and u.id<>@id_usuario " + "union " + "select u3.id as id, " + "u3.nombre + ' ' + u3.apellido as nombre " + "from participantes_etapa pe inner " + "join usuarios u3 on u3.id = pe.usuario " + "and u3.id <> @id_usuario and u3.baja is null", connection); com.Parameters.AddWithValue("@id_usuario", usuarioId); com.Parameters.AddWithValue("@tipo_etapa", tipoEtapa); com.Parameters.AddWithValue("@idetapa", etapaId); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var usuario = new IdValor(); usuario.Id = dr["id"].ToString(); usuario.Valor = dr["nombre"].ToString(); usuarios.Add(usuario); } connection.Close(); return(usuarios); }
public void CambiarResponsable([FromBody] IdValor responsable, [FromQuery] string tipo) { DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); string connectionstring2 = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection2 = new SqlConnection(connectionstring2); connection2.Open(); SqlCommand com2 = new SqlCommand("update tareas set responsable = @responsable_id, fecha_modif = @fecha_modif " + "where id = @id", connection2); com2.Parameters.AddWithValue("@responsable_id", responsable.Valor); com2.Parameters.AddWithValue("@id", responsable.Id); com2.Parameters.AddWithValue("@fecha_modif", sqlFormattedDate); com2.ExecuteReader(); connection2.Close(); connection2.Open(); var aux = 0; if (tipo == "definicion") { aux = 1; } else { aux = 2; } SqlCommand com3 = new SqlCommand("insert into participantes_etapa select @aux, @id, @responsable_id, @alta, null", connection2); com3.Parameters.AddWithValue("@aux", aux); com3.Parameters.AddWithValue("@responsable_id", responsable.Valor); com3.Parameters.AddWithValue("@id", responsable.Id); com3.Parameters.AddWithValue("@fecha_modif", sqlFormattedDate); com3.Parameters.AddWithValue("@alta", sqlFormattedDate); com3.ExecuteReader(); connection2.Close(); }
public Alumno GetId([FromBody] IdValor usuario) { string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select id, nombre, apellido from alumnos where nombreUsuario = @nombreUsuario", connection); com.Parameters.AddWithValue("@nombreUsuario", usuario.Valor); SqlDataReader dr = com.ExecuteReader(); Alumno alumno = new Alumno(); while (dr.Read()) { alumno.Id = dr["id"].ToString(); alumno.Nombres = dr["nombre"].ToString(); alumno.Apellidos = dr["apellido"].ToString(); } connection.Close(); return(alumno); }
public TareaView Get([FromQuery] string tareaId) { var tarea = new TareaView(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select t.id as id_tarea, t.nombre as nombre, t.descripcion as descripcion, e.nombre as estado, " + "u.id as responsable_id, u.nombre + ' ' + u.apellido as responsable, convert(varchar, t.fecha_fin, 103) as fecha_fin from tareas t " + "inner join estados_tareas e on e.id = t.estado " + "inner join usuarios u on u.id = t.responsable " + "where t.id = @id and e.baja is null and u.baja is null", connection); com.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { tarea.Id = dr["id_tarea"].ToString(); tarea.Nombre = dr["nombre"].ToString(); tarea.Descripcion = dr["descripcion"].ToString(); tarea.Estado = dr["estado"].ToString(); tarea.Responsable = new IdValor { Id = dr["responsable_id"].ToString(), Valor = dr["responsable"].ToString() }; tarea.FechaFin = dr["fecha_fin"].ToString(); } connection.Close(); connection.Open(); SqlCommand com2 = new SqlCommand("select c.id as id_comentario, c.comentario as comentario, u.nombre + ' ' + u.apellido as usuario, " + "convert(varchar, c.alta, 103) as fecha " + "from comentarios_x_tarea c " + "inner join usuarios u on u.id = c.usuario " + "where tarea = @id and u.baja is null and c.baja is null " + "order by c.alta desc", connection); com2.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr2 = com2.ExecuteReader(); if (dr2.HasRows) { var comentarios = new List <Comentario>(); while (dr2.Read()) { var comentario = new Comentario(); comentario.Contenido = dr2["comentario"].ToString(); comentario.Fecha = dr2["fecha"].ToString(); comentario.Id = dr2["id_comentario"].ToString(); comentario.Usuario = dr2["usuario"].ToString(); comentarios.Add(comentario); } tarea.Comentarios = comentarios.ToArray(); } connection.Close(); connection.Open(); SqlCommand com3 = new SqlCommand("select a.id as id_archivo, a.archivo_ruta as archivo, u.nombre + ' ' + u.apellido as usuario, " + "convert(varchar, a.fecha, 103) as fecha " + "from archivos_x_tarea a " + "inner join usuarios u on u.id = a.usuario " + "where tarea = @id and u.baja is null and a.baja is null " + "order by a.alta desc", connection); com3.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr3 = com3.ExecuteReader(); if (dr3.HasRows) { var archivos = new List <TareaViewArchivo>(); while (dr3.Read()) { var archivo = new TareaViewArchivo(); archivo.Archivo = dr3["archivo"].ToString(); archivo.Id = dr3["id_archivo"].ToString(); archivo.Usuario = dr3["usuario"].ToString(); archivos.Add(archivo); } tarea.Archivos = archivos.ToArray(); } connection.Close(); connection.Open(); SqlCommand com4 = new SqlCommand("select t2.id as tarea_que_hab_id, t2.nombre + ' (' + e.nombre + ')' as tarea_que_hab_nombre " + "from relacion_tareas rt " + "inner join tareas t on t.id = rt.tarea_pred " + "inner join tareas t2 on t2.id = rt.tarea_suce " + "inner join estados_tareas e on e.id = t2.estado " + "where t.id = @id and rt.baja is null " + "and t2.baja is null", connection); com4.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr4 = com4.ExecuteReader(); if (dr4.HasRows) { var tareas = new List <IdValor>(); while (dr4.Read()) { var tareaQH = new IdValor(); tareaQH.Id = dr4["tarea_que_hab_id"].ToString(); tareaQH.Valor = dr4["tarea_que_hab_nombre"].ToString(); tareas.Add(tareaQH); } tarea.TareasQueHabilita = tareas.ToArray(); } connection.Close(); connection.Open(); SqlCommand com5 = new SqlCommand("select t2.id as tarea_pred_id, t2.nombre + ' (' + e.nombre + ')' as tarea_pred_nombre " + "from relacion_tareas rt " + "inner join tareas t on t.id = rt.tarea_suce " + "inner join tareas t2 on t2.id = rt.tarea_pred " + "inner join estados_tareas e on e.id = t2.estado " + "where t.id = @id and rt.baja is null " + "and t2.baja is null", connection); com5.Parameters.AddWithValue("@id", tareaId); SqlDataReader dr5 = com5.ExecuteReader(); if (dr5.HasRows) { var tareas = new List <IdValor>(); while (dr5.Read()) { var tareaP = new IdValor(); tareaP.Id = dr5["tarea_pred_id"].ToString(); tareaP.Valor = dr5["tarea_pred_nombre"].ToString(); tareas.Add(tareaP); } tarea.TareasPredecesoras = tareas.ToArray(); } connection.Close(); return(tarea); }
public Etapa GetData([FromQuery] string etapaDefinicionId) { var etapa = new Etapa(); string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select u.id,'Administrador de Universidad: ' + u.nombre + ' ' + u.apellido as nombre " + "from usuarios u " + "inner join etapas_definicion_convenio ec on u.id = ec.admin_universidad " + "where ec.baja IS NULL and u.baja IS NULL and ec.id = @etapadefinicion", connection); com.Parameters.AddWithValue("@etapadefinicion", etapaDefinicionId); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { var adminstradorUniversidad = new IdValor(); adminstradorUniversidad.Id = dr["id"].ToString(); adminstradorUniversidad.Valor = dr["nombre"].ToString(); etapa.AdministradorUniversidad = adminstradorUniversidad; } connection.Close(); connection.Open(); SqlCommand comAdminEmp = new SqlCommand("select u.id as id, 'Administrador de Empresa: ' + u.nombre + ' ' + u.apellido as nombre " + "from usuarios u " + "inner join etapas_definicion_convenio ec on u.id = ec.admin_empresa " + "where ec.baja IS NULL and u.baja IS NULL and ec.id = @etapadefinicion", connection); comAdminEmp.Parameters.AddWithValue("@etapadefinicion", etapaDefinicionId); SqlDataReader drAdminEmp = comAdminEmp.ExecuteReader(); while (drAdminEmp.Read()) { var administradorEmpresa = new IdValor(); administradorEmpresa.Id = drAdminEmp["id"].ToString(); administradorEmpresa.Valor = drAdminEmp["nombre"].ToString(); etapa.AdministradorEmpresa = administradorEmpresa; } connection.Close(); connection.Open(); SqlCommand comEstado = new SqlCommand("select est.id as id, 'Estado: ' + est.nombre as nombre " + "from estados_convenios est " + "inner join etapas_definicion_convenio ec on est.id = ec.estado " + "where ec.baja is null and est.baja is null and ec.id = @etapadefinicion", connection); comEstado.Parameters.AddWithValue("@etapadefinicion", etapaDefinicionId); SqlDataReader drEstado = comEstado.ExecuteReader(); while (drEstado.Read()) { var estado = new IdValor(); estado.Id = drEstado["id"].ToString(); estado.Valor = drEstado["nombre"].ToString(); etapa.Estado = estado; } connection.Close(); connection.Open(); SqlCommand comTarea = new SqlCommand("SELECT " + "t.id as idtarea, " + "t.alta as alta, " + "t.nombre as nombre, " + "'Responsable: ' + u.nombre + ' ' + u.apellido as responsable, " + "'Estado: ' + et.nombre as estado, " + "'Fecha de fin de tarea: ' + convert(varchar, t.fecha_fin, 103) as fecha_fin, " + "'Última modificación: Hace ' + convert(varchar, datediff(dd, t.fecha_modif, getdate())) + ' días' as dias_modif, " + "isnull((datediff(dd, t.fecha_modif, getdate())),0) as dias_modif_int, " + "case when exists " + "(select 1 from relacion_tareas rt " + "inner join tareas t2 on rt.tarea_pred = t2.id " + "where rt.tarea_suce = t.id and t2.estado in (1, 2, 3)) then 'Existen predecesoras sin terminar' else '' end as predec " + "FROM tareas t " + "inner join etapas_definicion_convenio ec on t.etapa_definicion_convenio = ec.id " + "left join usuarios u on u.id = t.responsable " + "inner join estados_tareas et on et.id = t.estado " + "where t.baja is null and u.baja is null and et.baja is null and ec.baja is null " + "and ec.id = @etapadefinicion", connection); comTarea.Parameters.AddWithValue("@etapadefinicion", etapaDefinicionId); SqlDataReader drTarea = comTarea.ExecuteReader(); if (drTarea.HasRows) { var tareas = new List <Tarea>(); while (drTarea.Read()) { var tarea = new Tarea(); tarea.Id = drTarea["idtarea"].ToString(); tarea.Nombre = drTarea["nombre"].ToString(); tarea.Responsable = drTarea["responsable"].ToString(); tarea.Estado = drTarea["estado"].ToString(); tarea.FechaFin = drTarea["fecha_fin"].ToString(); tarea.DiaModif = drTarea["dias_modif"].ToString(); tarea.Predecesoras = drTarea["predec"].ToString(); tarea.Alta = drTarea["alta"].ToString(); tarea.DiasModifInt = Convert.ToInt32(drTarea["dias_modif_int"]); tareas.Add(tarea); } etapa.Tareas = tareas.ToArray(); } connection.Close(); connection.Open(); SqlCommand com2 = new SqlCommand("select e.id as empresa_id, e.nombre as empresa_nombre, c.id as convenio_id, c.nombre as convenio_nombre, edc.nombre as nombre_etapa, " + "c.archivo_convenio_string as archivo " + "from etapas_definicion_convenio edc inner join empresas e on e.id=edc.empresa " + "left join convenios c on c.etapa_definicion=edc.id " + "where c.baja is null and e.baja is null and edc.baja is null and edc.id = @id", connection); com2.Parameters.AddWithValue("@id", etapaDefinicionId); SqlDataReader dr2 = com2.ExecuteReader(); if (dr2.HasRows) { while (dr2.Read()) { etapa.Empresa = new IdValor { Id = dr2["empresa_id"].ToString(), Valor = dr2["empresa_nombre"].ToString() }; etapa.Convenio = new IdValor { Id = dr2["convenio_id"].ToString(), Valor = dr2["convenio_nombre"].ToString() }; etapa.Archivo = dr2["archivo"].ToString(); etapa.NombreEtapa = dr2["nombre_etapa"].ToString(); } } connection.Close(); return(etapa); }
public Perfil GetPerfil([FromQuery] string alumnoId) { string connectionstring = _configuration.GetConnectionString("DefaultConnectionString"); SqlConnection connection = new SqlConnection(connectionstring); connection.Open(); SqlCommand com = new SqlCommand("select perfil.id, " + "perfil.nombre, " + "perfil.apellido, " + "perfil.pais_residencia as pais_residencia_id, pais.nombre as pais_nombre, " + "perfil.provincia as provincia_id, provincia.nombre as provincia_nombre, " + "perfil.zona as zona_id, zona.nombre as zona_nombre, " + "perfil.ciudad as ciudad_id, ciudad.nombre as ciudad_nombre, " + "perfil.localidad as localidad_id, localidad.nombre as localidad_nombre, " + "perfil.fecha_nac, " + "perfil.estado_civil, " + "perfil.pais_nacionalidad as pais_nacionalidad_id, pais2.nombre as pais_nacionalidad_nombre, " + "perfil.tipo_documento, " + "perfil.documento, " + "perfil.objetivo_laboral, " + "perfil.intereses_personales, " + "perfil.alumno, " + "perfil.carrera as carrera_id, carrera.nombre as carrera_nombre, " + "perfil.porcentaje_mat_apr, " + "perfil.cantidad_mat_apr, " + "perfil.promedio, " + "perfil.anio_cursada " + "from perfil perfil " + "left join paises pais on perfil.pais_residencia = pais.id " + "left join paises pais2 on perfil.pais_nacionalidad = pais2.id " + "left join provincias provincia on perfil.provincia = provincia.id " + "left join zonas zona on perfil.zona = zona.id " + "left join ciudades ciudad on perfil.ciudad = ciudad.id " + "left join localidades localidad on perfil.localidad = localidad.id " + "left join carreras carrera on perfil.carrera = carrera.id " + "where perfil.alumno = @alumno", connection); com.Parameters.AddWithValue("@alumno", alumnoId); SqlDataReader dr = com.ExecuteReader(); var perfil = new Perfil(); if (dr.HasRows) { while (dr.Read()) { perfil.Id = dr["id"].ToString(); perfil.Nombre = dr["nombre"].ToString(); perfil.Apellido = dr["apellido"].ToString(); perfil.PaisResidencia = new IdValor[] { new IdValor { Id = dr["pais_residencia_id"].ToString(), Valor = dr["pais_nombre"].ToString() } }; perfil.ProvinciaResidencia = new IdValor[] { new IdValor { Id = dr["provincia_id"].ToString(), Valor = dr["provincia_nombre"].ToString() } }; perfil.Zona = new IdValor[] { new IdValor { Id = dr["zona_id"].ToString(), Valor = dr["zona_nombre"].ToString() } }; perfil.Ciudad = new IdValor[] { new IdValor { Id = dr["ciudad_id"].ToString(), Valor = dr["ciudad_nombre"].ToString() } }; perfil.Localidad = new IdValor[] { new IdValor { Id = dr["localidad_id"].ToString(), Valor = dr["localidad_nombre"].ToString() } }; perfil.FechaNacimientoDT = Convert.ToDateTime(dr["fecha_nac"].ToString()); perfil.EstadoCivil = dr["estado_civil"].ToString() != null ? new IdValor[] { new IdValor { Id = GetEstadoCivilId(dr["estado_civil"].ToString()), Valor = dr["estado_civil"].ToString() } } : null; perfil.PaisNacionalidad = new IdValor[] { new IdValor { Id = dr["pais_nacionalidad_id"].ToString(), Valor = dr["pais_nacionalidad_nombre"].ToString() } }; perfil.TipoDocumento = dr["tipo_documento"].ToString(); perfil.Documento = dr["documento"].ToString(); perfil.ObjetivoLaboral = dr["objetivo_laboral"].ToString(); perfil.InteresesPersonales = dr["intereses_personales"].ToString(); perfil.Alumno = dr["alumno"].ToString(); perfil.Carrera = new IdValor[] { new IdValor { Id = dr["carrera_id"].ToString(), Valor = dr["carrera_nombre"].ToString() } }; perfil.PorcentajeMateriasAprobadas = (float)Convert.ToDouble(dr["porcentaje_mat_apr"]); perfil.CantidadMateriasAprobadas = Convert.ToInt32(dr["cantidad_mat_apr"]); perfil.Promedio = (float)Convert.ToDouble(dr["promedio"]); perfil.AnioCursada = Convert.ToInt32(dr["anio_cursada"]); } } else { return(null); } connection.Close(); connection.Open(); SqlCommand comRedesSociales = new SqlCommand("select id, red_social, tipo_red, mostrar_feed from redes_sociales where perfil = @perfil", connection); comRedesSociales.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drRedesSociales = comRedesSociales.ExecuteReader(); if (drRedesSociales.HasRows) { perfil.RedesSociales = new RedesSociales(); while (drRedesSociales.Read()) { switch (drRedesSociales["tipo_red"].ToString()) { case "FB": perfil.RedesSociales.usuarioFacebook = drRedesSociales["red_social"].ToString(); perfil.RedesSociales.mostrarFeedFacebook = (bool)drRedesSociales["mostrar_feed"]; break; case "TW": perfil.RedesSociales.usuarioTwitter = drRedesSociales["red_social"].ToString(); perfil.RedesSociales.mostrarFeedTwitter = (bool)drRedesSociales["mostrar_feed"]; break; case "IG": perfil.RedesSociales.usuarioInstagram = drRedesSociales["red_social"].ToString(); perfil.RedesSociales.mostrarFeedInstagram = (bool)drRedesSociales["mostrar_feed"]; break; case "LI": perfil.RedesSociales.usuarioLinkedIn = drRedesSociales["red_social"].ToString(); perfil.RedesSociales.mostrarFeedLinkedIn = (bool)drRedesSociales["mostrar_feed"]; break; } } } connection.Close(); connection.Open(); SqlCommand comExperienciasLaborales = new SqlCommand("select el.id, el.empresa, el.puesto as puesto_id, puesto.nombre as puesto_nombre, el.fecha_desde, el.fecha_hasta, el.actualmente_trabajando, cel.conocimiento as conocimiento_id, c.nombre as conocimiento_nombre, el.comentarios " + "from experiencias_laborales el " + "left join puestos puesto on el.puesto = puesto.id " + "inner join conocimientos_x_experiencia_laboral cel on el.id = cel.experiencia_laboral " + "left join conocimientos c on cel.conocimiento = c.id " + "where perfil = @perfil", connection); comExperienciasLaborales.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drExperienciasLaborales = comExperienciasLaborales.ExecuteReader(); if (drExperienciasLaborales.HasRows) { var experienciasLaborales = new List <ExperienciaLaboral>(); while (drExperienciasLaborales.Read()) { var elIndex = experienciasLaborales.FindIndex(x => x.Id == drExperienciasLaborales["id"].ToString()); if (elIndex > -1) { //Lo convierto a List List <Conocimiento> conocimientoListAux = new List <Conocimiento>(experienciasLaborales[elIndex].Conocimientos); //Agrego el item conocimientoListAux.Add(new Conocimiento { Id = drExperienciasLaborales["conocimiento_id"].ToString(), Nombre = drExperienciasLaborales["conocimiento_nombre"].ToString() }); //Lo vuelvo a Array experienciasLaborales[elIndex].Conocimientos = conocimientoListAux.ToArray(); } else { var experienciaLaboral = new ExperienciaLaboral(); experienciaLaboral.Id = drExperienciasLaborales["id"].ToString(); experienciaLaboral.Empresa = drExperienciasLaborales["empresa"].ToString(); experienciaLaboral.PuestoLaboral = new Puesto[] { new Puesto { Id = drExperienciasLaborales["puesto_id"].ToString(), Nombre = drExperienciasLaborales["puesto_nombre"].ToString() } }; experienciaLaboral.FechaDesdeDT = Convert.ToDateTime(drExperienciasLaborales["fecha_desde"].ToString()); experienciaLaboral.FechaHastaDT = Convert.ToDateTime(drExperienciasLaborales["fecha_hasta"].ToString()); experienciaLaboral.Conocimientos = new Conocimiento[] { new Conocimiento { Id = drExperienciasLaborales["conocimiento_id"].ToString(), Nombre = drExperienciasLaborales["conocimiento_nombre"].ToString() } }; experienciaLaboral.ActualmenteTrabajando = (bool)drExperienciasLaborales["actualmente_trabajando"]; experienciaLaboral.Descripcion = drExperienciasLaborales["comentarios"].ToString(); experienciasLaborales.Add(experienciaLaboral); } } perfil.ExperienciaLaboral = experienciasLaborales.ToArray(); } connection.Close(); connection.Open(); SqlCommand comED = new SqlCommand("select id, institucion, titulo, tipo_estudio, estado, fecha_desde, fecha_hasta, actualmente_estudiando, comentarios " + "from experiencias_educativas " + "where perfil = @perfil", connection); comED.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drED = comED.ExecuteReader(); if (drED.HasRows) { var experienciasEducativas = new List <ExperienciaEducativa>(); while (drED.Read()) { var experienciaEducativa = new ExperienciaEducativa(); experienciaEducativa.Id = drED["id"].ToString(); experienciaEducativa.Institucion = drED["institucion"].ToString(); experienciaEducativa.Titulo = drED["titulo"].ToString(); experienciaEducativa.TipoEstudio = new IdValor[] { new IdValor { Id = GetTipoEstudio(drED["tipo_estudio"].ToString()), Valor = drED["tipo_estudio"].ToString() } }; experienciaEducativa.Estado = new IdValor[] { new IdValor { Id = GetEstado(drED["estado"].ToString()), Valor = drED["estado"].ToString() } }; experienciaEducativa.FechaDesdeDT = Convert.ToDateTime(drED["fecha_desde"].ToString()); experienciaEducativa.FechaHastaDT = Convert.ToDateTime(drED["fecha_hasta"].ToString()); experienciaEducativa.ActualmenteEstudiando = Convert.ToBoolean(drED["actualmente_estudiando"]); experienciaEducativa.Comentarios = drED["comentarios"].ToString(); experienciasEducativas.Add(experienciaEducativa); } perfil.ExperienciaEducativa = experienciasEducativas.ToArray(); } connection.Close(); connection.Open(); SqlCommand comIdioma = new SqlCommand("select ixp.id, ixp.idioma as idioma_id, i.nombre_idioma, ixp.nivel_oral, ixp.nivel_escrito, ixp.comentarios " + "from idiomas_x_perfil ixp inner join idiomas i on ixp.idioma = i.id " + "where perfil = @perfil", connection); comIdioma.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drIdioma = comIdioma.ExecuteReader(); if (drIdioma.HasRows) { var idiomas = new List <Idioma>(); while (drIdioma.Read()) { var idioma = new Idioma(); idioma.Id = drIdioma["id"].ToString(); idioma.NombreIdioma = new IdValor[] { new IdValor { Id = drIdioma["idioma_id"].ToString(), Valor = drIdioma["nombre_idioma"].ToString() } }; idioma.NivelOral = new IdValor[] { new IdValor { Id = GetNivel(drIdioma["nivel_oral"].ToString()), Valor = drIdioma["nivel_oral"].ToString() } }; idioma.NivelEscrito = new IdValor[] { new IdValor { Id = GetNivel(drIdioma["nivel_escrito"].ToString()), Valor = drIdioma["nivel_escrito"].ToString() } }; idioma.Comentarios = drIdioma["comentarios"].ToString(); idiomas.Add(idioma); } perfil.Idioma = idiomas.ToArray(); } connection.Close(); connection.Open(); SqlCommand comCXP = new SqlCommand("select cxp.id, cxp.conocimiento, c.nombre " + "from conocimientos_x_perfil cxp inner join conocimientos c on cxp.conocimiento = c.id " + "where perfil = @perfil", connection); comCXP.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drCXP = comCXP.ExecuteReader(); if (drCXP.HasRows) { var conocimientos = new List <IdValor>(); while (drCXP.Read()) { var conocimiento = new IdValor(); conocimiento.Id = drCXP["conocimiento"].ToString(); conocimiento.Valor = drCXP["nombre"].ToString(); conocimientos.Add(conocimiento); } perfil.OtrosConocimientos = conocimientos.ToArray(); } connection.Close(); connection.Open(); SqlCommand comEmail = new SqlCommand("select id, correo from correos_electronicos " + "where perfil = @perfil", connection); comEmail.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drEmail = comEmail.ExecuteReader(); if (drEmail.HasRows) { var emails = new List <IdValor>(); while (drEmail.Read()) { var email = new IdValor(); email.Id = drEmail["id"].ToString(); email.Valor = drEmail["correo"].ToString(); emails.Add(email); } perfil.Emails = emails.ToArray(); } connection.Close(); connection.Open(); SqlCommand comTelefono = new SqlCommand("select id, numero_telefono from telefonos " + "where perfil = @perfil", connection); comTelefono.Parameters.AddWithValue("@perfil", perfil.Id); SqlDataReader drTelefono = comTelefono.ExecuteReader(); if (drTelefono.HasRows) { var telefonos = new List <IdValor>(); while (drTelefono.Read()) { var telefono = new IdValor(); telefono.Id = drTelefono["id"].ToString(); telefono.Valor = drTelefono["numero_telefono"].ToString(); telefonos.Add(telefono); } perfil.Telefonos = telefonos.ToArray(); } connection.Close(); return(perfil); }