public virtual async Task <string> ListSavedSocialMediaUsers(ulong guildId, SocialMediaEnum socialMedia, string channelMention = "") { string line = string.Empty; foreach (var user in Users) { if (user.SocialMedia != socialMedia) { continue; } bool addToList; if (Statics.Debug) { addToList = true; } else { addToList = guildId == user.GuildId; } if (!addToList) { continue; } string name = user.Name; line += $"■ {name} {(channelMention ?? "***Missing channel info.***")}\n"; } return(await Task.FromResult(line)); }
public override async Task <string> ListSavedSocialMediaUsers(ulong guildId, SocialMediaEnum socialMedia, string channelMention = "") { if (Users.Count == 0) { return(await Task.FromResult("No Twitter handles registered.")); } return(await base.ListSavedSocialMediaUsers(guildId, SocialMediaEnum.Twitter, channelMention)); }
private void Equal(SocialMediaEnum expectedSocialMedia, string expectedName, ulong expectedGuildId, ulong expectedChannelId, string expectedId, SocialMediaUserData actualUserData) { Assert.Equal(expectedSocialMedia, actualUserData.SocialMedia); Assert.Equal(expectedName, actualUserData.Name); Assert.Equal(expectedGuildId, actualUserData.GuildId); Assert.Equal(expectedChannelId, actualUserData.ChannelId); Assert.Equal(expectedId, actualUserData.Id); }
public virtual string DeleteSocialMediaUser(ulong guildId, string user, SocialMediaEnum socialMedia) { int i = FindIndexByName(guildId, user, socialMedia); if (i > -1) { SocialMediaUserData ud = Users[i]; FileSystem.DeleteInFile(ud); Users.RemoveAt(i); return($"Successfully deleted {ud.Name}"); } return($"Failed to delete {user}"); }
protected virtual bool Duplicate(ulong guildId, string name, SocialMediaEnum socialMedia) { bool duplicate = false; foreach (SocialMediaUserData ud in Users) { if (ud.SocialMedia != socialMedia) { continue; } if (ud.GuildId != guildId || !string.Equals(ud.Name, name, StringComparison.CurrentCultureIgnoreCase)) { continue; } duplicate = true; break; } return(duplicate); }
private IEnumerable <SocialMediaUserData> CollectUserData(Dictionary <XDocument, ulong> xmls, SocialMediaEnum socialMedia) { List <SocialMediaUserData> ud = new List <SocialMediaUserData>(); foreach (KeyValuePair <XDocument, ulong> xml in xmls) { foreach (XElement e in xml.Key.Descendants("Service").Descendants(socialMedia.ToString()).Descendants("User")) { SocialMediaUserData user = new SocialMediaUserData(); if (xml.Key.Document != null) { user.GuildId = xml.Value; } user.Name = e.Attribute("Name")?.Value; user.ChannelId = ulong.Parse(e.Attribute("ChannelID")?.Value ?? string.Empty); user.Id = e.Attribute("ID")?.Value; user.SocialMedia = socialMedia; ud.Add(user); } } return(ud); }
protected virtual bool CreateSocialMediaUser(string name, ulong guildId, ulong channelId, string id, SocialMediaEnum socialMedia) { SocialMediaUserData temp = new SocialMediaUserData() { Name = name, GuildId = guildId, ChannelId = channelId, Id = id, SocialMedia = socialMedia }; Users.Add(temp); bool ok = FileSystem.Save(temp); if (!ok) { Users.Remove(temp); } return(ok); }
protected virtual int FindIndexByName(ulong guildId, string name, SocialMediaEnum socialMedia) { return(Users.FindIndex(x => x.GuildId == guildId && x.Name == name && x.SocialMedia == socialMedia)); }