Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        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>();
            }
        }