Esempio n. 1
0
        public IActionResult AcceptInvite(string code = null)
        {
            AcceptInviteViewModel viewModel = new AcceptInviteViewModel(
                code: code);

            return View(viewModel);
        }
Esempio n. 2
0
        public async Task AcceptInvitationAsync(AcceptInviteViewModel acceptInviteViewModel, String acceptedUserId)
        {
            var invite = await _inviteUserRepo.GetInvitationAsync(acceptInviteViewModel.InviteId);

            invite.Accepted     = true;
            invite.Status       = Invitation.StatusTypes.Accepted;
            invite.DateAccepted = DateTime.Now.ToJSONString();
            await _inviteUserRepo.UpdateInvitationAsync(invite);

            var acceptedUser = await _appUserRepo.FindByIdAsync(acceptedUserId);

            var invitingUser = EntityHeader.Create(invite.InvitedById, invite.InvitedByName);
            var orgHeader    = EntityHeader.Create(invite.OrganizationId, invite.OrganizationName);

            await AddAccountToOrgAsync(acceptedUser.ToEntityHeader(), orgHeader, invitingUser);

            if (acceptedUser.CurrentOrganization == null || acceptedUser.CurrentOrganization.IsEmpty())
            {
                acceptedUser.CurrentOrganization = orgHeader;
            }

            acceptedUser.Organizations.Add(orgHeader);

            await _appUserRepo.UpdateAsync(acceptedUser);
        }
Esempio n. 3
0
        public ActionResult Join(string email, string houseCode)
        {
            var acceptInviteVM = new AcceptInviteViewModel
            {
                Email       = email,
                Code        = houseCode,
                HouseholdID = db.Invitations.FirstOrDefault(i => i.code == houseCode).HouseholdID
            };

            return(View(acceptInviteVM));
        }
Esempio n. 4
0
        public ActionResult Join(AcceptInviteViewModel acceptInviteVM)
        {
            var invite = db.Invitations.FirstOrDefault(i => i.Email == acceptInviteVM.Email && i.code == acceptInviteVM.Code);
            //var userId = User.Identity.GetUserId();
            var userManager = new UserManager <ApplicationUser>(
                new UserStore <ApplicationUser>(db));
            var user = userManager.FindByEmail(acceptInviteVM.Email);

            if (user == null)
            {
                userManager.Create(new ApplicationUser
                {
                    UserName    = acceptInviteVM.Email,
                    Email       = acceptInviteVM.Email,
                    HouseholdID = acceptInviteVM.HouseholdID
                }, "Abc&123");

                var userId = userManager.FindByEmail(acceptInviteVM.Email).Id;

                userManager.AddToRole(userId, "Adult");
                db.SaveChanges();

                TempData["sweetMsg"] = "Thank you for accepting my invitation, you are now a Household Member!";
            }
            else if (invite != null)
            {
                //var userId = User.Identity.GetUserId();
                //user = db.Users.Find(userId);
                user.HouseholdID = invite.HouseholdID;
                roleHelper.AddUserToRole(user.Id, "Adult");

                db.SaveChanges();

                TempData["sweetMsg"] = "Thank you for accepting my invitation, you are now a Household Member!";
            }
            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 5
0
        public async Task <AcceptInviteViewModel> GetInviteViewModelAsync(String inviteId)
        {
            var invite = await _inviteUserRepo.GetInvitationAsync(inviteId);

            return(AcceptInviteViewModel.CreateFromInvite(invite));
        }
Esempio n. 6
0
 public Task <InvokeResult> AcceptInvitationAsync(AcceptInviteViewModel acceptInviteViewModel, String acceptedUserId)
 {
     return(AcceptInvitationAsync(acceptInviteViewModel.InvitedById, acceptedUserId));
 }