Exemplo n.º 1
0
        public async Task <IActionResult> AcceptInvite(string email, Guid token)
        {
            if (email.IsNotEmail() ||
                token.IsEmptyGuid())
            {
                return(RedirectToAccessDenied());
            }

            var request = new UserInviteValidateRequest(token, email);

            var response = await OrganizationService.ValidateUserInvitation(request);

            if (response.Status.IsNotSuccess)
            {
                return(RedirectToAccessDenied());
            }

            var model = new InviteAcceptModel();

            model.FirstName = response.Item.FirstName;
            model.LastName  = response.Item.LastName;
            model.Token     = token;
            model.Email     = email;
            model.SetInputModelValues();
            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <UserInviteValidateResponse> ValidateUserInvitation(UserInviteValidateRequest request)
        {
            var response = new UserInviteValidateResponse();

            var user = await _userRepository.Select(x => x.InvitationToken == request.Token && x.Email == request.Email);

            if (user.IsExist() &&
                user.InvitedAt.HasValue &&
                user.InvitedAt.Value.AddDays(2) > DateTime.UtcNow)
            {
                response.Item.FirstName = user.FirstName;
                response.Item.LastName  = user.LastName;
                response.Item.Email     = user.Email;
                response.Status         = ResponseStatus.Success;
                return(response);
            }

            response.SetFailed();
            return(response);
        }