/// <summary> /// Initalizes the Respository Service /// </summary> /// <param name="repositoryDetails">Repository Details</param> /// <param name="unitOfWork">object of IUnitOfWork</param> public RepositoryService(IRepositoryDetails repositoryDetails, IUnitOfWork unitOfWork, IUserRepository userRepository, IFileRepository fileRepository) { this.repositoryDetails = repositoryDetails; this.unitOfWork = unitOfWork; this.userRepository = userRepository; this.fileRepository = fileRepository; }
/// <summary> /// Initializes a new instance of the <see cref="FileServiceProvider"/> class. /// </summary> /// <param name="fileDataRepository">IFileRepository instance</param> /// <param name="blobDataRepository">IBlobDataRepository instance</param> /// <param name="unitOfWork">IUnitOfWork instance</param> /// <param name="repositoryDetails">IRepositoryDetails instance</param> /// <param name="repositoryService">IRepositoryService instance</param> /// <param name="repositoryAdapterFactory">IRepositoryAdapterFactory instance</param> public FileServiceProvider(IFileRepository fileDataRepository, IBlobDataRepository blobDataRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails, IRepositoryService repositoryService, IRepositoryAdapterFactory repositoryAdapterFactory) { this.UnitOfWork = unitOfWork; this.FileDataRepository = fileDataRepository; this.BlobDataRepository = blobDataRepository; this.RepositoryDetails = repositoryDetails; this.RepositoryService = repositoryService; this.RepositoryAdapterFactory = repositoryAdapterFactory; }
/// <summary> /// creates the instance of FileServiceFactory /// </summary> /// <param name="fileDataRepository">fileDataRepository</param> /// <param name="blobDataRepository">IBlobDataRepository</param> /// <param name="unitOfWork">IUnitOfWork</param> /// <param name="repositoryDetails">IRepositoryDetails</param> /// <param name="repositoryService">IRepositoryService</param> /// <param name="userService">IUserService</param> /// <param name="repositoryAdapterFactory">IRepositoryAdapterFactory</param> public FileServiceFactory(IFileRepository fileDataRepository, IBlobDataRepository blobDataRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails, IRepositoryService repositoryService, IUserService userService, IRepositoryAdapterFactory repositoryAdapterFactory) { this.fileDataRepository = fileDataRepository; this.blobDataRepository = blobDataRepository; this.unitOfWork = unitOfWork; this.repositoryDetails = repositoryDetails; this.repositoryService = repositoryService; this.userService = userService; this.repositoryAdapterFactory = repositoryAdapterFactory; }
/// <summary> /// Opens a repository and creates all the view models. /// </summary> /// <param name="repositoryDirectoryPath">The path to the repository to open.</param> private void OpenRepository(string repositoryDirectoryPath) { if (string.IsNullOrWhiteSpace(repositoryDirectoryPath)) { return; } IRepositoryDetails newModel = _repositoryFactory.CreateRepositoryDetails(repositoryDirectoryPath); _repositoryViewModels.Add(_viewModelFactory.CreateRepositoryViewModel(newModel)); SelectedRepositoryViewModel = _repositoryViewModels.Last(); }
/// <summary> /// Initializes a new instance of the <see cref="CommitHistoryViewModel" /> class. /// </summary> /// <param name="repositoryDetails">The details of the repository.</param> /// <exception cref="ArgumentException">If the repository does not exist.</exception> public CommitHistoryViewModel(IRepositoryDetails repositoryDetails) { if (repositoryDetails == null) { throw new ArgumentNullException(nameof(repositoryDetails)); } RepositoryDetails = repositoryDetails; IObservable <bool> isCurrentBranchObservable = this.WhenAnyValue(x => x.RepositoryDetails.SelectedBranch).Select(x => x != null); _refresh = ReactiveCommand.CreateFromObservable( () => GetCommitsImpl(RepositoryDetails.SelectedBranch), isCurrentBranchObservable); _refresh.Subscribe(x => _commitHistory.Add(new CommitHistoryItemViewModel(x))); isCurrentBranchObservable.Subscribe(x => Refresh.InvokeCommand()); }
public DataVerseFileService(IFileRepository fileDataRepository, IBlobDataRepository blobDataRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails, IRepositoryService repositoryService, IRepositoryAdapterFactory repositoryAdapterFactory, IUserService userService) : base(fileDataRepository, blobDataRepository, unitOfWork, repositoryDetails, repositoryService, repositoryAdapterFactory) { this.userService = userService; }
/// <summary> /// Initializes a new instance of the <see cref="RepositoryDocumentViewModel" /> class. /// </summary> /// <param name="factory">A factory for creating the children.</param> /// <param name="repositoryDetails">The details about the repositories.</param> public RepositoryDocumentViewModel(IRepositoryViewModelFactory factory, IRepositoryDetails repositoryDetails) { this.RepositoryDetails = repositoryDetails; this.CommitHistoryViewModel = factory.CreateCommitHistoryViewModel(this.RepositoryDetails); }
/// <inheritdoc /> public IRepositoryDocumentViewModel CreateRepositoryViewModel(IRepositoryDetails repositoryDetails) { return(new RepositoryDocumentViewModel(this, repositoryDetails)); }
/// <inheritdoc /> public ICommitHistoryViewModel CreateCommitHistoryViewModel(IRepositoryDetails repositoryDetails) { return(new CommitHistoryViewModel(repositoryDetails)); }
/// <summary> /// Initializes a new instance of the <see cref="SkyDriveFileService"/> class. /// </summary> /// <param name="fileDataRepository">IFileRepository instance.</param> /// <param name="blobDataRepository">IBlobDataRepository instance.</param> /// <param name="unitOfWork">IUnitOfWork instance.</param> /// <param name="repositoryDetails">IRepositoryDetails instance.</param> /// <param name="repositoryService">IRepositoryService instance.</param> /// <param name="userService">IUserService instance</param> /// <param name="repositoryAdapterFactory">IRepositoryAdapterFactory instance.</param> public SkyDriveFileService(IFileRepository fileDataRepository, IBlobDataRepository blobDataRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails,IRepositoryService repositoryService, IUserService userService, IRepositoryAdapterFactory repositoryAdapterFactory) : base(fileDataRepository, blobDataRepository, unitOfWork, repositoryDetails, repositoryService, repositoryAdapterFactory) { this.userService = userService; diagnostics = new DiagnosticsProvider(this.GetType()); }
public void Initialize() { // Unit of work code this.unitOfWork = new StubIUnitOfWork() { Commit = () => { return; } }; // User repository this.userRepository = new StubIUserRepository() { GetUserbyUserIdInt32 = (userId) => { List<UserRole> userRoles = new List<UserRole>(); userRoles.Add(new UserRole() { Role = null, RoleId = 1, UserId = userId, UserRoleId = 1 }); User userNew = new User() { CreatedOn = DateTime.UtcNow, EmailId = "*****@*****.**", FirstName = "First", IdentityProvider = "identity", IsActive = true, LastName = "Last", MiddleName = "midele", ModifiedOn = DateTime.UtcNow, NameIdentifier = "nameIdentifier", Organization = "Test Org", UserAttributes = null, UserId = userId, UserRoles = userRoles }; return userNew; } }; // File repository implementation this.fileRepository = new StubIFileRepository() { GetFilesByRepositoryInt32 = (repositoryId) => { File fileToAdd = new File() { Citation = "Citation 1", CreatedBy = 1, CreatedOn = DateTime.Now, Description = "Document 1", FileAttributes = null, FileColumns = null, FileId = 1, FileQualityChecks = null, Identifier = "asdahgsdfsghadfsghad", isDeleted = false, MimeType = "Mime type 1", ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Document One", Repository = null, RepositoryId = 1, Size = 20.90, Status = "Uploaded", Title = "Document 1" }; File fileToAdd1 = new File() { Citation = "Citation 2", CreatedBy = 1, CreatedOn = DateTime.Now, Description = "Document 2", FileAttributes = null, FileColumns = null, FileId = 2, FileQualityChecks = null, Identifier = "wrwe23423ewr", isDeleted = false, MimeType = "Mime type 2", ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Document Two", Repository = null, RepositoryId = 1, Size = 20.90, Status = "Posted", Title = "Document 2" }; List<File> lstFiles = new List<File>(); lstFiles.Add(fileToAdd); lstFiles.Add(fileToAdd); return lstFiles; }, DeleteFileInt32StringBooleanBoolean = (fileId, status, isFileData, isHardDelete) => { return true; }, UpdateFileFile = (modifiedFile) => { return null; } }; // Repository details fake implementation this.repositoryDetails = new StubIRepositoryDetails() { RetrieveRepositories = () => { Repository repositoryObject = new Repository() { AllowedFileTypes = "xlsx,nc,csv", CreatedBy = 1, /// Files = null, CreatedOn = DateTime.Now, HttpDeleteUriTemplate = "http://test.com", HttpGetUriTemplate = "http://test.com", HttpIdentifierUriTemplate = "http://test.com", HttpPostUriTemplate = "http://test.com", ImpersonatingPassword = "******", ImpersonatingUserName = "******", IsActive = true, IsImpersonating = true, ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Repository1", RepositoryId = 1, UserAgreement = "Test Agreement1", BaseRepositoryId = 1, IsVisibleToAll = true }; Repository repositoryObject1 = new Repository() { AllowedFileTypes = "xlsx,csv", CreatedBy = 1, //Files = null, CreatedOn = DateTime.Now, HttpDeleteUriTemplate = "http://gmail.com", HttpGetUriTemplate = "http://gmail.com", HttpIdentifierUriTemplate = "http://gmail.com", HttpPostUriTemplate = "http://gmail.com", ImpersonatingPassword = "******", ImpersonatingUserName = "******", IsActive = true, IsImpersonating = true, ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Repository2", RepositoryId = 2, UserAgreement = "Test Agreement1", BaseRepositoryId = 1, IsVisibleToAll = true }; List<Repository> lstRep = new List<Repository>(); lstRep.Add(repositoryObject); lstRep.Add(repositoryObject1); return lstRep; }, RetrieveRepositoryTypes = () => { List<BaseRepository> lstBaseRep = new List<BaseRepository>(); lstBaseRep.Add(new BaseRepository() { BaseRepositoryId = 1, Name = "Merritt" }); lstBaseRep.Add(new BaseRepository() { BaseRepositoryId = 2, Name = "Sky" }); return lstBaseRep; }, AddRepositoryRepository = (repository) => { repository.RepositoryId = 10; repository.Name = "From add method"; return repository; }, UpdateRepositoryRepository = (repository) => { repository.Name = "From update method"; return repository; }, GetRepositoryByIdInt32 = (repositoryId) => { Repository repositoryObject = new Repository() { AllowedFileTypes = "xlsx,nc,csv", CreatedBy = 1, /// Files = null, CreatedOn = DateTime.Now, HttpDeleteUriTemplate = "http://test.com", HttpGetUriTemplate = "http://test.com", HttpIdentifierUriTemplate = "http://test.com", HttpPostUriTemplate = "http://test.com", ImpersonatingPassword = "******", ImpersonatingUserName = "******", IsActive = true, IsImpersonating = true, ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Get by id method", RepositoryId = repositoryId, UserAgreement = "Test Agreement1", BaseRepositoryId = 1, IsVisibleToAll = true }; return repositoryObject; }, GetBaseRepositoryNameInt32 = (baseRepositoryId) => { return "base rep Name"; }, DeleteRepositoryInt32 = (repositoryId) => { Repository repositoryObject = new Repository() { AllowedFileTypes = "xlsx,nc,csv", CreatedBy = 1, /// Files = null, CreatedOn = DateTime.Now, HttpDeleteUriTemplate = "http://test.com", HttpGetUriTemplate = "http://test.com", HttpIdentifierUriTemplate = "http://test.com", HttpPostUriTemplate = "http://test.com", ImpersonatingPassword = "******", ImpersonatingUserName = "******", IsActive = true, IsImpersonating = true, ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Delete rep method", RepositoryId = repositoryId, UserAgreement = "Test Agreement1", BaseRepositoryId = 1, IsVisibleToAll = true }; return repositoryObject; }, GetRepositoryByNameString = (repositoryName) => { Repository repositoryObject = new Repository() { AllowedFileTypes = "xlsx,nc,csv", CreatedBy = 1, /// Files = null, CreatedOn = DateTime.Now, HttpDeleteUriTemplate = "http://test.com", HttpGetUriTemplate = "http://test.com", HttpIdentifierUriTemplate = "http://test.com", HttpPostUriTemplate = "http://test.com", ImpersonatingPassword = "******", ImpersonatingUserName = "******", IsActive = true, IsImpersonating = true, ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = repositoryName, RepositoryId = 12, UserAgreement = "Test Agreement1", BaseRepositoryId = 1, IsVisibleToAll = true }; return repositoryObject; } }; this.repsoitoryService = new RepositoriesService.RepositoryService(repositoryDetails, unitOfWork, userRepository, fileRepository); }
/// <summary> /// Returns the instance of SkyDriveFile Service /// </summary> /// <returns>SkyDriveFileService</returns> private SkyDriveFileService GetSkyDriveFileService() { this.repositoryService = new StubIRepositoryService() { GetRepositoryByIdInt32 = (repositoryId) => { return this.repository; }, }; this.userService = new StubIUserService() { GetUserAuthTokenInt32Int32 = (userId, RepositoryId) => { return this.userAuthToken; }, AddUpdateAuthTokenAuthToken = authToken => { return authToken; } }; this.fileRepository = new StubIFileRepository() { GetItemInt32Int32 = (userId, fileName) => { return new File() { Name = "test", FileId = 100, Status = "Uploaded" }; }, UpdateFileFile = (file) => { return file; } }; IUnitOfWork unitOfWork = new Fakes.StubIUnitOfWork() { Commit = () => { return; } }; this.blobDataRepository = new StubIBlobDataRepository() { GetBlobContentString = (name) => { return new DataDetail(); }, DeleteFileString = (fileName) => { return true; } }; this.skyDriveAdapter = new StubIRepositoryAdapter() { PostFilePublishFileModel = (publishFileModel) => { OperationStatus status = OperationStatus.CreateSuccessStatus(); status.CustomReturnValues = "x1234"; return status; }, RefreshTokenString = (accessToken) => { AuthToken authToken = new AuthToken() { AccessToken = "accessToken", RefreshToken = "refreshToken", TokenExpiresOn = DateTime.UtcNow.AddHours(1) }; return authToken; } }; IRepositoryAdapterFactory adapterFactory = new StubIRepositoryAdapterFactory() { GetRepositoryAdapterString = (baseRepositoryName) => { return skyDriveAdapter; } }; this.repositoryDetails = new StubIRepositoryDetails() { GetRepositoryByIdInt32 = id => new Repository() { BaseRepository = new BaseRepository() { Name = "Repository Type 1" } } }; SkyDriveFileService skyDriveFileService; using (ShimsContext.Create()) { ShimDiagnosticsProvider.ConstructorType = (dp, type) => { }; skyDriveFileService = new SkyDriveFileService(fileRepository, blobDataRepository, unitOfWork, repositoryDetails, repositoryService, userService, adapterFactory); } return skyDriveFileService; }
public UserServiceProvider(IUserRepository userRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails) { this.userRepository = userRepository; this.unitOfWork = unitOfWork; this.repositoryDetails = repositoryDetails; }