public IActionResult GuestConfirmation(string searchString) { var canidates = _context.Guests.Where(g => g.FullName.ToLower().Contains(searchString.ToLower())).ToList(); if (canidates.Count() == 0) { return(View("GuestNotFound")); } var rsvps = new List <RSVP>(); foreach (var canidate in canidates) { if (canidate.PartOfCouple) { var couple = LookupCouple(canidate.Id); rsvps.Add(new RSVP { GuestOneId = couple.GuestOneId, GuestOneName = couple.GuestOne.FullName, GuestTwoId = couple.GuestTwoId, GuestTwoName = couple.GuestTwo.FullName, GuestTag = couple.CoupleTag }); } else { rsvps.Add(new RSVP { GuestOneId = canidate.Id, GuestOneName = canidate.FullName, GuestTag = canidate.FullName }); } } ; var distinctRSVPs = rsvps .Distinct(new RSVPComparer()) .ToList(); var guestTags = distinctRSVPs.Select(r => r.GuestTag).ToList(); var viewModel = new GuestConfirmationViewModel { RSVPs = distinctRSVPs, GuestTags = guestTags }; return(View(viewModel)); }
public IActionResult Invitation(GuestConfirmationViewModel viewModel) { var rsvp = viewModel.RSVPs.Where(r => r.GuestTag == viewModel.GuestTag).SingleOrDefault(); rsvp.GuestTag = viewModel.GuestTag; if (RSVPWasAlreadyRecieved(rsvp.GuestOneId)) { return(View("RSVPAlreadySubmitted")); } var invitationViewModel = new InvitationViewModel { RSVP = rsvp, DrinkItems = getSpecialtyDrinks().ToList() }; return(View(invitationViewModel)); }