/// <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); }
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 })); }
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)); }