コード例 #1
0
ファイル: QCService.cs プロジェクト: CDLUC3/DataUp_Dataverse
 /// <summary>
 ///  Initializes a new instance of the <see cref="FileServiceProvider"/> class.
 /// </summary>
 /// <param name="qualityCheckRepository">Quality check repository object.</param>
 /// <param name="unitOfWork">Object of IUnitWork.</param>
 public QCService(IQualityCheckRepository qualityCheckRepository, IUnitOfWork unitOfWork, IUserRepository userRepository, IFileService fileService, IBlobDataRepository blobRepository)
 {
     this.qualityCheckRepository = qualityCheckRepository;
     this.unitOfWork = unitOfWork;
     this.userRepository = userRepository;
     this.fileService = fileService;
     this.blobRepository = blobRepository;
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VerifyFileQueueService"/> class.
 /// </summary>
 /// <param name="fileServiceFactory">IFileServiceFactory instance.</param>
 /// <param name="repositoryService">IRepositoryService instance.</param>
 /// <param name="queueRepository">IQueueRepository instance.</param>
 /// <param name="blobDataRepository">IBlobRepository instance.</param>
 public VerifyFileQueueService(IFileServiceFactory fileServiceFactory, IRepositoryService repositoryService, IQueueRepository queueRepository, IBlobDataRepository blobDataRepository)
 {
     this.fileServiceFactory = fileServiceFactory;
     this.RepositoryService = repositoryService;
     this.QueueRepository = queueRepository;
     this.blobDataRepository = blobDataRepository;
     this.Diagnostics = new DiagnosticsProvider(this.GetType());
 }
コード例 #3
0
  /// <summary>
 /// Initializes a new instance of the <see cref="MessageHandlerFactory"/> class.
 /// </summary>
 /// <param name="fileServiceFactory">IFileServiceFactory to instantiate IFileService.</param>
 /// <param name="repositoryService">IRepositoryService instance.</param>
 /// <param name="queueRepository">IQueueRepository instance.</param>
 /// <param name="blobRepository">IBlobRepository instance.</param>
 public MessageHandlerFactory(IFileServiceFactory fileServiceFactory, IRepositoryService repositoryService, IQueueRepository queueRepository, IBlobDataRepository blobRepository)
 {
     this.fileServiceFactory = fileServiceFactory;
     this.repositoryService = repositoryService;
     this.queueRepository = queueRepository;
     this.blobRepository = blobRepository;
     diagnostics = new DiagnosticsProvider(this.GetType());
 }
コード例 #4
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;
 }
コード例 #5
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;
 }
コード例 #6
0
 public FilesHelper(
     AppSettings appSettings,
     IUserRepository userRepository,
     IBlobDataRepository blobDataRepository)
 {
     _appSettings        = appSettings;
     _userRepository     = userRepository;
     _blobDataRepository = blobDataRepository;
     UpdateDb();
 }
コード例 #7
0
 public static IFileProcesser GetFileTypeInstance(string fileExtension, IBlobDataRepository blobDataRepository, IFileRepository fileDataRepository = null, IRepositoryService repositoryService = null)
 {
     switch (fileExtension)
     {
         case Constants.XLFileExtension:
             return new ExcelFileProcesser(blobDataRepository, fileDataRepository, repositoryService);
         case Constants.CSVFileExtension:
             return new CSVFileProcessor(blobDataRepository, fileDataRepository, repositoryService);
         default:
             return new DefaultFileProcessor(blobDataRepository, fileDataRepository, repositoryService);
     }
 }
