Example #1
0
        private async Task Consume(CancellationToken stoppingToken)
        {
            var message = new MessageModel()
            {
                Id = 1, Data = 1
            };                                                  //_dataProducer.Produce();

            _messageRepo.Save(message);
        }
Example #2
0
        public Message DeleteMessage(int messageId, bool deleteForAll)
        {
            var message = _messageRepo.GetOne(messageId);

            if (message == null)
            {
                return(null);
            }

            if (deleteForAll)
            {
                var replies = _messageRepo.GetReplies(messageId).ToArray();
                //_messageRepo.GetAll().OfType<ReplyMessage>().Where(m => m.ReplyTo.Id == message.Id).ToArray();

                if (replies.Length != 0)
                {
                    foreach (var replyMessage in replies)
                    {
                        replyMessage.ReplyTo = null;
                    }

                    _messageRepo.SaveRange(replies);
                }

                _messageRepo.Delete(message);
            }
            else
            {
                message.HideForAuthor = true;
                _messageRepo.Save(message);
            }

            if (deleteForAll)
            {
                return(null);
            }
            else
            {
                return(message);
            }
        }