public async Task <bool> SameInviteAlreadyExists(PlayerInviteEmail model, string playerUserId) { var inv = _context.PlayerInvites.Where(x => //checks if any record exists with is deleted = true then delete that record. x.PlayerCampaignID == model.CampaignId && x.SendByUserID == model.SendByUserId && x.PlayerUserID == playerUserId && x.PlayerEmail == model.UserName && (x.IsDeleted == true) ).ToList(); if (inv.Any()) { foreach (var item in inv) { DeleteInvite(item.Id); } } return(_context.PlayerInvites.Where(x => x.PlayerCampaignID == model.CampaignId && x.SendByUserID == model.SendByUserId && x.PlayerUserID == playerUserId && x.PlayerEmail == model.UserName && x.IsAccepted != true && (x.IsDeleted != true) ).Any()); }
public async Task <PlayerInvite> CreatePlayerInvite(PlayerInviteEmail model, string PlayerUserId, bool IsInviteSentUsingUserName) { PlayerInvite invite = new PlayerInvite(); invite.IsAccepted = false; invite.PlayerCampaignID = model.CampaignId; invite.PlayerCharacterID = null; invite.PlayerUserID = PlayerUserId; invite.SendByUserID = model.SendByUserId; invite.PlayerEmail = model.UserName; invite.IsSendToUserName = IsInviteSentUsingUserName; invite.SendOn = DateTime.Now; await _context.PlayerInvites.AddAsync(invite); await _context.SaveChangesAsync(); return(invite); }