Exemplo n.º 1
0
        /// <inheritdoc/>
        public void AddMessage(MessageDto message,
                               IChatEntityRepositoryProxy <Message, ChatDbContext> messageRepo,
                               IChatEntityRepositoryProxy <Channel, ChatDbContext> channelRepo)
        {
            var channel = channelRepo.Find(message.ChannelId);

            _requestValidator.IsChannelRequestValid(channel, channel.Server, _user, PermissionTypes.CanWrite);

            var newMessage = new Message(message, _user);

            messageRepo.Add(newMessage);
            _unitOfWork.Submit();
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        public List <MessageDto> GetChannelMessages(int channelId,
                                                    IChatDtoFactory <Message, MessageDto> dtoFactory,
                                                    IChatEntityRepositoryProxy <Channel, ChatDbContext> channelRepo)
        {
            var channel = channelRepo.Find(channelId);

            _requestValidator.IsChannelRequestValid(channel, channel.Server, _user, PermissionTypes.CanView);

            //TODO Pagination, return 20-40 messages in one batch
            return(dtoFactory.CreateDtoList(channel.Messages));
        }