public IActionResult Create() { SolicitudCreateViewModel model = new SolicitudCreateViewModel(); var asistencias = from a in _context.Asistencia_Disponible select a; model.Asistencias_Disponibles = asistencias.ToList(); return(View(model)); }
public async Task <IActionResult> Create([Bind("SolicitudId,Nivel,Nombre,Apellido1,Apellido2,CorreoSolicitante,Carne,CarreraQueCursa,NumeroDeCreditos,Cedula,NumeroDeCuenta,InformeDeMatricula,ExpedienteAcademico,FotocopiaCedula,Asistencia,CantidadHE,CantidadHA,Telefono1,Telefono2,Promedio,CuentaBancaria,TieneHE,TieneHA,Banco")] Solicitud solicitud, IFormCollection form, SolicitudCreateViewModel model) { try { ViewBag.mensaje = ""; string stemp = Convert.ToString(form["hidden"]); SolicitudCreateViewModel model1 = new SolicitudCreateViewModel(); var asis = await _context.Asistencia_Disponible.ToListAsync(); model1.Asistencias_Disponibles = asis; if (stemp == "") { ViewBag.mensaje = "Debe seleccionar al menos una asistencia"; return(View(model1)); } string[] asistencias = stemp.Split(","); Asistencia_Disponible asistenciaTemp; //SolicitudCreateViewModel model1 = new SolicitudCreateViewModel(); //var asis = from a in _context.Asistencia_Disponible // select a; //model1.Asistencias_Disponibles = asis.ToList(); /* * if (model == null) { * return View(model1); * } */ if (solicitud.CantidadHA != 0 && solicitud.CantidadHA != null) { solicitud.TieneHA = true; } if (solicitud.CantidadHE != 0 && solicitud.CantidadHE != null) { solicitud.TieneHE = true; } if (solicitud.NumeroDeCuenta == 0 || solicitud.NumeroDeCuenta == null) { solicitud.CuentaBancaria = true; } List <PDF> pdfs = new List <PDF>(); int contadorArchivos = 0; if (model.archivos != null) { for (int i = 0; i < model.archivos.Count(); i++) { pdfs.Add(Archivo(model.archivos[i])); contadorArchivos++; } } Byte[] archivoGenerico = { 0 }; while (contadorArchivos < 3) { PDF pdf = new PDF(); using (var memoryStream = new MemoryStream(archivoGenerico)) { pdf.PDF_File = memoryStream.ToArray(); } contadorArchivos++; pdfs.Add(pdf); } foreach (PDF file in pdfs) { _context.Add(file); await _context.SaveChangesAsync(); } PDF archivoTemp1 = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == pdfs[0].ID_PDF); PDF archivoTemp2 = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == pdfs[1].ID_PDF); PDF archivoTemp3 = await _context.PDF .FirstOrDefaultAsync(m => m.ID_PDF == pdfs[2].ID_PDF); if (ModelState.IsValid) { short sem; var list = _context.Semestre.OrderByDescending(a => a.Numero).ToList(); if (list.Count == 0) { sem = 1; } else { sem = list.FirstOrDefault().Numero; } foreach (var item in asistencias) { Solicitud solicitudAdd = new Solicitud(); solicitudAdd.Nivel = solicitud.Nivel; solicitudAdd.Nombre = solicitud.Nombre; solicitudAdd.Apellido1 = solicitud.Apellido1; solicitudAdd.Apellido2 = solicitud.Apellido2; solicitudAdd.CorreoSolicitante = solicitud.CorreoSolicitante; solicitudAdd.Carne = solicitud.Carne; solicitudAdd.NumeroDeCreditos = solicitud.NumeroDeCreditos; solicitudAdd.Cedula = solicitud.Cedula; solicitudAdd.NumeroDeCuenta = solicitud.NumeroDeCuenta; solicitudAdd.Semestre = sem; solicitudAdd.FotocopiaCedula = archivoTemp1.ID_PDF; solicitudAdd.ExpedienteAcademico = archivoTemp3.ID_PDF; solicitudAdd.InformeDeMatricula = archivoTemp2.ID_PDF; solicitudAdd.CarreraQueCursa = solicitud.CarreraQueCursa; solicitudAdd.CantidadHE = solicitud.CantidadHE; solicitudAdd.CantidadHA = solicitud.CantidadHA; solicitudAdd.Telefono1 = solicitud.Telefono1; solicitudAdd.Telefono2 = solicitud.Telefono2; solicitudAdd.Promedio = solicitud.Promedio; solicitudAdd.CuentaBancaria = solicitud.CuentaBancaria; solicitudAdd.TieneHE = solicitud.TieneHE; solicitudAdd.TieneHA = solicitud.TieneHA; solicitudAdd.Banco = solicitud.Banco; asistenciaTemp = await _context.Asistencia_Disponible .FirstOrDefaultAsync(m => m.IdAsistencia == Int32.Parse(item)); solicitudAdd.Asistencia = asistenciaTemp.IdAsistencia; _context.Add(solicitudAdd); await _context.SaveChangesAsync(); solicitud.SolicitudId++; } return(RedirectToAction("index", "home")); } return(View(model1)); } catch (FormatException) { return(NotFound()); // Return? Loop round? Whatever. } }