コード例 #8
0
 public HomeController(
     AppSettings appSettings,
     IUserRepository userRepository,
     IBlobDataRepository blobDataRepository,
     IUserActionHistoryRepository userActionHistoryRepository,
     IFilesHelper filesHelper
     ) : base(userActionHistoryRepository)
 {
     _appSettings        = appSettings;
     _userRepository     = userRepository;
     _blobDataRepository = blobDataRepository;
     _filesHelper        = filesHelper;
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the ContentService class.
 /// </summary>
 /// <param name="contentRepository">Instance of content repository</param>
 /// <param name="blobDataRepository">Instance of Blob data repository</param>
 /// <param name="tagRepository">Instance of tagRepository</param>
 /// <param name="communityRepository">Instance of community repository</param>
 /// <param name="userRepository">Instance of User repository</param>
 public ContentService(
     IContentRepository contentRepository,
     IBlobDataRepository blobDataRepository,
     IRepositoryBase <Tag> tagRepository,
     ICommunityRepository communityRepository,
     IUserRepository userRepository,
     IRepositoryBase <OffensiveContent> offensiveContentRepository)
     : base(communityRepository, userRepository)
 {
     this._contentRepository          = contentRepository;
     this._blobDataRepository         = blobDataRepository;
     this._tagRepository              = tagRepository;
     this._communityRepository        = communityRepository;
     this._userRepository             = userRepository;
     this._offensiveContentRepository = offensiveContentRepository;
 }
コード例 #10
0
 /// <summary>
 /// Initializes a new instance of the ContentService class.
 /// </summary>
 /// <param name="contentRepository">Instance of content repository</param>
 /// <param name="blobDataRepository">Instance of Blob data repository</param>
 /// <param name="tagRepository">Instance of tagRepository</param>
 /// <param name="communityRepository">Instance of community repository</param>
 /// <param name="userRepository">Instance of User repository</param>
 public ContentService(
     IContentRepository contentRepository,
     IBlobDataRepository blobDataRepository,
     IRepositoryBase<Tag> tagRepository,
     ICommunityRepository communityRepository,
     IUserRepository userRepository,
     IRepositoryBase<OffensiveContent> offensiveContentRepository)
     : base(communityRepository, userRepository)
 {
     this._contentRepository = contentRepository;
     this._blobDataRepository = blobDataRepository;
     this._tagRepository = tagRepository;
     this._communityRepository = communityRepository;
     this._userRepository = userRepository;
     this._offensiveContentRepository = offensiveContentRepository;
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the ProfileService class.
 /// </summary>
 /// <param name="userRepository">Instance of user repository</param>
 /// <param name="contentsViewRepository">Instance of content repository</param>
 /// <param name="communitiesViewRepository">Instance of CommunitiesView repository</param>
 /// <param name="userCommunitiesRepository">Instance of UserCommunities repository</param>
 /// <param name="permissionRequestRepository">Instance of PermissionRequest repository</param>
 /// <param name="blobDataRepository">Instance of Blob data repository</param>
 /// <param name="inviteRequestsViewRepository">Instance of InviteRequestsView repository</param>
 /// <param name="inviteRequestRepository">Instance of InviteRequest repository</param>
 public ProfileService(
     IUserRepository userRepository,
     IContentsViewRepository contentsViewRepository,
     ICommunitiesViewRepository communitiesViewRepository,
     IUserCommunitiesRepository userCommunitiesRepository,
     IRepositoryBase <PermissionRequest> permissionRequestRepository,
     IBlobDataRepository blobDataRepository,
     IRepositoryBase <InviteRequestsView> inviteRequestsViewRepository,
     IRepositoryBase <InviteRequest> inviteRequestRepository,
     IRepositoryBase <UserType> userTypeRepository)
 {
     _userRepository               = userRepository;
     _contentsViewRepository       = contentsViewRepository;
     _communitiesViewRepository    = communitiesViewRepository;
     _userCommunitiesRepository    = userCommunitiesRepository;
     _permissionRequestRepository  = permissionRequestRepository;
     _blobDataRepository           = blobDataRepository;
     _inviteRequestsViewRepository = inviteRequestsViewRepository;
     _inviteRequestRepository      = inviteRequestRepository;
     _userTypeRepository           = userTypeRepository;
 }
コード例 #12
0
        protected async Task <string> SelfTest(AppSettings appSettings, IUserRepository userRepository, IBlobDataRepository blobDataRepository)
        {
            _userRepository     = userRepository;
            _appSettings        = appSettings;
            _blobDataRepository = blobDataRepository;

            var sb = new StringBuilder();

            AddCaption(sb, "Self testing for the system.");
            AddHeader(sb, "Check Settings");

            if (TestSettings(sb))
            {
                AddHeader(sb, "Check DataBase connections");
                if (await TestDataBases(sb))
                {
                    AddSuccess(sb, "Self Testing successfully completed");
                }
            }

            return(sb.ToString());
        }
コード例 #13
0
ファイル: ExcelFileProcesser.cs プロジェクト: CDLUC3/dataup2
 /// <summary>
 /// Initializes a new instance of the <see cref="ExcelFileProcesser" /> class.
 /// </summary>
 /// <param name="blobDataRepository">Blob repository object.</param>
 public ExcelFileProcesser(IBlobDataRepository blobDataRepository,
                     IFileRepository fileDataRepository,
                     IRepositoryService repositoryService)
     : base(blobDataRepository, fileDataRepository, repositoryService)
 {
 }
コード例 #14
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;
 }
コード例 #15
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;
        }
