public async Task Should_insert_message_into_bucket()
        {
            // arrange
            var expectedUsername = "******" + Guid.NewGuid();
            var expectedMessage  = "some message whatever " + Guid.NewGuid();
            var expectedChannel  = "mychannel" + Guid.NewGuid();
            var twitchLibMessage = TwitchLibMessageBuilder.Create()
                                   .WithUsername(expectedUsername)
                                   .Build();
            var chatMessage = ChatMessageBuilder.Create()
                              .WithTwitchLibMessage(twitchLibMessage)
                              .WithMessage(expectedMessage)
                              .WithChannel(expectedChannel)
                              .Build();
            var request = new StoreMessage(chatMessage);

            // act
            await _handler.Handle(request, CancellationToken.None);

            // assert
            MockCollection.Verify(x => x.InsertAsync(It.IsAny <string>(), It.IsAny <ChatMessage>(), null), Times.Once());
            MockCollection.Verify(x => x.InsertAsync(It.IsAny <string>(), It.Is <ChatMessage>(d => d.Username == expectedUsername), null), Times.Once());
            MockCollection.Verify(x => x.InsertAsync(It.IsAny <string>(), It.Is <ChatMessage>(d => d.Message == expectedMessage), null), Times.Once());
            MockCollection.Verify(x => x.InsertAsync(It.IsAny <string>(), It.Is <ChatMessage>(d => d.Channel == expectedChannel), null), Times.Once());
        }
        public async Task Should_insert_message_into_bucket()
        {
            // arrange
            var expectedUsername = "******" + Guid.NewGuid();
            var expectedMessage  = "some message whatever " + Guid.NewGuid();
            var expectedChannel  = "mychannel" + Guid.NewGuid();
            var twitchLibMessage = TwitchLibMessageBuilder.Create()
                                   .WithUsername(expectedUsername)
                                   .Build();
            var chatMessage = ChatMessageBuilder.Create()
                              .WithTwitchLibMessage(twitchLibMessage)
                              .WithMessage(expectedMessage)
                              .WithChannel(expectedChannel)
                              .Build();
            var request = new StoreMessage(chatMessage);

            // act
            await _handler.Handle(request, CancellationToken.None);

            // assert
            _mockBucket.Verify(x => x.InsertAsync(It.Is <Document <ChatMessage> >(d => d.Id != Guid.Empty.ToString())), Times.Once());
            _mockBucket.Verify(x => x.InsertAsync(It.Is <Document <ChatMessage> >(d => d.Content.Username == expectedUsername)), Times.Once());
            _mockBucket.Verify(x => x.InsertAsync(It.Is <Document <ChatMessage> >(d => d.Content.Message == expectedMessage)), Times.Once());
            _mockBucket.Verify(x => x.InsertAsync(It.Is <Document <ChatMessage> >(d => d.Content.Channel == expectedChannel)), Times.Once());
        }
        private static StoreMessage ParseStoreMessage(string dataFromClient)
        {
            var parts        = dataFromClient.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries);
            var i            = 0;
            var storeMessage = new StoreMessage();

            foreach (var part in parts)
            {
                if (i == 0)
                {
                    storeMessage.Location = part;
                }
                else if (i == 1)
                {
                    i++;
                    continue; // part == "Store" (function name)
                }
                else
                {
                    if (int.TryParse(part, out int messageNumber)) // last part, containing count
                    {
                        storeMessage.MessageNumber = messageNumber;
                    }
                    else // actual passing
                    {
                        storeMessage.Passings.Add(Passing.Parse(part));
                    }
                }
                i++;
            }

            return(storeMessage);
        }
        public async Task Is_chat_message_stored()
        {
            // arrange
            var expectedUsername = "******" + Guid.NewGuid();
            var expectedMessage  = "some message whatever " + Guid.NewGuid();
            var expectedChannel  = "mychannel" + Guid.NewGuid();
            var twitchLibMessage = TwitchLibMessageBuilder.Create()
                                   .WithUsername(expectedUsername)
                                   .Build();
            var chatMessage = ChatMessageBuilder.Create()
                              .WithTwitchLibMessage(twitchLibMessage)
                              .WithMessage(expectedMessage)
                              .WithChannel(expectedChannel)
                              .Build();
            var request = new StoreMessage(chatMessage);

            // act
            await _handler.Handle(request, CancellationToken.None);

            // assert
            var n1ql   = $"SELECT RAW COUNT(*) FROM `{Bucket.Name}` WHERE message = $expectedMessage";
            var result = await TestCluster.QueryAsync <int>(n1ql,
                                                            QueryOptions.Create().Parameter("expectedMessage", expectedMessage).ScanConsistency(QueryScanConsistency.RequestPlus));

            var count = await result.Rows.FirstOrDefaultAsync();

            Assert.That(count, Is.EqualTo(1));
        }
        private int InsertStoreMessage(string notification, string userId)
        {
            var storeMessage = new StoreMessage
            {
                Message   = notification,
                UserIdIns = userId,
            };

            Db.StoreMessage.Add(storeMessage);
            Db.SaveChanges();
            return(storeMessage.StoreMessageId);
        }
