コード例 #1
0
ファイル: RepositoryService.cs プロジェクト: CDLUC3/dataup2
 /// <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;
 }
コード例 #2
0
 /// <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;
 }
コード例 #3
0
ファイル: FileServiceFactory.cs プロジェクト: CDLUC3/dataup2
 /// <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;
 }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
        /// <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());
        }
コード例 #6
0
 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;
 }
コード例 #7
0
 /// <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);
 }
コード例 #8
0
 /// <inheritdoc />
 public IRepositoryDocumentViewModel CreateRepositoryViewModel(IRepositoryDetails repositoryDetails)
 {
     return(new RepositoryDocumentViewModel(this, repositoryDetails));
 }
コード例 #9
0
 /// <inheritdoc />
 public ICommitHistoryViewModel CreateCommitHistoryViewModel(IRepositoryDetails repositoryDetails)
 {
     return(new CommitHistoryViewModel(repositoryDetails));
 }
コード例 #10
0
ファイル: SkyDriveFileService.cs プロジェクト: CDLUC3/dataup2
 /// <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());
 }
コード例 #11
0
        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);
        }
コード例 #12
0
        /// <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;
        }
コード例 #13
0
ファイル: UserServiceProvider.cs プロジェクト: CDLUC3/dataup2
 public UserServiceProvider(IUserRepository userRepository, IUnitOfWork unitOfWork, IRepositoryDetails repositoryDetails)
 {
     this.userRepository = userRepository;
     this.unitOfWork = unitOfWork;
     this.repositoryDetails = repositoryDetails;
 }