public ActionResult CalendarioImportar(int grupoID) { ImportarCalendarioGrupoVM calendario = new ImportarCalendarioGrupoVM(); calendario.grupoDest = grupoID; var grupos = db.Grupoes.Where(d => d.Diplomado.grupos.Any(z => z.ID == grupoID)).Select(x => new { x.ID, x.nombre}).ToList(); ViewBag.grupoSrc = grupoID; ViewBag.GrupoID = new SelectList(grupos, "ID", "nombre"); return View(calendario); }
public async Task<ActionResult> CalendarioImportar(ImportarCalendarioGrupoVM calendarioVm) { int grupoDest = calendarioVm.grupoDest; int calendarioId = calendarioVm.calendarioId; if (grupoDest == 0 || calendarioId == 0) { ModelState.AddModelError("Error", "Seleccione el grupo o el calendario!"); return View(); } else { Grupo grupo = await db.Grupoes.FindAsync(grupoDest); Calendario calendario = await db.Calendarios.FindAsync(calendarioId); if (grupo != null) { List<Evento> eventos = new List<Evento>(); eventos = calendario.eventos.ToList(); Calendario calendarioNew = new Calendario(); calendarioNew.eventos = new List<Evento>(); foreach (var evento in eventos) { calendario.eventos.Add(new Evento {Chofer = evento.Chofer, ChoferID = evento.ChoferID,duracion = evento.duracion, Facilitador = evento.Facilitador, FacilitadorID = evento.FacilitadorID, fechaFin = evento.fechaFin, fechaIncicio = evento.fechaIncicio, orden = evento.orden, TallerID = evento.TallerID, Taller = evento.Taller, isDomingo= evento.isDomingo, isJueves = evento.isJueves, isLunes = evento.isLunes, isMartes = evento.isMartes, isMiercoles = evento.isMiercoles, isSabado = evento.isSabado, isViernes = evento.isViernes, }); } calendarioNew.eventos = new List<Evento>(); calendarioNew.eventos = eventos; calendarioNew.fechaInicio = eventos.Select(x => new { x.fechaIncicio }).Min(f => f.fechaIncicio); calendarioNew.fechaFin = eventos.Select(x => new { x.fechaIncicio }).Max(f => f.fechaIncicio); calendarioNew.GrupoID = grupoDest; calendarioNew.nombre = calendario.nombre; db.Calendarios.Add(calendarioNew); await db.SaveChangesAsync(); return RedirectToAction("Details", "Grupo", new { id = grupoDest, diplomadoID = grupo.DiplomadoID }); } } return View(); }