Beispiel #1
0
        public async Task <ActionResult> AcceptInvitation(Guid s)
        {
            var shareInvitation = _shareInvitationService.GetByInvitationSecurity(s);

            var viewModel = new ShareInvitation_Acceptance_MvcViewModel
            {
                IdServiceDescription = shareInvitation.IdServiceDescription,
                Email = shareInvitation.Email,
                IdSharedInvitation = shareInvitation.Id
            };

            var isExistingUser = shareInvitation.ExistingUser;

            User_ApiResponseViewModel userResponseViewModel = null;

            #region Get user by e-mail

            var getAllUserRequest  = CreateApiRequest($"api/users", HttpMethodENUM.GET, "application/x-www-form-urlencoded");
            var getAllUserResponse = await _apiRestClient.ExecuteAsync <List <User_ApiResponseViewModel> >(getAllUserRequest);

            #endregion Get user by e-mail

            if (getAllUserResponse.StatusCode == System.Net.HttpStatusCode.OK)
            {
                userResponseViewModel = getAllUserResponse.Data.FirstOrDefault(x => x.Email == shareInvitation.Email.ToLower());

                if (userResponseViewModel != null)
                {
                    isExistingUser = true;
                }
            }

            if (isExistingUser)
            {
                if (userResponseViewModel != null)
                {
                    var acceptInvitationForExistingUserBodyRequest = Mapper.Map <ShareInvitationAccept_ApiRequestCreateModel>(viewModel);

                    var acceptInvitationForExistingUserRequest = CreateApiRequest($"api/share-invitations/{shareInvitation.Id}/users/{userResponseViewModel.Id}/acceptance", HttpMethodENUM.POST, "application/x-www-form-urlencoded");
                    acceptInvitationForExistingUserRequest.AddRequestBodyParameter(acceptInvitationForExistingUserBodyRequest);
                    var acceptInvitationForExistingUserResponse = await _apiRestClient.ExecuteAsync <User_ApiResponseViewModel>(acceptInvitationForExistingUserRequest);

                    return(RedirectToAction("Index", "Account"));
                }
            }
            else
            {
                return(View(viewModel));
            }

            return(RedirectToAction("Index", "Account"));
        }
Beispiel #2
0
        public async Task <ActionResult> AcceptInvitation(ShareInvitation_Acceptance_MvcViewModel viewModel)
        {
            var acceptInvitationForNewUserBodyRequest = Mapper.Map <ShareInvitationAccept_ApiRequestCreateModel>(viewModel);

            var acceptInvitationForNewUserRequest = CreateApiRequest($"api/share-invitations/{viewModel.IdSharedInvitation}/users/acceptance", HttpMethodENUM.POST, "application/x-www-form-urlencoded");

            acceptInvitationForNewUserRequest.AddRequestBodyParameter(acceptInvitationForNewUserBodyRequest);
            var acceptInvitationForNewUserResponse = await _apiRestClient.ExecuteAsync <int>(acceptInvitationForNewUserRequest);

            if (acceptInvitationForNewUserResponse.StatusCode == System.Net.HttpStatusCode.OK)
            {
                if (Username != null)
                {
                    _auth.SignOut();

                    RemoveCookies(GRASEWS_USER_COOKIE);

                    return(RedirectToAction("Index", "Account"));
                }
            }

            return(RedirectToAction("Index", "Account"));
        }