Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
 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);
 }
Exemple #4
0
        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}");
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 protected virtual int FindIndexByName(ulong guildId, string name, SocialMediaEnum socialMedia)
 {
     return(Users.FindIndex(x => x.GuildId == guildId && x.Name == name && x.SocialMedia == socialMedia));
 }