//
        // GET: /Estudiante/
        public ActionResult Buscar(Estudiante estudiante)
        {
            var estudiantes = from b in db.Estudiantes
                              select b;

            foreach (var b in estudiantes)
            {
                if (b.num_documento.Equals(estudiante.num_documento) || b.codigo.Equals(estudiante.codigo))
                {
                    estudiante = b;
                }

            }
            if (estudiante.estudianteId == 0)
            {
                return View(estudiante);
            }
            else
            {
                return RedirectToAction("../Estudiante/PersonalesDS/" + estudiante.estudianteId);
            }
        }
 public ActionResult CarnetVacunacionDS(Estudiante estudiante, int id = 0)
 {
     return RedirectToAction("../Vacuna/EsquemaVacunacion/" + estudiante.estudianteId);
 }
 //
 //------------------------- Vista para datos personales del estudiante
 public ActionResult cargaImagen(Estudiante estudiante)
 {
     HojaVida oHojaVida = db.HojaVidas.Find(estudiante.hojaVidaId);
     try
     {
         var request = WebRequest.Create(oHojaVida.imagen_DI);
         using (var response = request.GetResponse())
         {
             using (var responseStream = response.GetResponseStream())
             {
                 // Process the stream
             }
         }
     }
     catch (WebException ex)
     {
         if (ex.Status == WebExceptionStatus.ProtocolError &&
             ex.Response != null)
         {
             var resp = (HttpWebResponse)ex.Response;
             if (resp.StatusCode == HttpStatusCode.NotFound)
             {
                 oHojaVida.imagen_DI = "http://www.tagetik.com/intouch2015/user.png";
             }
             else
             {
                 // Do something else
             }
         }
         else
         {
             // Do something else
         }
     }
     if (estudiante == null)
     {
         return HttpNotFound();
     } return View(estudiante);
 }
        public ActionResult cargaDocumentoResidentesDS(Estudiante estudiante)
        {
            {
                string[] documentos = { "doc_identidad", "carne_LS", "carne_estudiantil", "carne_EPS", "carne_ARL", "EV1", "EV2", "ant_varicela", "ant_hepatitisB", "dip_pre", "tp", "acta_grado", "rcp_basico", "rcp_avanzado" };

                string path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[0] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[0] + estudiante.codigo, ".jpg");

                    ViewBag.imagen1 = path1;

                }
                else
                {
                    ViewBag.imagen1 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[1] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[1] + estudiante.codigo, ".jpg");

                    ViewBag.imagen2 = path1;

                }
                else
                {
                    ViewBag.imagen2 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[2] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[2] + estudiante.codigo, ".jpg");

                    ViewBag.imagen3 = path1;

                }
                else
                {
                    ViewBag.imagen3 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[3] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[3] + estudiante.codigo, ".jpg");

                    ViewBag.imagen4 = path1;

                }
                else
                {
                    ViewBag.imagen4 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[4] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[4] + estudiante.codigo, ".jpg");

                    ViewBag.imagen5 = path1;

                }
                else
                {
                    ViewBag.imagen5 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[5] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[5] + estudiante.codigo, ".jpg");

                    ViewBag.imagen6 = path1;

                }
                else
                {
                    ViewBag.imagen6 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[6] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[6] + estudiante.codigo, ".jpg");

                    ViewBag.imagen7 = path1;

                }
                else
                {
                    ViewBag.imagen7 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[7] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[7] + estudiante.codigo, ".jpg");

                    ViewBag.imagen8 = path1;

                }
                else
                {
                    ViewBag.imagen8 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[8] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[8] + estudiante.codigo, ".jpg");

                    ViewBag.imagen9 = path1;

                }
                else
                {
                    ViewBag.imagen9 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[9] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[9] + estudiante.codigo, ".jpg");

                    ViewBag.imagen10 = path1;

                }
                else
                {
                    ViewBag.imagen10 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[10] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[10] + estudiante.codigo, ".jpg");

                    ViewBag.imagen11 = path1;

                }
                else
                {
                    ViewBag.imagen11 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[11] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[11] + estudiante.codigo, ".jpg");

                    ViewBag.imagen12 = path1;

                }
                else
                {
                    ViewBag.imagen12 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[12] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[12] + estudiante.codigo, ".jpg");

                    ViewBag.imagen13 = path1;

                }
                else
                {
                    ViewBag.imagen13 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                path1 = string.Format("{0}/{1}{2}", Server.MapPath("~/Uploads/"), documentos[13] + estudiante.codigo, ".jpg");

                if (System.IO.File.Exists(path1))
                {
                    path1 = string.Format("{0}/{1}{2}", "http://salud.ucaldas.edu.co/Proyecto/Uploads", documentos[13] + estudiante.codigo, ".jpg");

                    ViewBag.imagen14 = path1;

                }
                else
                {
                    ViewBag.imagen14 = "http://www.logan.es/wp-content/themes/logan/images/dummy-image.jpg";

                }

                return View(estudiante);

            }
        }
        public Boolean ValidarCampos(Estudiante estudiante)
        {
            HojaVida hv = db.HojaVidas.Find(estudiante.hojaVidaId);
            Estudiante e = db.Estudiantes.Find(estudiante.estudianteId);
            Familia f = db.Familias.Find(hv.familiaId);

            if ((hv.municipio_procedencia != null) && (hv.direccion_manizales != null) &&
                (hv.hemoclasificacion != "Sin Asignar") &&
                (hv.num_celular != 0) &&
                (hv.estado_civil != "Sin Asignar") && (f.primer_nombre_acudiente != null) &&
                (f.primer_apellido_acudiente != null) && (f.direccion_acudiente != null) &&
                (f.telefono_acudiente != 0))
            {
                Estudiante estudianteAux = db.Estudiantes.Find(estudiante.estudianteId);
                estudianteAux.HojaVida.estado_HV = true;

                db.Entry(estudianteAux).State = EntityState.Modified;
                db.SaveChanges();

                return true;
            }
            else
            {
                return false;
            }
        }
        public Boolean ValidarVacunas(Estudiante estudiante)
        {
            for (var i = 0; i < estudiante.HojaVida.Vacunas.Count; i++)
            {

                if (estudiante.HojaVida.Vacunas.ElementAt(i).fecha_vacunacion < DateTime.Now.Date.AddMonths(-20))
                {
                    {

                        if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Hepatitis B Dosis 1") || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Triple Viral Dosis 1") || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Varicela Dosis 1") || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Toxoide Tetánico Dosis 1")
                              || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Fiebre Amarilla Dosis 1") || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Influenza Dosis 1") || estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("DTP Acelular Dosis 1"))
                        {
                            return false;
                        }
                        else
                        {
                            if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Hepatitis B Dosis 2") && (estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion.AddMonths(1) < DateTime.Now.Date && estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion > DateTime.Now.Date.AddMonths(-20)))
                            {

                                return false;
                            }
                            else if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Toxoide Tetánico Dosis 2") && (estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion.AddMonths(1) < DateTime.Now.Date && estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion > DateTime.Now.Date.AddMonths(-20)))
                            {
                                return false;

                            }
                            else if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Toxoide Tetánico Dosis 3") && (estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion.AddMonths(6) < DateTime.Now.Date && estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion > DateTime.Now.Date.AddMonths(-20)))
                            {
                                return false;

                            }
                            else if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Toxoide Tetánico Dosis 4") && (estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion.AddMonths(12) < DateTime.Now.Date && estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion > DateTime.Now.Date.AddMonths(-20)))
                            {
                                return false;

                            }
                            else if (estudiante.HojaVida.Vacunas.ElementAt(i).nombre_generico.Equals("Toxoide Tetánico Dosis 5") && (estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion.AddMonths(12) < DateTime.Now.Date && estudiante.HojaVida.Vacunas.ElementAt(i - 1).fecha_vacunacion > DateTime.Now.Date.AddMonths(-20)))
                            {
                                return false;

                            }

                        }
                    }

                }

            }
            return true;
        }
        public ActionResult SolicitarActualizacion(Estudiante estudiante)
        {
            estudiante = db.Estudiantes.Find(estudiante.estudianteId);

               // var fromAddress = new MailAddress("*****@*****.**", "Decanatura – Oficina Docencia Servicio");
            var fromAddress = new MailAddress("*****@*****.**", "Decanatura – Oficina Docencia Servicio");
            var toAddress = new MailAddress("*****@*****.**", "To Name");
            const string fromPassword = "******";
            const string subject = "Solicitud actualizacion hoja de vida";
            const string body = "<h3>Cordial saludo</h3><h3 style=\"text-align: justify;\">La Facultad de Ciencias para la Salud a través de su Oficina Docencia Servicio le solicita actualizar su hoja de vida; para ello disponemos de la nueva plataforma web la cual podrá acceder a través del siguiente enlace.</h3><h3>&nbsp;<a href=\"http://salud.ucaldas.edu.co\">http://salud.ucaldas.edu.co/</a></h3><h3>Los datos de ingreso son:&nbsp;</h3><h3><strong>Usuario</strong>: Código de estudiante</h3><h3><strong>Contrase&ntilde;a</strong>: Código de estudiante&nbsp;</h3><p>&nbsp;</p><p>&nbsp;</p><p><img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Universidad_De_Caldas_-_Logo.jpg/180px-Universidad_De_Caldas_-_Logo.jpg\" alt=\"\" width=\"160\" height=\"160\" /></p><p>&nbsp;</p><p>Copyright &copy; <a href=\"http://www.ucaldas.edu.co/portal\"><strong>Facultad de Ciencias para la Salud </strong></a> - Sede Versalles Carrera 25  48-57 / Tel +57 878 30 60 Ext. 31255 / E-mail [email protected]</p> ";
             //const string bodys = "<h3>Cordial saludo</h3><h3 style=\"text-align: justify;\">La Facultad de Ciencias para la Salud a través de su Oficina Docencia Servicio le solicita actualizar su hoja de vida; para ello disponemos de la nueva plataforma web la cual podrá acceder a través del siguiente enlace.</h3><h3>&nbsp;<a href=\"http://*****:*****@ucaldas.edu.co</p> ";

            try
            {

                var smtp = new SmtpClient
                {
                    Host = "72.29.75.91",
                    Port = 25,
                    EnableSsl = false,
                    DeliveryMethod = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Timeout = 10000,
                    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
                };
                var message = new MailMessage(fromAddress, toAddress);

                message.IsBodyHtml = true;
                message.Subject = subject;
                message.Body = body;

                smtp.EnableSsl = false;
                smtp.Send(message);

            }

            catch (Exception e)
            {

                Console.WriteLine("Ouch!" + e.ToString());

            }

            return RedirectToAction("../Estudiante/PersonalesDS/" + estudiante.estudianteId);
        }
        //GUARDA ARCHIVOS
        public ActionResult guardaDocumentosResidentesDS(Estudiante estudiante)
        {
            int numFiles = Request.Files.Count;
            if (Request != null)
            {

                int uploadedCount = 0;

                string[] documentos = { "doc_identidad", "carne_LS", "carne_estudiantil", "carne_EPS", "carne_ARL", "EV1", "EV2", "ant_varicela", "ant_hepatitisB", "dip_pre", "tp", "acta_grado", "rcp_basico", "rcp_avanzado" };

                for (int i = 0; i < numFiles; i++)
                {
                    HttpPostedFileBase file = Request.Files[i];
                    if (file.ContentLength > 0)
                    {
                        string fileName = file.FileName;
                        string fileContentType = file.ContentType;
                        byte[] fileBytes = new byte[file.ContentLength];
                        file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                        string path1 = string.Format("{0}/{1}{2}", Server.MapPath("../../Uploads/"), documentos[i] + estudiante.codigo, ".jpg");
                        if (System.IO.File.Exists(path1))
                            System.IO.File.Delete(path1);

                        file.SaveAs(path1);
                        uploadedCount++;
                    }
                }
            }
            return View(estudiante);
        }
        public ActionResult PersonalesResidentes(Estudiante estudiante)
        {
            if (ModelState.IsValid)
            {

                HojaVida oHojaVida = db.HojaVidas.Find(estudiante.hojaVidaId);
                Estudiante est = db.Estudiantes.Find(estudiante.estudianteId);

                oHojaVida.direccion_manizales = estudiante.HojaVida.direccion_manizales;
                oHojaVida.hemoclasificacion = estudiante.HojaVida.hemoclasificacion;
                oHojaVida.municipio_procedencia = estudiante.HojaVida.municipio_procedencia;
                oHojaVida.hijos = estudiante.HojaVida.hijos;
                oHojaVida.correo = estudiante.HojaVida.correo;
                oHojaVida.estado_civil = estudiante.HojaVida.estado_civil;
                oHojaVida.num_celular = estudiante.HojaVida.num_celular;
                oHojaVida.num_telefono = estudiante.HojaVida.num_telefono;
                oHojaVida.Familia = estudiante.HojaVida.Familia;

                int edad = DateTime.Today.AddTicks(-estudiante.HojaVida.fecha_nacimiento.Ticks).Year - 1;
                string edadDocente = edad.ToString();
                est.barrio_procedencia = edadDocente;//Reemplaza edad

                estudiante.HojaVida = null;

                db.Entry(est).State = EntityState.Modified;

                //cargaDocumento(estudiante);
                guardaDocumentosResidentes(estudiante);

                db.SaveChanges();
                return RedirectToAction("../Estudiante/PersonalesResidentes/" + est.estudianteId);
                // return View(est);
            }
            else
            {
                cargaDocumentoResidentes(estudiante);
                Estudiante estudiante2 = db.Estudiantes.Find(estudiante.estudianteId);

                return View(estudiante2);
            }
        }
        public ActionResult PersonalesResidentesDS(Estudiante estudiante)
        {
            estudiante = db.Estudiantes.Find(estudiante.estudianteId);

            guardaDocumentosResidentesDS(estudiante);

            Boolean estado = ValidarCampos(estudiante);
            ViewBag.estado = estado;
            //return View(estudiante);
            return RedirectToAction("../Estudiante/PersonalesResidentesDS/" + estudiante.estudianteId);
        }
        public ActionResult LoginCC(Estudiante estudiante)
        {
            Estudiante estudianteReal = db.Estudiantes.Find(estudiante.estudianteId);
            if(estudiante.clave.Equals(estudianteReal.clave))
            {

                ViewBag.AlertMessage = null;
                return RedirectToAction("../Estudiante/CambioContraseña/" + estudianteReal.estudianteId);
            }
            else
            {

                ViewBag.AlertMessage = "La contraseña que has introducido no coincide.";
                return View(estudiante);
               // return RedirectToAction("../Estudiante/LoginCC/" + estudianteReal.estudianteId);

            }
        }
        public ActionResult Login(Estudiante estudiante)
        {
            var b = db.Estudiantes.Where(s => s.codigo == estudiante.codigo).Where(s => s.clave == estudiante.clave);
            List<Estudiante> estudianteList = b.ToList();

            if (estudianteList.Count == 0)
            {
                ViewBag.AlertMessage = "El usuario y la contraseña que has introducido no coinciden.";
                return View(estudiante);
            }

            else if (estudianteList.Count != 0)
            {
                Estudiante e1 = estudianteList.ElementAt(0);
                int id = e1.programaId;
                ViewBag.AlertMessage = null;

                if (id != 33 && id != 34 && id != 35 && id != 55 && id != 56 && id != 57 && id != 58 && id != 59 && id != 60 && id != 61)
                {
                    return RedirectToAction("../Estudiante/PersonalesResidentes/" + e1.estudianteId);
                } return RedirectToAction("../Estudiante/Personales/" + e1.estudianteId);

            }
            return View(estudiante);
        }
 public String ImagePath(Estudiante estudiante)
 {
     {
         return "~/Uploads/img/cedula_"+estudiante.codigo+".jpg";
     }
 }
 public ActionResult Edit(Estudiante estudiante)
 {
     if (ModelState.IsValid)
     {
         db.Entry(estudiante).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.hojaVidaId = new SelectList(db.HojaVidas, "hojaVidaId", "primer_nombre", estudiante.hojaVidaId);
     ViewBag.programaId = new SelectList(db.Programas, "programaId", "nombre", estudiante.programaId);
     ViewBag.rotacionId = new SelectList(db.Rotacions, "rotacionId", "tipo", estudiante.rotacionId);
     return View(estudiante);
 }
        public ActionResult CambioContraseña(Estudiante estudiante)
        {
            Estudiante est = db.Estudiantes.Find(estudiante.estudianteId);
            if(estudiante.clave!=null)
            {
                if (estudiante.clave.Equals(estudiante.tipo_documento))
                {
                    est.clave = estudiante.clave;

                    db.Entry(est).State = EntityState.Modified;

                    ViewBag.AlertMessage = null;
                    db.SaveChanges();
                    return RedirectToAction("../Estudiante/Personales/" + est.estudianteId);

                }
            }

            ViewBag.AlertMessage = "Las contrasenias no coinciden";
            return View(estudiante);
              //  return RedirectToAction("../Estudiante/CambioContraseña/" + estudiante.estudianteId);
        }
        public void importaEstudiantes()
        {
            List<Programa> programas = db.Programas.ToList();
            foreach (var item in programas)
            {
                ServiceReference1.WSFacultadSaludSoapClient ser = new ServiceReference1.WSFacultadSaludSoapClient();

                string json = ser.getEstudiantesMatriculados(item.codigo);
                if (json != null)
                {

                    MvcApplication2.Models.Estudiante2.ESObject0 profesoresActivos = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<MvcApplication2.Models.Estudiante2.ESObject0>(json);
                    foreach (var item2 in profesoresActivos.estudiantesMatriculados)
                    {
                        string json2;
                        try
                        {
                            json2 = ser.getDatosEstudiante(item2.NUM_DOC);

                        }
                        catch (Exception e)
                        {
                            json2 = null;
                        }
                        if (json2 != null)
                        {
                            MvcApplication2.Models.EstudianteWS.ESObject0 profesores = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<MvcApplication2.Models.EstudianteWS.ESObject0>(json2);
                            foreach (var item3 in profesores.datosEstudiante)
                            {
                                var hv = db.HojaVidas.Where(r => r.correo.Equals(item3.EMAIL));
                                List<HojaVida> hvs = hv.ToList();
                                if (hvs.Count > 0)
                                {
                                    Estudiante estudiante = new Estudiante();

                                    estudiante.num_documento = item3.NUM_DOC;
                                    estudiante.codigo = Int64.Parse(item3.CODIGO);

                                    estudiante.clave = item3.CODIGO;
                                    estudiante.tipo_documento = item3.NOM_DOC;

                                    estudiante.modalidad = item3.MODALIDAD;
                                    estudiante.estado_academico = item3.NOM_ESTADO;
                                    estudiante.rotacionId = 10;
                                    estudiante.direccion_procedencia = item3.DIR_CORREO;
                                    HojaVida hvida = hvs.ElementAt(0);
                                    hvida.genero = item3.SEXO;
                                    hvida.municipio_procedencia = item3.MUN_PROC;
                                    short s;
                                    short.TryParse(item3.SEMESTRE, out s);
                                    estudiante.semestre = s; estudiante.hojaVidaId = hvida.hojaVidaId;

                                    estudiante.programaId = item.programaId;

                                    db.Entry(hvida).State = EntityState.Modified;

                                    db.Estudiantes.Add(estudiante);
                                    db.SaveChanges();

                                }
                                else
                                {
            try
            {

                                    Familia familia = new Familia();
                                    //familia.primer_nombre_padre = "";
                                    //familia.segundo_nombre_padre = "";
                                    //familia.primer_apellido_padre = "";
                                    //familia.segundo_apellido_madre = "";
                                    //familia.telefono_padre = 0;
                                    //familia.primer_nombre_madre = "";
                                    //familia.segundo_nombre_madre = "";
                                    //familia.primer_apellido_madre = "";
                                    //familia.segundo_apellido_madre = "";
                                    //familia.telefono_madre = 0;
                                    //familia.primer_nombre_acudiente = "";
                                    //familia.segundo_nombre_acudiente = "";
                                    //familia.primer_apellido_acudiente = "";
                                    //familia.segundo_apellido_acudiente = "";
                                    //familia.telefono_acudiente = 0;
                                    //familia.celular_acudiente = 0;
                                    //familia.direccion_acudiente = "";

                                    db.Familias.Add(familia);
                                    db.SaveChanges();

            }
            catch (DbEntityValidationException e)
            {
            foreach (var eve in e.EntityValidationErrors)
            {
            Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
            eve.Entry.Entity.GetType().Name, eve.Entry.State);
            foreach (var ve in eve.ValidationErrors)
            {
            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                ve.PropertyName, ve.ErrorMessage);
            }
            }
            throw;
            }
                                    var iffam = db.Familias.Max(p => p.familiaId);
                                    HojaVida hojavida = new HojaVida();
                                    hojavida.familiaId = iffam;

                                    Estudiante estudiante = new Estudiante();
                                    estudiante.num_documento = item3.NUM_DOC;
                                    estudiante.codigo = Int64.Parse(item3.CODIGO);
                                    estudiante.tipo_documento = item3.NOM_DOC;

                                    estudiante.modalidad = item3.MODALIDAD;
                                    estudiante.clave = item3.NUM_DOC;

                                    estudiante.estado_academico = item3.NOM_ESTADO;
                                    estudiante.rotacionId = 1;

                                    hojavida.primer_nombre = item3.NOMBRE;
                                    hojavida.primer_apellido = item3.P_APELLIDO;
                                    hojavida.segundo_apellido = item3.S_APELLIDO;
                                    estudiante.direccion_procedencia = item3.DIR_CORREO;
                                    //hojavida.direccion_manizales = item3.DIR_CORREO;

                                    hojavida.genero = item3.SEXO;
                                    hojavida.municipio_procedencia = item3.MUN_PROC;
                                    short s;
                                    short.TryParse(item3.SEMESTRE, out s);
                                    estudiante.semestre = s;
                                    hojavida.num_telefono = item3.TEL_CORREO;

                                    if (!item3.FECHA_NACIMIENTO.Equals("") && !item3.FECHA_NACIMIENTO.Equals("//"))
                                    {

                                        DateTime myDate = DateTime.ParseExact(item3.FECHA_NACIMIENTO, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                                        hojavida.fecha_nacimiento = myDate;
                                    }
                                    else
                                    {
                                        hojavida.fecha_nacimiento = SqlDateTime.MinValue.Value;
                                    }

                                    hojavida.correo = item3.EMAIL;

                                    db.HojaVidas.Add(hojavida);
                                    db.SaveChanges();

                                    iffam = db.HojaVidas.Max(p => p.hojaVidaId);

                                    estudiante.hojaVidaId = iffam;
                                    estudiante.rotacionId = 10;

                                    estudiante.programaId = item.programaId;

                                    db.Estudiantes.Add(estudiante);
                                    db.SaveChanges();

                                    hojavida.imagen_DI = "http://acad.ucaldas.edu.co/fotos/" + estudiante.codigo + ".jpg";
                                    // hojavida = getSalud(hojavida);
                                    Vacuna vacuna = new Vacuna();
                                    vacuna.hojaVidaId = iffam;

                                    vacuna.nombre_generico = ("Hepatitis B Dosis 1");
                                    vacuna.fecha_vacunacion = SqlDateTime.MinValue.Value;
                                    vacuna.fecha_prox_vacunacion = SqlDateTime.MinValue.Value;

                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Hepatitis B Dosis 2");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Hepatitis B Dosis 3");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Hepatitis A Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Hepatitis A Dosis 2");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Triple Viral Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Varicela Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Toxoide Tetánico Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Toxoide Tetánico Dosis 2");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Toxoide Tetánico Dosis 3");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Toxoide Tetánico Dosis 4");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Toxoide Tetánico Dosis 5");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Fiebre Amarilla Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Influenza Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("DTP Acelular Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Virus del papiloma humano Dosis 1");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Anticuerpos contra varicela");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();

                                    vacuna.nombre_generico = ("Anticuerpos contra hepatitis B");
                                    db.Vacunas.Add(vacuna);
                                    db.SaveChanges();
                                }
                            }
                        }

                    }

                }

            }
        }
        public ActionResult BuscarEnDepartamento(Estudiante estudiante)
        {
            var estudiantes = from b in db.Estudiantes
                              select b;

            foreach (var b in estudiantes)
            {
                if (b.codigo.Equals(estudiante.codigo))
                {
                    estudiante = b;
                }

            }
            if (estudiante.estudianteId == 0)
            {
                return View(estudiante);
            }
            else
            {
                return RedirectToAction("../Estudiante/ReporteEstudianteA/" + estudiante.estudianteId);
            }
        }