Ejemplo n.º 6
0
        public bool AddStoreMessage(StoreMessage msg)
        {
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("INSERT INTO Vshop_StoreMessage VALUES (@DisUserID, @MsgUserID, @MessaegeCon,  @MsgTime, @Value1, @Value2, @Value3)");

            this.database.AddInParameter(sqlStringCommand, "DisUserID", DbType.Int32, msg.DisUserID);
            this.database.AddInParameter(sqlStringCommand, "MsgUserID", DbType.Int32, msg.MsgUserID);
            this.database.AddInParameter(sqlStringCommand, "MessaegeCon", DbType.String, msg.MessaegeCon);
            this.database.AddInParameter(sqlStringCommand, "MsgTime", DbType.DateTime, msg.MsgTime);
            this.database.AddInParameter(sqlStringCommand, "Value1", DbType.String, msg.Value1);
            this.database.AddInParameter(sqlStringCommand, "Value2", DbType.String, msg.Value2);
            this.database.AddInParameter(sqlStringCommand, "Value3", DbType.String, msg.Value3);
            return(this.database.ExecuteNonQuery(sqlStringCommand) == 1);
        }
Ejemplo n.º 7
0
        public StoreMessage GetModel(int ID)
        {
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT * FROM vw_Hishop_StoreMessage WHERE ID = @ID");

            this.database.AddInParameter(sqlStringCommand, "ID", DbType.Int32, ID);
            StoreMessage info = null;

            using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand))
            {
                if (reader.Read())
                {
                    info = ReaderConvert.ReaderToModel <StoreMessage>(reader);
                }
            }
            return(info);
        }
Ejemplo n.º 8
0
        public async Task AddMessageAsync(string msg)
        {
            //Description: Deserializace události jako obecné zprávy a uložení do DB
            var origin  = JsonConvert.DeserializeObject <Message>(msg);
            var message = new StoreMessage
            {
                Guid            = Guid.NewGuid(),
                MessageType     = origin.MessageType,
                MessageTypeText = origin.MessageType.ToString(),
                Created         = origin.Created,
                EntityId        = origin.EntityId,
                Message         = msg
            };

            db.Messages.Add(message);
            await db.SaveChangesAsync();
        }
Ejemplo n.º 9
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            MemberInfo currentMember = MemberProcessor.GetCurrentMember();
            //int DisUserID = Globals.GetCurrentDistributorId();
            string       MsgCon = this.txtMsgCon.Text.Trim();
            StoreMessage sm     = new StoreMessage();

            sm.DisUserID   = 0;
            sm.MsgUserID   = currentMember.UserId;
            sm.MessaegeCon = MsgCon;
            sm.MsgTime     = DateTime.Now;
            StoreMessageBrowser.AddStoreMessage(sm);
            this.txtMsgCon.Text = "";
            if (t == 1)
            {
                this.Page.Response.Write("<script>alert('发布成功!');window.location='MyStoreMessage.aspx?t=1';</script>");
            }
            else
            {
                this.Page.Response.Write("<script>alert('发布成功!');window.location='MyStoreMessage.aspx';</script>");
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// 新增留言
 /// </summary>
 /// <param name="msg"></param>
 /// <returns></returns>
 public static bool AddStoreMessage(StoreMessage msg)
 {
     return(new StoreMessageDao().AddStoreMessage(msg));
 }