public void AddOrRefreshLfg(S_PARTY_MATCH_LINK x)
 {
     if (TryGetLfg(x.Id, x.Message, x.Name, out var lfg))
     {
         lfg.Message = x.Message;
         lfg.Refresh();
     }
     else
     {
         LFGs.Add(new LFG(x.Id, x.Name, x.Message, x.Raid));
     }
 }
 private bool TryGetLfg(uint id, string msg, string name, out LFG lfg)
 {
     lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Id == id);
     if (lfg != null)
     {
         return(true);
     }
     lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Name == name);
     if (lfg != null)
     {
         return(false);
     }
     lfg = LFGs.ToSyncArray().FirstOrDefault(x => x.Message == msg);
     return(lfg != null);
 }
 public void RemoveLfg(LFG lfg)
 {
     lfg.Dispose();
     LFGs.Remove(lfg);
 }