コード例 #16
0
ファイル: BlobService.cs プロジェクト: faorg/wwt-website
 /// <summary>
 /// Initializes a new instance of the BlobService class.
 /// </summary>
 /// <param name="blobDataRepository">
 /// Instance of blob data repository.
 /// </param>
 public BlobService(IBlobDataRepository blobDataRepository)
 {
     this._blobDataRepository = blobDataRepository;
 }
コード例 #17
0
ファイル: FileProcessor.cs プロジェクト: CDLUC3/dataup2
 public FileProcessor(IBlobDataRepository blobDataRepository,
                     IFileRepository fileDataRepository,
                     IRepositoryService repositoryService)
 {
     this.blobDataRepository = blobDataRepository;
     this.fileDataRepository = fileDataRepository;
     this.repositoryService = repositoryService;
 }
コード例 #18
0
 public DefaultFileProcessor(IBlobDataRepository blobDataRepository,
                     IFileRepository fileDataRepository,
                     IRepositoryService repositoryService)
     : base(blobDataRepository, fileDataRepository, repositoryService)
 {
 }
コード例 #19
0
ファイル: ProfileService.cs プロジェクト: faorg/wwt-website
 /// <summary>
 /// Initializes a new instance of the ProfileService class.
 /// </summary>
 /// <param name="userRepository">Instance of user repository</param>
 /// <param name="contentsViewRepository">Instance of content repository</param>
 /// <param name="communitiesViewRepository">Instance of CommunitiesView repository</param>
 /// <param name="userCommunitiesRepository">Instance of UserCommunities repository</param>
 /// <param name="permissionRequestRepository">Instance of PermissionRequest repository</param>
 /// <param name="blobDataRepository">Instance of Blob data repository</param>
 /// <param name="inviteRequestsViewRepository">Instance of InviteRequestsView repository</param>
 /// <param name="inviteRequestRepository">Instance of InviteRequest repository</param>
 public ProfileService(
     IUserRepository userRepository,
     IContentsViewRepository contentsViewRepository,
     ICommunitiesViewRepository communitiesViewRepository,
     IUserCommunitiesRepository userCommunitiesRepository,
     IRepositoryBase<PermissionRequest> permissionRequestRepository,
     IBlobDataRepository blobDataRepository,
     IRepositoryBase<InviteRequestsView> inviteRequestsViewRepository,
     IRepositoryBase<InviteRequest> inviteRequestRepository,
     IRepositoryBase<UserType> userTypeRepository)
 {
     _userRepository = userRepository;
     _contentsViewRepository = contentsViewRepository;
     _communitiesViewRepository = communitiesViewRepository;
     _userCommunitiesRepository = userCommunitiesRepository;
     _permissionRequestRepository = permissionRequestRepository;
     _blobDataRepository = blobDataRepository;
     _inviteRequestsViewRepository = inviteRequestsViewRepository;
     _inviteRequestRepository = inviteRequestRepository;
     _userTypeRepository = userTypeRepository;
 }
