Пример #1
0
        public async Task <ActionResult> Typing(int topicid)
        {
            try
            {
                var user = await _ctx.Users.GetUserByName(User.Identity.Name);

                MessagePolling.Publish(user.Id, new LpMessage
                {
                    Topic = topicid,
                    Name  = user.FirstName,
                    id    = user.Id
                });
                return(Json(null));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(Json(null));
            }
        }
Пример #2
0
        public async Task <ActionResult> AddToTopic([FromRoute] long id, [FromBody] AddMessageModel message)
        {
            try
            {
                var user = await _ctx.Users.GetUserByName(User.Identity.Name);

                message.Body = Regex.Replace(message.Body, "<.*?>", string.Empty);
                message.Body = message.Body.Replace("\r\n", "\n");
                var msgstring = message.Body.Split(new[] { "\n" }, StringSplitOptions.None);
                message.Body = string.Join("<br/>", msgstring);
                var msg = new DbMessage
                {
                    AuthorId = user.Id,
                    Body     = message.Body,
                    Created  = DateTime.Now,
                    IsRead   = false,
                    TopicId  = id
                };
                var dbMessage = await _ctx.Messages.Create(msg);

                await _ctx.Topics.UpdateTs(id);

                var model = Mapper.Map <MessageModel>(dbMessage);
                model.IsAuthor = true;

                MessagePolling.Publish(user.Id, new LpMessage
                {
                    Name   = user.FirstName,
                    id     = user.Id,
                    Topic  = id,
                    Unread = 1
                });
                return(Json(model));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }