Exemple #1
0
        GetEmojisBySymbols_SendThreeSymbolsAndDatabaseContainsOne_DatabaseContainsThreeEntitiesAndReturnThreeItems()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(
                "GetEmojisBySymbols_SendThreeSymbolsAndDatabaseContainsOne_DatabaseContainsThreeEntitiesAndReturnThreeItems")
                          .Options;

            using (var context = new ApplicationDbContext(options))
            {
                context.Add(new Emoji
                {
                    Symbol = "🤗"
                });

                context.SaveChanges();

                var emojiService = new EmojiService(context);

                var emojiSymbols = new[] { "😐", "😌", "🤗" };

                var emojis = emojiService.GetEmojisBySymbols(emojiSymbols);

                Assert.Equal(3, emojis.Count());
                Assert.Equal(3, context.Emojis.Count());
            }
        }
Exemple #2
0
 public MainForm()
 {
     InitializeComponent();
     //增加列
     for (int c = 0; c < col; c++)
     {
         DataGridViewImageColumn ic = new DataGridViewImageColumn();
         this.dataGridViewImage.Columns.Add(ic);
         this.dataGridViewImage.Columns[c].Width = 100;                       //限定列宽
         this.dataGridViewImage.Columns[c].DefaultCellStyle.NullValue = null; //当没有数据时,不会显示红叉,cell.Value 必须是null,对于空串这句无效
     }
     //增加行
     for (int r = 0; r < row; r++)
     {
         this.dataGridViewImage.Rows.Add();           //增加行
         this.dataGridViewImage.Rows[r].Height = 100; //限定行宽
     }
     try
     {
         EmojiService.DeleteNull();
         emojiList = EmojiService.SortbyFrequency();
         ShowEmojis(EmojiService.SortbyFrequency());
     }
     catch
     {
         EmojiService.DeleteNull();
         emojiList = EmojiService.SortbyFrequency();
         ShowEmojis(EmojiService.SortbyFrequency());
     }
 }
Exemple #3
0
        CreateGroup_OneNormalGroup_DatabaseContainsGroup()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(
                "CreateGroup_OneNormalGroup_DatabaseContainsGroup")
                          .Options;

            using (var context = new ApplicationDbContext(options))
            {
                var emojiService = new EmojiService(context);


                emojiService.CreateGroup(new CreateGroupEmojiInputModel
                {
                    Name          = "1",
                    Priority      = 1,
                    EmojiSequence = "😐 😌 🤗"
                });

                Assert.Equal(1, context.EmojiGroups.Count());

                var emojiGroup = context.EmojiGroups.Include(p => p.Emojis).FirstOrDefault();

                Assert.NotNull(emojiGroup);
                Assert.Equal("1", emojiGroup.Name);
                Assert.Equal(1, emojiGroup.Priority);
                Assert.Equal(3, emojiGroup.Emojis.Count());
            }
        }
