public IActionResult VerMas(string id_a) { int id = Int32.Parse(id_a); var solicitud = _context.Solicitud.Find(id); if (solicitud == null) { ViewBag.ErrorMessage = $"Solicitud con ID = {id} no se puede encontrar."; return(RedirectToAction("VerLista")); } var model = new VerMasSolicitudViewModel { Solicitud = solicitud, Asistencia = _context.Asistencia_Disponible.Find(solicitud.Asistencia), archivos = null }; return(View(model)); }
public async Task <IActionResult> VerMas(VerMasSolicitudViewModel model) { var solicitud = _context.Solicitud.Find(model.Solicitud.SolicitudId); if (solicitud == null) { ViewBag.ErrorMessage = $"Solicitud con ID = {model.Solicitud.SolicitudId} no se puede encontrar."; return(RedirectToAction("VerLista", new { id_asistencia = solicitud.Asistencia })); } else { solicitud.Nombre = model.Solicitud.Nombre; solicitud.Apellido1 = model.Solicitud.Apellido1; solicitud.Apellido2 = model.Solicitud.Apellido2; solicitud.Cedula = model.Solicitud.Cedula; solicitud.Carne = model.Solicitud.Carne; solicitud.Telefono1 = model.Solicitud.Telefono1; solicitud.Telefono2 = model.Solicitud.Telefono2; solicitud.CorreoSolicitante = model.Solicitud.CorreoSolicitante; solicitud.CarreraQueCursa = model.Solicitud.CarreraQueCursa; solicitud.Nivel = model.Solicitud.Nivel; solicitud.NumeroDeCuenta = model.Solicitud.NumeroDeCuenta; solicitud.CantidadHA = model.Solicitud.CantidadHA; solicitud.CantidadHE = model.Solicitud.CantidadHE; solicitud.PromedioRevisado = model.Solicitud.PromedioRevisado; List <PDF> pdfs = new List <PDF>(); if (model.archivos != null) { int contadorArchivos = 0; for (int i = 0; i < model.archivos.Count(); i++) { pdfs.Add(Archivo(model.archivos[i])); contadorArchivos++; } PDF pdf; while (contadorArchivos > 0) { switch (contadorArchivos) { case 1: pdf = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == solicitud.InformeDeMatricula); using (var memoryStream = new MemoryStream()) { await model.archivos[contadorArchivos - 1].CopyToAsync(memoryStream); pdf.PDF_File = memoryStream.ToArray(); _context.Update(pdf); await _context.SaveChangesAsync(); } contadorArchivos--; break; case 2: pdf = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == solicitud.ExpedienteAcademico); using (var memoryStream = new MemoryStream()) { await model.archivos[contadorArchivos - 1].CopyToAsync(memoryStream); pdf.PDF_File = memoryStream.ToArray(); _context.Update(pdf); await _context.SaveChangesAsync(); } contadorArchivos--; break; case 3: pdf = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == solicitud.FotocopiaCedula); using (var memoryStream = new MemoryStream()) { await model.archivos[contadorArchivos - 1].CopyToAsync(memoryStream); pdf.PDF_File = memoryStream.ToArray(); _context.Update(pdf); await _context.SaveChangesAsync(); } contadorArchivos--; break; } } } if (model.Solicitud.NumeroDeCuenta != 0) { solicitud.CuentaBancaria = false; } if (model.Solicitud.CantidadHA != 0) { solicitud.TieneHA = true; } if (model.Solicitud.CantidadHE != 0) { solicitud.TieneHE = true; } solicitud.NumeroDeCreditos = model.Solicitud.NumeroDeCreditos; solicitud.Promedio = model.Solicitud.Promedio; solicitud.Asistencia = model.Asistencia.IdAsistencia; try { _context.Update(solicitud); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SolicitudExists(solicitud.SolicitudId)) { return(NotFound()); } else { throw; } } return(RedirectToAction("VerLista", new { id_asistencia = model.Asistencia.IdAsistencia })); } }