示例#1
0
 public IActionResult EditarExperiencia(ExperienciaEducativa expe)
 {
     using (sgcfieeContext context = new sgcfieeContext())
     {
         context.ExperienciaEducativa.Update(expe);
         context.SaveChanges();
         TempData["Mensjae"] = "datos actualziados correctamente";
         return(RedirectToAction("MostrarExperiencia"));
     }
 }
示例#2
0
 public IActionResult CrearExperiencia(ExperienciaEducativa expe)
 {
     using (sgcfieeContext context = new sgcfieeContext())
     {
         context.ExperienciaEducativa.Add(expe);
         context.SaveChanges();
         TempData["Mensaje"] = "Experiencia agregada correctamente";
         return(RedirectToAction("Index"));
     }
 }
        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);
        }