コード例 #20
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());
 }
コード例 #21
0
        /// <summary>
        /// Reuturns the VerifyFileQueueService instance.
        /// </summary>
        /// <returns>VerifyFileQueueService instance.</returns>
        private VerifyFileQueueService GetVerifyFileQueueService()
        {
            this.fileService = new StubIFileService()
            {
                CheckIfFileExistsOnExternalRepositoryVerifyFileMessage = (message) =>
                    {
                        return OperationStatus.CreateSuccessStatus();
                    },
                GetFileByFileIdInt32 = (fileId) =>
                    {
                        this.file = new File() { FileId = 1 };
                        return file;
                    },
                UpdateFileFile = (file) =>
                    {
                        this.file = file;
                        return true;
                    },
            };

            this.fileServiceFactory = new StubIFileServiceFactory()
            {
                GetFileServiceString = (instanceName) =>
                {
                    return this.fileService;
                }

            };

            this.repositoryService = new StubIRepositoryService()
            {
                GetRepositoryByIdInt32 = (repositoryId) =>
                {
                    return new Repository() { BaseRepository = new BaseRepository() { Name = "SkyDrive", BaseRepositoryId = 2 }, RepositoryId = 1, Name = "test" };
                }
            };

            this.queueRepository = new StubIQueueRepository()
            {
                DeleteFromQueueBaseMessage = (message) =>
                {
                    this.deletedMessage = message;
                },
                UpdateMessageBaseMessage = (message) =>
                {
                    this.updatedQueueContent = true;
                }
            };

            this.blobRepository = new StubIBlobDataRepository()
            {
                DeleteFileString = (filename) =>
                    {
                        this.isDeletedFromBlob = true;
                        return this.isDeletedFromBlob;
                    }
            };

            VerifyFileQueueService queueService = new VerifyFileQueueService(this.fileServiceFactory, this.repositoryService, this.queueRepository, this.blobRepository);
            return queueService;
        }
コード例 #22
0
 /// <summary>
 /// Initializes a new instance of the BlobService class.
 /// </summary>
 /// <param name="blobDataRepository">
 /// Instance of blob data repository.
 /// </param>
 public BlobService(IBlobDataRepository blobDataRepository)
 {
     this._blobDataRepository = blobDataRepository;
 }
コード例 #23
0
ファイル: CommunityService.cs プロジェクト: faorg/wwt-website
        /// <summary>
        /// Initializes a new instance of the CommunityService class.
        /// </summary>
        /// <param name="communityRepository">Instance of Community repository</param>
        /// <param name="tagRepository">Instance of Tag repository</param>
        /// <param name="blobDataRepository">Instance of Blob data repository</param>
        /// /// <param name="userRepository">Instance of User repository</param>
        public CommunityService(
            ICommunityRepository communityRepository,
            IRepositoryBase<Tag> tagRepository,
            IBlobDataRepository blobDataRepository,
            IUserRepository userRepository,
            IUserCommunitiesRepository userCommunitiesRepository,
            IRepositoryBase<OffensiveCommunities> offensiveCommunitiesRepository,
            IRepositoryBase<OffensiveContent> offensiveContentRepository)
            : base(communityRepository, userRepository)
        {
            this._communityRepository = communityRepository;
            this._tagRepository = tagRepository;
            this._blobDataRepository = blobDataRepository;
            this._userRepository = userRepository;
            this._userCommunitiesRepository = userCommunitiesRepository;
            this._offensiveCommunitiesRepository = offensiveCommunitiesRepository;
            this._offensiveContentRepository = offensiveContentRepository;

            // TODO : Revisit this
            _contentService = DependencyResolver.Current.GetService(typeof(IContentService)) as IContentService;
        }