Exemple #4
0
        public static PollInfo FromDefaultFields(int count, EmojiService e, IEnumerable <string> choices)
        {
            var collection = choices as string[] ?? choices.ToArray();

            return(count switch
            {
                1 => FromFields(($"{e.One.ToEmoji()}", collection[1])),

                2 => FromFields(($"{e.One.ToEmoji()}", collection[1]),
                                ($"{e.Two.ToEmoji()}", collection[2])),

                3 => FromFields(($"{e.One.ToEmoji()}", collection[1]),
                                ($"{e.Two.ToEmoji()}", collection[2]),
                                ($"{e.Three.ToEmoji()}", collection[3])),

                4 => FromFields(($"{e.One.ToEmoji()}", collection[1]),
                                ($"{e.Two.ToEmoji()}", collection[2]),
                                ($"{e.Three.ToEmoji()}", collection[3]),
                                ($"{e.Four.ToEmoji()}", collection[4])),

                5 => FromFields(($"{e.One.ToEmoji()}", collection[1]),
                                ($"{e.Two.ToEmoji()}", collection[2]),
                                ($"{e.Three.ToEmoji()}", collection[3]),
                                ($"{e.Four.ToEmoji()}", collection[4]),
                                ($"{e.Five.ToEmoji()}", collection[5])),

                _ => FromValid(false)
            });
Exemple #5
0
        CreateGroup_GroupWithSuchNameAlreadyExists_ThrowExceptionThatSuchGroupNameExists()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(
                "CreateGroup_GroupWithSuchNameAlreadyExists_ThrowExceptionThatSuchGroupNameExists")
                          .Options;

            using (var context = new ApplicationDbContext(options))
            {
                context.Add(new EmojiGroup
                {
                    Name = "Emotion"
                });

                context.SaveChanges();

                var emojiService = new EmojiService(context);


                Assert.Throws <SuchGroupNameAlreadyExists>(() =>
                {
                    emojiService.CreateGroup(new CreateGroupEmojiInputModel
                    {
                        Name = "Emotion"
                    });
                });
            }
        }
        protected virtual async Task ReplyInteractiveAsync(ServiceResponse response, string titleSuccess)
        {
            var messageBuilder = new StringBuilder();

            messageBuilder.AppendLine(response.Message);
            var callbackCounter = 1;

            foreach (var resultInterActiveCallback in response.InterActiveCallbacks)
            {
                var emoji = EmojiService.Get(callbackCounter);
                messageBuilder.AppendLine(emoji.Name + " " + resultInterActiveCallback.Key);
                callbackCounter++;
            }
            var embed = BuildEmbed(LocalizationService.Get(typeof(i18n), "Base_Messages_Reply_Interactive"), messageBuilder.ToString(), Color.Orange);
            var reply = new ReactionCallbackData(string.Empty, embed, TimeSpan.FromSeconds(30));

            callbackCounter = 1;
            foreach (var resultInterActiveCallback in response.InterActiveCallbacks)
            {
                var emoji = EmojiService.Get(callbackCounter);
                reply.WithCallback(emoji, c => ReplyWithInteractive(resultInterActiveCallback.Value, titleSuccess));
                callbackCounter++;
            }
            await InlineReactionReplyAsync(reply);
        }
Exemple #7
0
 public DiscordEventMessage(DiscordClient client, DiscordMessage message, Models.Event guildEvent, EpgpSnapshot?epgpSnapshot = null)
 {
     m_message      = message;
     m_guildEvent   = guildEvent;
     m_epgpSnapshot = epgpSnapshot;
     m_emojis       = client.GetCommandsNext().Services.GetService <EmojiService>();
 }
Exemple #8
0
 private void button1_Click(object sender, EventArgs e)
 {
     EmojiService.DeleteNull();
     emojiList = EmojiService.SortbyFrequency();
     ShowEmojis(EmojiService.SortbyFrequency());
     this.Refresh();
 }
Exemple #9
0
 private void  除表情ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     emojiList.Clear();
     EmojiService.DeleteEmoji(emojiSelected);
     MessageBox.Show("删除成功");
     emojiList = EmojiService.SortbyFrequency();
     ShowEmojis(emojiList);
 }
Exemple #10
0
 private void btnMain_Click(object sender, EventArgs e)
 {
     emojiList.Clear();
     EmojiService.DeleteNull();
     emojiList = EmojiService.SortbyFrequency();
     ShowEmojis(EmojiService.SortbyFrequency());
     this.Refresh();
 }
Exemple #11
0
 private void btnDelete_Click(object sender, EventArgs e)
 {
     emojiList.Clear();
     EmojiService.ModifyIsFavorite(emojiSelected, 1);
     MessageBox.Show("删除成功");
     emojiList = EmojiService.FavoriteEmoji();
     ShowEmojis(emojiList);
 }
