public ActionResult Save(BookViewModel model) { model.Event = _eventRepo.FindByID(model.Event.ID); Account booker = _accountRepo.FindAll().Where(u => u.Email == User.Identity.Name).FirstOrDefault(); model.Booker = booker; List<Attendant> ValidAttendants = new List<Attendant>(); model.Attendants.ForEach(delegate(Attendant attendant) { if (attendant.Email != null && attendant.FirstName != null && attendant.LastName != null) { attendant.BookerID = booker.ID; attendant.EventID = model.Event.ID; ValidAttendants.Add(attendant); } }); if (model.BookerAttends) { ValidAttendants.Add(new Attendant { FirstName = booker.FirstName, LastName = booker.LastName, Email = booker.Email, BookerID = booker.ID, EventID = model.Event.ID }); } ValidAttendants.ForEach(delegate(Attendant attendant) { bool alreadyExists = (_attendantRepo.FindAll().Where( a => a.EventID == attendant.EventID && a.Email == attendant.Email).Count() > 0); if( ! alreadyExists ) { _attendantRepo.Save(attendant); } }); model.Attendants = ValidAttendants; // Update model for mail-rendering // Send mail to booker try { MailSender("bookingEmailTemplate", model, "*****@*****.**", "Bokning"); MailSender("johanBookingEmailTemplate", model, "*****@*****.**", "Bokning"); } catch (Exception exception) { TempData["Event"] = model.Event.ID; return RedirectToAction("Fail"); } return RedirectToAction("List"); }
public ActionResult Save(BookViewModel model) { model.Event = _eventRepo.FindByID(model.Event.ID); Account booker = _accountRepo.FindAll().Where(u => u.Email == User.Identity.Name).FirstOrDefault(); List<Attendant> ValidAttendants = new List<Attendant>(); for (int i = 0; i < model.Attendants.Count; i++) { if (model.Attendants[i].Email != null && model.Attendants[i].Name != null) { model.Attendants[i].BookerID = booker.ID; model.Attendants[i].EventID = model.Event.ID; //model.Attendants[i].Event = _eventRepo.FindByID(model.Event.ID); //model.Attendants[i].Booker = _accountRepo.FindByID(booker.ID); ValidAttendants.Add(model.Attendants[i]); } } if (model.BookerAttends) { ValidAttendants.Add(new Attendant { Name = booker.FullName, Email = booker.Email, BookerID = booker.ID, EventID = model.Event.ID }); } //if (!ModelState.IsValid) return View(); ValidAttendants.ForEach(delegate(Attendant attendant) { _attendantRepo.Save(attendant); }); return RedirectToAction("List"); }
public ActionResult Event(int id = 0) { BookViewModel model = new BookViewModel(); model.Event = _eventRepo.FindByID(id); return View(model); }
public ActionResult SendEvaluation(int id) { var Event = _eventRepo.FindByID(id); BookViewModel model = new BookViewModel(); model.Attendants = Event.Attendants.ToList(); model.Event = Event; string title = "Utvärdering av " + Event.Title; try { foreach (var attendant in model.Attendants) { MailSender("attendantEmailTemplate", model, attendant.Email, title); } } catch (Exception exception) { TempData["Event"] = model.Event.ID; return RedirectToAction("Fail"); } return View("Evaluation", "Evaluation", new { id = Event.ID }); }