public CharlaViewModel GetCharlaViewModel(int eventoId) { var evento = _db.Eventos.Find(eventoId); var vm = new CharlaViewModel() { Cupo = 0, Fecha = DateTime.Now, EventoId = eventoId, Papers = new SelectList(evento.Papers.Where(p => p.Estado == "Aceptado"), "Id", "Nombre"), }; return(vm); }
public CharlaViewModel GetCharlaViewModel(Charla charla) { var vm = new CharlaViewModel() { Cupo = charla.Cupo, Fecha = charla.FechaHora, EventoId = charla.Evento.Id, Papers = new SelectList(charla.Evento.Papers.Where(p => p.Estado == "Aceptado"), "Id", "Nombre"), Titulo = charla.Titulo, Descripcion = charla.Descripcion, Lugar = charla.Lugar, PaperId = charla.paper.Id }; return(vm); }
public ActionResult Create(CharlaViewModel model) { if (ModelState.IsValid) { var charla = _repo.GetCharlaFromVm(model); if (charla.FechaHora > charla.Evento.FechaInicio && charla.FechaHora < charla.Evento.FechaFin) { _repo.Add(charla); return(RedirectToAction("Administrar", "Eventos", new { id = model.EventoId })); } else { ModelState.AddModelError("Fecha", "La fecha y hora especificada debe ser posterior a la fecha y hora de inicio del evento y anterior a su fecha de fin"); } } model.Papers = _repo.GetCharlaViewModel(model.EventoId).Papers; return(View(model)); }
public Charla GetCharlaFromVm(CharlaViewModel model) { var evento = _db.Eventos.Find(model.EventoId); var paper = _db.Papers.Find(model.PaperId); var charla = new Charla() { Id = model.Id, Evento = evento, paper = paper, Titulo = model.Titulo, Descripcion = model.Descripcion, FechaHora = model.Fecha, Lugar = model.Lugar, Tipo = model.Cupo > 0 ? "Taller" : "Charla", Cupo = model.Cupo, Orador = paper.Autor }; return(charla); }