コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }