public ActionResult ReadMessage(GetClinicMessageByIdCommand command)
 {
     var answer = _noticesService.GetClinicMessageById(command);
     return View(answer);
 }
示例#2
0
        public GetClinicMessageByIdCommandAnswer GetClinicMessageById(GetClinicMessageByIdCommand command)
        {
            var user = _tokenManager.GetUserByToken(command.Token);

            var message = ((IDbSet<MessageStorageModel>) _messageRepository.GetModels())
                .Include(model => model.UserFrom)
                .Include(model => model.UserTo)
                .FirstOrDefault(model => model.UserToId == user.Id && model.Id == command.MessageId);

            message.IsRead = true;
            _messageRepository.Update(message.Id, message);
            _messageRepository.SaveChanges();

            var result = new GetClinicMessageByIdCommandAnswer
            {
                MessageId = message.Id,
                AuthorId = message.UserFromId,
                AuthorName = message.UserFrom.Name,
                Text = message.Text,
                Title = message.Title,
                Token = command.Token.Value
            };

            return result;
        }