public async Task <IActionResult> InvitePlayer([FromRoute] int clubId, [FromBody] CreateInvitation createInvitation) { var club = await _clubsService.GetClubById(clubId); if (club == null) { return(BadRequest()); } if (createInvitation != null && ModelState.IsValid) { var player = await _membersService.GetPlayerById(createInvitation.PlayerId); if (player == null) { return(BadRequest()); } await _clubsService.InvitePlayer(club, player, createInvitation); await _clubsService.SaveChangesAsync(); return(Ok()); } return(BadRequest()); }
public async Task <CreateInvitation> CreateInvitationAsync([FromBody] CreateInvitationRequest request) { var(auth, tenantId, adminId, adminEmail) = Authorize(); if (!auth) { return(new CreateInvitation()); } var invite = ValidatorLinkEntity.Generate(tenantId, Guid.NewGuid().ToString("N")); invite.InvitationToken = Guid.NewGuid().ToString("N") + Guid.NewGuid().ToString("N") + Guid.NewGuid().ToString("N"); invite.Name = request.Name; invite.Position = request.Position; invite.Description = request.Description; invite.CreatedAt = DateTime.UtcNow; invite.CreatedByAdminId = adminId; invite.CreatedByAdminEmail = adminEmail; await _validationWriter.InsertOrReplaceAsync(invite); _logger.LogInformation("Invitation Created. TenantId: {TenantId}; AdminId: {AdminId}", tenantId, adminId); var resp = new CreateInvitation() { TenantId = invite.TenantId, InvitationToken = invite.InvitationToken, Name = invite.Name, Position = invite.Position, Description = invite.Description }; return(resp); }
public Task InvitePlayer(Club club, Member player, CreateInvitation createInvitation) { var invitation = new Invitation { InvitedPlayer = player, InvitingClub = club, Description = createInvitation.Description, Status = InvitationStatus.NotReplied }; return(_invitationsRepository.AddInvitationAsync(invitation)); }
public override async Task InitializeAsync(object navigationData) { await Connections.InitializeAsync(null); await Credentials.InitializeAsync(null); await Account.InitializeAsync(null); await CreateInvitation.InitializeAsync(null); await base.InitializeAsync(navigationData); }
public async Task <IActionResult> OnPostInviteUserAsync(InviteUserRequest request) { await SetUp(); if (!ModelState.IsValid) { return(Page()); } var create = new CreateInvitation(request.RoleId, Member.Id, request.ExpiresAt); await _mediator.Send(create); return(RedirectToPage()); }
public override async Task InitializeAsync(object navigationData) { await Connections.InitializeAsync(null); await Credentials.InitializeAsync(null); await Account.InitializeAsync(null); await CreateInvitation.InitializeAsync(null); await ProofRequests.InitializeAsync(null); await base.InitializeAsync(navigationData); await poolConfigurator.ConfigurePoolsAsync(); }
public override async Task InitializeAsync(object navigationData) { await Connections.InitializeAsync(null); await Credentials.InitializeAsync(null); await Account.InitializeAsync(null); await CreateInvitation.InitializeAsync(null); await ProofRequests.InitializeAsync(null); await ScanQrCode.InitializeAsync(null); await base.InitializeAsync(navigationData); if (Preferences.Get(AppConstant.PinAuthEnabled, false)) { await NavigationService.NavigateToAsync <PinAuthViewModel>(); } }