コード例 #1
0
        public void ThenTheUserCanSeeTheMessage(string user)
        {
            _browserSteps.GivenInTheUsersBrowser(user);
            var chatMessages = new GetChatMessages(_browsers[_c.CurrentUser]).WaitFor(_messages.Count).Fetch();

            chatMessages.Count.Should().BePositive();
            AssertChatMessage.Assert(_messages.Last(), chatMessages.Last(), _c.TimeZone);
        }
コード例 #2
0
        private void CheckMessagesAreAllDisplayed(string user)
        {
            _browserSteps.GivenInTheUsersBrowser(user);
            var chatMessages = new GetChatMessages(_browsers[_c.CurrentUser]).WaitFor(_messages.Count).Fetch();

            chatMessages.Count.Should().Be(_messages.Count);
            AssertChatMessage.AssertAll(_messages, chatMessages);
        }
コード例 #3
0
        public IActionResult GetChat([FromBody] GetChatMessages data)
        {
            var uid  = _signInManager.UserManager.GetUserId(User);
            var chat = _GameRepo.GetMessageLog(data.GameID);

            if (chat.Count() > data.chatLength)
            {
                return(PartialView("_ChatWindow", chat));
            }
            return(Json(""));
        }
コード例 #4
0
 public Task <List <ChatMessageModel> > GetMessages(GetChatMessages model)
 {
     return(Query <ApplicationChatMessage>()
            .Where(x => x.ChatId == model.ChatId && x.SentOnUtcTicks <= model.LessThantUtcTicks)
            .Select(x => new ChatMessageModel
     {
         SenderUserId = x.SenderUserId,
         SentOnUtcTicks = x.SentOnUtcTicks,
         Message = x.Message
     }).OrderBy(x => x.SentOnUtcTicks)
            .Take(model.Count).ToListAsync());
 }
コード例 #5
0
        public async Task GetMessages(GetChatMessages model)
        {
            var messages = await GetTransactionHandler().ExecuteAndCloseTransaction(amb =>
            {
                return(new ApplicationChatService(amb).GetMessages(model));
            });

            await Clients.Caller.SendAsync("onGetMessages", new ChatIdWithMessages
            {
                ChatId   = model.ChatId,
                Messages = messages
            });
        }
コード例 #6
0
ファイル: ChatQueryService.cs プロジェクト: dimaserd/Zoo
        /// <summary>
        /// Получить сообщения
        /// </summary>
        /// <param name="model"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public Task <GetListResult <ChatMessageModel> > GetMessages(GetChatMessages model, CancellationToken token = default)
        {
            var query = Query <EccChatMessage>()
                        .Where(x => x.ChatId == model.ChatId && x.SentOnUtcTicks <= model.LessThantUtcTicks)
                        .OrderBy(x => x.SentOnUtcTicks);

            var searchModel = new GetListSearchModel
            {
                Count  = model.Count,
                OffSet = 0
            };

            return(EFCoreExtensions.GetAsync(searchModel, query, x => new ChatMessageModel
            {
                Id = x.Id,
                SenderUserId = x.SenderUserId,
                SentOnUtcTicks = x.SentOnUtcTicks,
                LastUpdateUtcTicks = x.LastUpdateOnUtcTicks,
                Message = x.Message,
                TagString = x.TagString
            }));
        }