public async Task <IActionResult> Index() { var userId = this.userManager.GetUserId(this.User); var invitations = await this.invitationService.GetAllAsync(userId); var result = new InvitationIndexViewModel { Invitations = invitations.Select(x => x.MapTo <InvitationIndexDetailsViewModel>()).ToList(), }; return(this.View(result)); }
public virtual ActionResult Index() { InvitationIndexViewModel model = new InvitationIndexViewModel(); List <User> familyMembers = Target.Members.ToList(); //IEnumerable<User> familyMembers = // db.Users.Where(u => u.Family.Id == CurrentUser.Family.Id).ToList(); //familyMembers.Where(fm => fm.Relationship != Models.RelationshipType.None && !fm.User.HasAccount).Select(fm => fm.User); foreach (var unregisteredUser in familyMembers.Where(u => u.IsUnregisteredFamilyMember)) { InvitationIndexViewModel.Invitation invitation = new InvitationIndexViewModel.Invitation(); string url = InvitationHandler.CreateUrl(unregisteredUser, Url, Request);// Url.Action(MVC.Account.Register(unregisteredUser.InvitationCode), Request.Url.Scheme); string recipientAddress = unregisteredUser.HasRealEmail ? unregisteredUser.Email : string.Empty; string emailHref = string.Format( "mailto:{0}?subject={1}, come join our family on MyKidSteps.com!" + "&body={2} wants you to join your family on MyKidSteps.com." + " Follow this link accept the invitation and set up your account. {3}", recipientAddress, unregisteredUser.Name.Full, Target.Admin.Name.Full, url); invitation.User = unregisteredUser; invitation.EmailHRef = emailHref; invitation.DirectLink = url; model.UnregisteredUserInvitations.Add(invitation); } InvitationIndexViewModel.Invitation publicViewerInvitation = new InvitationIndexViewModel.Invitation(); User publicViewer = familyMembers.FirstOrDefault(u => u.IsPublicViewer); //db.Users.First(u => u.Family.Id == CurrentUser.Family.Id && u.IsPublicViewer);// familyMembers.First(.Single(fm => fm.Relationship == Models.RelationshipType.None).User; string publicViewerUrl = InvitationHandler.CreateUrl(publicViewer, Url, Request);// Url.Action(MVC.Account.PublicViewerLogOn(publicViewer.InvitationCode), Request.Url.Scheme); string publicViewerEmailHref = string.Format( "mailto:?subject=You're invited to see my family on MyKidSteps.com!" + "&body={0} wants to show you a family on MyKidSteps.com." + " Follow this link to see it. {1}", Target.Admin.Name.Full, publicViewerUrl); publicViewerInvitation.User = publicViewer; publicViewerInvitation.EmailHRef = publicViewerEmailHref; publicViewerInvitation.DirectLink = publicViewerUrl; model.PublicViewerInvitation = publicViewerInvitation; return(View(model)); }