Esempio n. 1
0
        /// <summary>
        /// Gets the Invite Request details for the given community
        /// </summary>
        /// <param name="communityId">Community for which Invite Request details to be fetched</param>
        /// <param name="currentPage">Current page to be rendered</param>
        /// <returns>ViewModel with invite request details</returns>
        private async Task <InviteRequestViewModel> GetInviteRequests(long communityId, int currentPage)
        {
            var pageDetails = new PageDetails(currentPage);

            pageDetails.ItemsPerPage = Constants.PermissionsPerPage;

            var inviteRequestItemList = await ProfileService.GetInviteRequests(CurrentUserId, communityId, pageDetails);

            this.CheckNotNull(() => new { inviteRequestItemList });

            var inviteRequestList = new List <InviteRequestDetailsViewModel>();

            for (var i = 0; i < inviteRequestItemList.Count(); i++)
            {
                var model = new InviteRequestDetailsViewModel()
                {
                    InviteRequestID = inviteRequestItemList.ElementAt(i).InviteRequestID,
                    CommunityID     = inviteRequestItemList.ElementAt(i).CommunityID,
                    EmailId         = inviteRequestItemList.ElementAt(i).EmailIdList[0],
                    Role            = (UserRole)inviteRequestItemList.ElementAt(i).RoleID,
                    InvitedDate     = inviteRequestItemList.ElementAt(i).InvitedDate
                };

                inviteRequestList.Add(model);
            }

            var inviteRequestViewModel = new InviteRequestViewModel(inviteRequestList, pageDetails);

            return(inviteRequestViewModel);
        }
Esempio n. 2
0
        public async Task <ActionResult> AcceptInvite(InviteRequestViewModel viewModel)
        {
            var project = await ProjectRepository.GetProjectAsync(viewModel.ProjectId).ConfigureAwait(false);

            if (project == null)
            {
                return(HttpNotFound());
            }

            if (!ModelState.IsValid)
            {
                return(await Edit(viewModel.ProjectId, viewModel.ClaimId).ConfigureAwait(false));
            }

            await AccommodationInviteService.AcceptAccommodationInvite(viewModel.ProjectId, viewModel.InviteId).ConfigureAwait(false);

            return(RedirectToAction("Edit", "Claim", new { viewModel.ClaimId, viewModel.ProjectId }));
        }
        public async Task <ActionResult> Invite(InviteRequestViewModel viewModel)
        {
            var project = await ProjectRepository.GetProjectAsync(viewModel.ProjectId).ConfigureAwait(false);

            if (project == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(await Edit(viewModel.ProjectId, viewModel.ClaimId).ConfigureAwait(false));
            }

            _ = await AccommodationInviteService.CreateAccommodationInviteToGroupOrClaim(viewModel.ProjectId,
                                                                                         viewModel.ClaimId,
                                                                                         viewModel.ReceiverClaimOrAccommodationRequest,
                                                                                         viewModel.RequestId,
                                                                                         InviteRequestViewModel.AccommodationRequestPrefix).ConfigureAwait(false);

            return(RedirectToAction("Edit", "Claim", new { viewModel.ClaimId, viewModel.ProjectId }));
        }
Esempio n. 4
0
        public ActionResult InviteRequest(InviteRequestViewModel model)
        {
            if (ModelState.IsValid)
            {
                var inviteData = new InviteDataStruct()
                {
                    Name          = model.Name,
                    Surname       = model.Surname,
                    Patronymic    = model.Patronymic,
                    Email         = model.Email,
                    FacebookId    = model.FacebookUrl,
                    LiveJournalId = model.LiveJournalUrl,
                    State         = InviteState.Requested,
                    UserInfo      = model.UserInfo
                };

                InviteService.CreateInvite(inviteData);

                //todo - сделать вьюху для сообщения "вы успешно послали реквест"
                return(RedirectToAction("index", "home", null));
            }

            return(View(model));
        }