Exemple #12
0
        public void GetEmoji_ReturnsUrl_WhenCategoryNameIsProvided()
        {
            IEmojiService emojiservice = new EmojiService();
            string        cat          = "/Computers & Electronics/Programming";

            string url = emojiservice.GetUrl(cat);

            Assert.Equal("https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png", url);
        }
        private async void OkButton_Clicked(object sender, EventArgs e)
        {
            var emojiService = new EmojiService();

            var emojiInfo = await emojiService.GetRandomEmoji();

            emojiText.Text = emojiInfo.Emoji;

            emojiText.FontSize = 48;
        }
Exemple #14
0
 public DepressedBotContext(IDiscordClient client, IUserMessage msg, IServiceProvider provider)
 {
     _emojiService   = provider.GetRequiredService <EmojiService>();
     Client          = client as DiscordSocketClient;
     ServiceProvider = provider;
     Guild           = (msg.Channel as ITextChannel)?.Guild;
     Channel         = msg.Channel as ITextChannel;
     User            = msg.Author as IGuildUser;
     Message         = msg;
 }
Exemple #15
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            getEmoji.TouchUpInside += async(sender, e) =>
            {
                var emojiService = new EmojiService();

                var emojiInfo = await emojiService.GetEmoji();

                emojiText.Text = emojiInfo.Emoji;
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Main);

            var getEmoji  = FindViewById <Button>(Resource.Id.getEmoji);
            var emojiText = FindViewById <TextView>(Resource.Id.emojiText);

            getEmoji.Click += async(sender, e) =>
            {
                var emojiService = new EmojiService();
                var emojiInfo    = await emojiService.GetEmoji();

                emojiText.Text = emojiInfo.Emoji;
            };
        }
Exemple #17
0
        private void button1_Click(object sender, EventArgs e)
        {
            Emoji newemoji = new Emoji(pathTextBox.Text, keywordTextBox.Text, seriesTextBox.Text, targetTextBox.Text, 0, false);

            try
            {
                EmojiService.AddEmoji(newemoji);
                MessageBox.Show("添加成功");
                pictureBox1.Image   = null;
                pathTextBox.Text    = "";
                keywordTextBox.Text = "";
                seriesTextBox.Text  = "";
                targetTextBox.Text  = "";
            }catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Exemple #18
0
        public void CreateEmojis_SendTwoSymbols_DatabaseContainsEntitiesAndReturnItemsContainsIds()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase("CreateEmojis_SendTwoSymbols_DatabaseContainsEntitiesAndReturnItemsContainsIds")
                          .Options;

            using (var context = new ApplicationDbContext(options))
            {
                var emojiService = new EmojiService(context);

                var emojiSymbols = new[] { "😐", "😌" };

                var emojis = emojiService.CreateEmojis(emojiSymbols);

                Assert.True(emojis.All(p => p.Id != 0));
                Assert.Equal(2, context.Emojis.Count());
            }
        }
Exemple #19
0
        private void button1_Click(object sender, EventArgs e)
        {
            Emoji newemoji = new Emoji(pathTextBox.Text, keywordTextBox.Text, cmbSeries.Text, cmbTarget.Text, 0, false);

            try
            {
                EmojiService.AddEmoji(newemoji);
                MessageBox.Show("添加成功");
                pictureBox1.Image   = null;
                pathTextBox.Text    = "";
                keywordTextBox.Text = "";
            }catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            //MainForm mm = new MainForm();
            // mm.ShowEmojis(MainForm.emojiList);
            //((MainForm)this.Owner).Refresh();
            this.Close();
        }
Exemple #20
0
        public FavoriteForm()
        {
            InitializeComponent();
            //增加列
            for (int c = 0; c < col; c++)
            {
                DataGridViewImageColumn ic = new DataGridViewImageColumn();
                this.dataGridViewImage.Columns.Add(ic);
                this.dataGridViewImage.Columns[c].Width = 100;                       //限定列宽
                this.dataGridViewImage.Columns[c].DefaultCellStyle.NullValue = null; //当没有数据时,不会显示红叉,cell.Value 必须是null,对于空串这句无效
            }
            //增加行
            for (int r = 0; r < row; r++)
            {
                this.dataGridViewImage.Rows.Add();           //增加行
                this.dataGridViewImage.Rows[r].Height = 100; //限定行宽
            }

            emojiList = EmojiService.FavoriteEmoji();
            ShowEmojis(emojiList);
        }