コード例 #24
0
        /// <summary>
        /// Reuturns the message Router instance.
        /// </summary>
        /// <param name="nullMessageHandler">Indicates if the handler has to be returned or not.</param>
        /// <returns>MessaeRouter instance.</returns>
        private MessageRouter GetMessageRouter(bool nullMessageHandler)
        {
            this.processedMessage = new List<BaseMessage>();
            this.fileServiceFactory = new StubIFileServiceFactory();
            this.repositoryService = new StubIRepositoryService();
            this.blobRepository = new StubIBlobDataRepository();
            IMessageHandler messageHandler = null;

            if (!nullMessageHandler)
            {
                messageHandler = new StubIMessageHandler()
                {
                    ProcessMessageBaseMessage = (message) =>
                        {
                            this.processedMessage.Add(message);
                        }
                };
            }

            this.messageHandlerFactory = new StubIMessageHandlerFactory
            {
                GetMessageHandlerMessageHandlerEnum = (handler) => {

                    return messageHandler;
                }
            };

            this.queueRepository = new StubIQueueRepository()
            {
                GetQueuedMessagesInt32Int32 = (noofmessages, visibilityTimeout) =>
                    {
                        return this.messages;
                    }
            };

            MessageRouter messageRouter = new MessageRouter(this.messageHandlerFactory, this.queueRepository);
            return messageRouter;
        }
コード例 #25
0
ファイル: EntityService.cs プロジェクト: faorg/wwt-website
 /// <summary>
 /// Initializes a new instance of the EntityService class.
 /// </summary>
 /// <param name="contentsViewRepository">Instance of ContentsView repository</param>
 /// <param name="allContentsViewRepository">Instance of AllContentsView repository</param>
 /// <param name="contentRepository">Instance of Content repository</param>
 /// <param name="communitiesViewRepository">Instance of CommunitiesView repository</param>
 /// <param name="allCommunitiesViewRepository">Instance of AllCommunitiesView repository</param>
 /// <param name="topCategoryEntities">Instance of TopCategoryEntities repository</param>
 /// <param name="blobDataRepository">Instance of blob data repository</param>
 /// <param name="communityRepository">Instance of Community repository</param>
 /// <param name="userRepository">Instance of User repository</param>
 /// <param name="featuredCommunitiesViewRepository">Instance of FeaturedCommunitiesView repository</param>
 /// <param name="featuredContentsViewRepository">Instance of FeaturedContentsView repository</param>
 /// <param name="communityTagsRepository">Instance of CommunityTags repository</param>
 /// <param name="contentTagsRepository">Instance of ContentTags repository</param>
 public EntityService(
         IContentsViewRepository contentsViewRepository,
         IRepositoryBase<AllContentsView> allContentsViewRepository,
         IContentRepository contentRepository,
         ICommunitiesViewRepository communitiesViewRepository,
         IRepositoryBase<AllCommunitiesView> allCommunitiesViewRepository,
         IRepositoryBase<TopCategoryEntities> topCategoryEntities,
         IBlobDataRepository blobDataRepository,
         ICommunityRepository communityRepository,
         IUserRepository userRepository,
         IRepositoryBase<FeaturedCommunitiesView> featuredCommunitiesViewRepository,
         IRepositoryBase<FeaturedContentsView> featuredContentsViewRepository,
         ICommunityTagsRepository communityTagsRepository,
         IContentTagsRepository contentTagsRepository)
 {
     _contentsViewRepository = contentsViewRepository;
     _allContentsViewRepository = allContentsViewRepository;
     _contentRepository = contentRepository;
     _communitiesViewRepository = communitiesViewRepository;
     _allCommunitiesViewRepository = allCommunitiesViewRepository;
     _topCategoryEntities = topCategoryEntities;
     _communityRepository = communityRepository;
     _userRepository = userRepository;
     _blobDataRepository = blobDataRepository;
     _featuredCommunitiesViewRepository = featuredCommunitiesViewRepository;
     _featuredContentsViewRepository = featuredContentsViewRepository;
     _communityTagsRepository = communityTagsRepository;
     _contentTagsRepository = contentTagsRepository;
 }