/// <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(); }
/// <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)); }