Exemple #21
0
        private void search_Click(object sender, EventArgs e)
        {
            switch (queryCondi)
            {
            case 0:
                emojiList.Clear();
                emojiList = EmojiService.SearchByKeyword(textBox1.Text);
                ShowEmojis(emojiList);
                break;

            case 1:
                emojiList.Clear();
                emojiList = EmojiService.SearchByTargetPeople(textBox1.Text);
                ShowEmojis(emojiList);
                break;

            case 2:
                emojiList.Clear();
                emojiList = EmojiService.SearchBySeries(textBox1.Text);
                ShowEmojis(emojiList);
                break;
            }
        }
Exemple #22
0
        public static async Task AddPollReactionsAsync(int amount, IUserMessage msg, EmojiService e)
        {
            var(one, two, three, four, five) = e.GetPollEmojis();

            switch (amount)
            {
            case 1:
                await One();

                break;

            case 2:
                await Two();

                break;

            case 3:
                await Three();

                break;

            case 4:
                await Four();

                break;

            case 5:
                await Five();

                break;
            }

            async Task One()
            {
                await msg.AddReactionAsync(one);
            }

            async Task Two()
            {
                await msg.AddReactionAsync(one);

                await msg.AddReactionAsync(two);
            }

            async Task Three()
            {
                await msg.AddReactionAsync(one);

                await msg.AddReactionAsync(two);

                await msg.AddReactionAsync(three);
            }

            async Task Four()
            {
                await msg.AddReactionAsync(one);

                await msg.AddReactionAsync(two);

                await msg.AddReactionAsync(three);

                await msg.AddReactionAsync(four);
            }

            async Task Five()
            {
                await msg.AddReactionAsync(one);

                await msg.AddReactionAsync(two);

                await msg.AddReactionAsync(three);

                await msg.AddReactionAsync(four);

                await msg.AddReactionAsync(five);
            }
        }
Exemple #23
0
        public static PollInfo GetPollBody(IEnumerable <string> choices, EmojiService e)
        {
            var c = choices as string[] ?? choices.ToArray();

            return(PollInfo.FromDefaultFields(c.Length - 1, e, c));
        }
Exemple #24
0
 private void rbSeriesOthers_CheckedChanged(object sender, EventArgs e)
 {
     emojiList.Clear();
     emojiList = EmojiService.SearchBySeries(rbSeriesOthers.Text);
     ShowEmojis(emojiList);
 }
 public ReactionService(EmojiService emojiService)
 {
     _emoji = emojiService;
 }
Exemple #26
0
 private void rbTargetProgrammer_CheckedChanged(object sender, EventArgs e)
 {
     emojiList.Clear();
     emojiList = EmojiService.SearchByTargetPeople(rbTargetProgrammer.Text);
     ShowEmojis(emojiList);
 }
Exemple #27
0
 public static PollInfo GetPollBody(string[] choices, EmojiService emojiService)
 => (choices.Length - 1) switch
 {
     1 => PollInfo.FromFields(($"{emojiService.One.ToEmoji()}", choices[1])),
Exemple #28
0
 //按关键词查找
 private void search_Click(object sender, EventArgs e)
 {
     emojiList.Clear();
     emojiList = EmojiService.SearchByKeyword(textBox1.Text);
     ShowEmojis(emojiList);
 }
Exemple #29
0
 private void 加入收藏ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     EmojiService.FrequencyPlus(emojiSelected);
     EmojiService.ModifyIsFavorite(emojiSelected, 0);
     MessageBox.Show("加入收藏夹成功");
 }
Exemple #30
0
 private void export_Click(object sender, EventArgs e)
 {
     EmojiService.ExportEmoji(emojiList);
 }