public DeleteGroupCommandHandler( QueryRunner <UserGroupQuery, Optional <Group> > getUserGroup, IVersionedRepository <Group, uint> groupsRepository) { _getUserGroup = Ensure.NotNull(getUserGroup, nameof(getUserGroup)); _groupsRepository = Ensure.NotNull(groupsRepository, nameof(groupsRepository)); }
private void DownloadRecursive(IVersionedRepository repository, UnifiedPath source, string target, DateTime?upToDateTime = null) { var files = repository.GetFiles(source); foreach (var file in files) { var history = repository.GetFileHistory(file.Path); var revision = history .Where(r => r.Created.HasValue && (upToDateTime == null || r.Created.Value <= upToDateTime.Value)) .OrderByDescending(r => r.Created.Value) .FirstOrDefault(); if (revision != null) { Directory.CreateDirectory(target); repository.EndTransfer(repository.BeginDownloadVersionTransfer(revision.RevisionPath, target, true, null)); // TODO: Investigate //File.SetLastWriteTime(Path.Combine(target, file.Name), revision.Created.Value); } } var folders = repository.GetFolders(source); foreach (var folder in folders) { string targetFolder = Path.Combine(target, folder.Name); DownloadRecursive(repository, folder.Path, targetFolder, upToDateTime); } }
public CreateGroupCommandHandler( IVersionedRepository <Group, uint> groupsRepository, QueryRunner <UserByIdQuery, Optional <User> > getUserById) { _groupsRepository = Ensure.NotNull(groupsRepository, nameof(groupsRepository)); _getUserById = Ensure.NotNull(getUserById, nameof(getUserById)); }
public UpdateGroupDetailsCommandHandler( QueryRunner <UserByIdQuery, Optional <User> > getUserById, QueryRunner <UserGroupQuery, Optional <Group> > getUserGroup, IVersionedRepository <Group, uint> groupsRepository) { _getUserById = Ensure.NotNull(getUserById, nameof(getUserById)); _getUserGroup = Ensure.NotNull(getUserGroup, nameof(getUserGroup)); _groupsRepository = Ensure.NotNull(groupsRepository, nameof(groupsRepository)); }