public MessageDataDto GetById(int id)
        {
            var messageData = _repository.GetById(id);

            if (messageData == default(MessageData))
            {
                return(default(MessageDataDto));
            }

            return(MessageDataDto.FromEntity(messageData));
        }
Exemple #2
0
        public void NotifySubscribers(MessageData messageData)
        {
            var subscribers = _notificationManager.GetSubscriberConnections(messageData.PublisherId);
            var dto         = MessageDataDto.FromEntity(messageData);
            var settings    = new JsonSerializerSettings();

            subscribers.AsParallel().ForAll(x => {
                string json = JsonConvert.SerializeObject(dto);

                x.SendText(json);
            });
        }
        public MessageDataDto GetByMessageId(Guid messageId)
        {
            var specification = new Specification <MessageData>(x => x.MessageId.Equals(messageId));
            var messageData   = _repository.GetBySpecification(specification).SingleOrDefault();

            if (messageData == default(MessageData))
            {
                return(default(MessageDataDto));
            }

            return(MessageDataDto.FromEntity(messageData));
        }
        public void InsertMessageData(MessageDataDto messageData)
        {
            _logger.LogInformation("Inserting data in database");

            var messageDataToInsert = new MessageData
            {
                MessageText = messageData.MessageText
            };

            _context.MessageDatas.Add(messageDataToInsert);
            _context.SaveChanges();

            _logger.LogInformation("Data successfully inserted. ID: " + messageDataToInsert.MessageDataId);
        }
        public async Task <IActionResult> PostMessageData([FromBody] MessageData messageData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await Task.Factory.StartNew(() => {
                _messageDataService.AddOne(messageData);
                _messageNotificationService.NotifySubscribers(messageData);
            }
                                        );

            return(CreatedAtAction("GetMessageData", new { id = messageData.Id }, MessageDataDto.FromEntity(messageData)));
        }
        public IEnumerable <MessageDataDto> GetLatestByPublisherId(Guid publisherId, DateTime afterDate)
        {
            var specification = new Specification <MessageData>(x => x.PublisherId.Equals(publisherId) && (x.Timestamp > afterDate));

            return(_repository.GetBySpecification(specification).Select(x => MessageDataDto.FromEntity(x)));
        }
        public IEnumerable <MessageDataDto> GetByPublisherId(Guid publisherId, bool forwarded)
        {
            var specification = new Specification <MessageData>(x => x.PublisherId.Equals(publisherId) && (x.Forwarded == forwarded));

            return(_repository.GetBySpecification(specification).Select(x => MessageDataDto.FromEntity(x)));
        }
 public IEnumerable <MessageDataDto> GetAll()
 {
     return(_repository.GetAll().Select(x => MessageDataDto.FromEntity(x)));
 }