public async Task <bool> SendClanInvitationToPlayer(ClanInviteRequestModel model)
        {
            var user = await _context.PlayerIdentity.FirstOrDefaultAsync(t => t.Id == model.PlayerId);

            var clan = await _context.Clans.FirstOrDefaultAsync(t => t.Id == model.ClanId);

            if (user == null || clan == null)
            {
                return(false);
            }

            if (await CheckIfExistsInvitation(model))
            {
                return(false);
            }

            var inviteEntity = new InvationsPlayerToClan {
                ClanId = model.ClanId, PlayerId = model.PlayerId
            };

            var addResult = await _context.InvationsPlayerToClan.AddAsync(inviteEntity);

            if (addResult.State == EntityState.Added)
            {
                await _context.SaveChangesAsync();

                return(true);
            }

            return(false);
        }
        public async Task <bool> DeleteInvitation(ClanInviteRequestModel model)
        {
            var invitation = await
                             _context.InvationsPlayerToClan.FirstOrDefaultAsync(t =>
                                                                                t.PlayerId == model.PlayerId && t.ClanId == model.ClanId);

            if (invitation == null)
            {
                return(false);
            }

            var deleteResult = _context.InvationsPlayerToClan.Remove(invitation);

            if (deleteResult.State == EntityState.Deleted)
            {
                await _context.SaveChangesAsync();

                return(true);
            }

            return(true);
        }
Exemple #3
0
 public async Task <bool> DeleteInvitation(ClanInviteRequestModel model)
 {
     return(await _clanService.DeleteInvitation(model));
 }
Exemple #4
0
 public async Task <bool> InvitePlayerToClan(ClanInviteRequestModel model)
 {
     return(await _clanService.SendClanInvitationToPlayer(model));
 }
 private async Task <bool> CheckIfExistsInvitation(ClanInviteRequestModel model)
 {
     return(await
            _context.InvationsPlayerToClan.AnyAsync(t =>
                                                    t.PlayerId == model.PlayerId && t.ClanId == model.ClanId));
 }