예제 #1
0
        /// <summary>
        /// Constructor used to instantiate the core services
        /// </summary>
        /// <param name="dbUnitOfWorkProvider"></param>
        /// <param name="fileUnitOfWorkProvider"></param>
        /// <param name="publishingStrategy"></param>
        /// <param name="cache"></param>
        internal ServiceContext(IDatabaseUnitOfWorkProvider dbUnitOfWorkProvider, IUnitOfWorkProvider fileUnitOfWorkProvider, BasePublishingStrategy publishingStrategy, CacheHelper cache)
        {
			BuildServiceCache(dbUnitOfWorkProvider, fileUnitOfWorkProvider, publishingStrategy, cache,
                              //this needs to be lazy because when we create the service context it's generally before the
                              //resolvers have been initialized!
                              new Lazy<RepositoryFactory>(() => RepositoryResolver.Current.Factory));
        }
예제 #2
0
        public MacroService(IUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, bool ensureCachedMacros)
        {
            _uowProvider = provider;
            _repositoryFactory = repositoryFactory;

            if(ensureCachedMacros)
                EnsureMacroCache();
        }
 /// <summary>
 /// Tries to get the <see cref="DbContext"/> in the current scope.
 /// </summary>
 public static DbContext TryGetDbContext(IUnitOfWorkProvider provider)
 {
     var uow = provider.GetCurrent() as EntityFrameworkUnitOfWork;
     if (uow == null)
     {
         throw new InvalidOperationException("The EntityFrameworkRepository must be used in a unit of work of type EntityFrameworkUnitOfWork!");
     }
     return uow.Context;
 }
 public UnitOfWorkManager(
     IIocManager iocManager,
     IUnitOfWorkProvider currentUnitOfWorkProvider,
     IUnitOfWorkDefaultOptions defaultOptions)
 {
     _iocManager = iocManager;
     _currentUnitOfWorkProvider = currentUnitOfWorkProvider;
     _defaultOptions = defaultOptions;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityFrameworkUnitOfWork"/> class.
        /// </summary>
        public EntityFrameworkUnitOfWork(IUnitOfWorkProvider provider, Func<DbContext> dbContextFactory, DbContextOptions options)
        {
            if (options == DbContextOptions.ReuseParentContext)
            {
                var parentUow = provider.GetCurrent() as EntityFrameworkUnitOfWork;
                if (parentUow != null)
                {
                    this.Context = parentUow.Context;
                    return;
                }
            }

            this.Context = dbContextFactory();
            hasOwnContext = true;
        }
예제 #6
0
        /// <summary>
        /// Builds the various services
        /// </summary>
        private void BuildServiceCache(
            IDatabaseUnitOfWorkProvider dbUnitOfWorkProvider,
            IUnitOfWorkProvider fileUnitOfWorkProvider,
            BasePublishingStrategy publishingStrategy,
            Lazy<RepositoryFactory> repositoryFactory)
        {
            var provider = dbUnitOfWorkProvider;
            var fileProvider = fileUnitOfWorkProvider;

            if (_serverRegistrationService == null)
                _serverRegistrationService = new Lazy<ServerRegistrationService>(() => new ServerRegistrationService(provider, repositoryFactory.Value));

            if (_userService == null)
                _userService = new Lazy<IUserService>(() => new UserService(provider, repositoryFactory.Value));

            if (_memberService == null)
                _memberService = new Lazy<IMemberService>(() => new MemberService(provider, repositoryFactory.Value));

            if (_contentService == null)
                _contentService = new Lazy<IContentService>(() => new ContentService(provider, repositoryFactory.Value, publishingStrategy));

            if (_mediaService == null)
                _mediaService = new Lazy<IMediaService>(() => new MediaService(provider, repositoryFactory.Value));

            if (_contentTypeService == null)
                _contentTypeService = new Lazy<IContentTypeService>(() => new ContentTypeService(provider, repositoryFactory.Value, _contentService.Value, _mediaService.Value));

            if (_dataTypeService == null)
                _dataTypeService = new Lazy<IDataTypeService>(() => new DataTypeService(provider, repositoryFactory.Value));

            if (_fileService == null)
                _fileService = new Lazy<IFileService>(() => new FileService(fileProvider, provider, repositoryFactory.Value));

            if (_localizationService == null)
                _localizationService = new Lazy<ILocalizationService>(() => new LocalizationService(provider, repositoryFactory.Value));

            if (_packagingService == null)
                _packagingService = new Lazy<PackagingService>(() => new PackagingService(_contentService.Value, _contentTypeService.Value, _mediaService.Value, _dataTypeService.Value, _fileService.Value, _localizationService.Value, repositoryFactory.Value, provider));

            if (_entityService == null)
                _entityService = new Lazy<IEntityService>(() => new EntityService(provider, repositoryFactory.Value, _contentService.Value, _contentTypeService.Value, _mediaService.Value, _dataTypeService.Value));

            if (_relationService == null)
                _relationService = new Lazy<RelationService>(() => new RelationService(provider, repositoryFactory.Value, _entityService.Value));

            if (_memberTypeService == null)
                _memberTypeService = new Lazy<IMemberTypeService>(() => new MemberTypeService(provider, repositoryFactory.Value));
        }
예제 #7
0
        /// <summary>
        /// Builds the various services
        /// </summary>
		private void BuildServiceCache(
			IDatabaseUnitOfWorkProvider dbUnitOfWorkProvider, 
			IUnitOfWorkProvider fileUnitOfWorkProvider, 
			IPublishingStrategy publishingStrategy, 
			Lazy<RepositoryFactory> repositoryFactory)
        {
            var provider = dbUnitOfWorkProvider;
            var fileProvider = fileUnitOfWorkProvider;

			if (_userService == null)
				_userService = new Lazy<UserService>(() => new UserService(provider, repositoryFactory.Value));

            if (_contentService == null)
				_contentService = new Lazy<ContentService>(() => new ContentService(provider, repositoryFactory.Value, publishingStrategy));

            if(_mediaService == null)
                _mediaService = new Lazy<MediaService>(() => new MediaService(provider, repositoryFactory.Value));

            if(_macroService == null)
				_macroService = new Lazy<MacroService>(() => new MacroService(fileProvider, repositoryFactory.Value));

            if(_contentTypeService == null)
				_contentTypeService = new Lazy<ContentTypeService>(() => new ContentTypeService(provider, repositoryFactory.Value, _contentService.Value, _mediaService.Value));

            if(_dataTypeService == null)
				_dataTypeService = new Lazy<DataTypeService>(() => new DataTypeService(provider, repositoryFactory.Value));

            if(_fileService == null)
				_fileService = new Lazy<FileService>(() => new FileService(fileProvider, provider, repositoryFactory.Value));

            if(_localizationService == null)
				_localizationService = new Lazy<LocalizationService>(() => new LocalizationService(provider, repositoryFactory.Value));

            if(_packagingService == null)
                _packagingService = new Lazy<PackagingService>(() => new PackagingService(_contentService.Value, _contentTypeService.Value, _mediaService.Value, _dataTypeService.Value, _fileService.Value, repositoryFactory.Value, provider));
        }
예제 #8
0
 public DnsResolver(IDnsEntriesRepository dnsEntriesRepository, IUnitOfWorkProvider unitOfWorkProvider, IForwardingServersRepository forwardingServersRepository)
 {
     this.dnsEntriesRepository = dnsEntriesRepository;
     this.unitOfWorkProvider = unitOfWorkProvider;
     this.forwardingServersRepository = forwardingServersRepository;
 }
 public ForwardingServersController(IUnitOfWorkProvider unitOfWorkProvider, IForwardingServersRepository forwardingServersRepository)
 {
     this.unitOfWorkProvider = unitOfWorkProvider;
     this.forwardingServersRepository = forwardingServersRepository;
 }
예제 #10
0
 public ReviewService(IUnitOfWorkProvider uowProvider, IReviewRepositoryFactory repositoryFactory)
 {
     _uowProvider       = uowProvider;
     _repositoryFactory = repositoryFactory;
 }
예제 #11
0
 public OrderProductsQuery(IUnitOfWorkProvider unitOfWorkProvider) : base(unitOfWorkProvider)
 {
 }
예제 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OrganizationRepository" /> class.
 /// </summary>
 /// <param name="unitOfWorkProvider">The unit of work provider.</param>
 /// <param name="connectionFactory">The connection factory.</param>
 public OrganizationRepository(IUnitOfWorkProvider unitOfWorkProvider, IDbConnectionFactory connectionFactory)
     : base(unitOfWorkProvider)
 {
     _connectionFactory = connectionFactory;
 }
 public EmployeeFacade(IUnitOfWorkProvider unitOfWorkProvider, EmployeeService employeeService) : base(unitOfWorkProvider)
 {
     _employeeService = employeeService;
 }
 public SignInFacade(IUnitOfWorkProvider unitOfWorkProvider, IUserService userService)
 {
     this.unitOfWorkProvider = unitOfWorkProvider;
     this.userService = userService;
 }
예제 #15
0
 public SongRepository(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #16
0
 public CategoryListQuery(IUnitOfWorkProvider unitOfWorkProvider) : base(unitOfWorkProvider)
 {
 }
 public EntityFrameworkRepository(IUnitOfWorkProvider provider)
 {
     this.provider = provider;
 }
예제 #18
0
 public DnsEntriesController(IUnitOfWorkProvider unitOfWorkProvider, IDnsEntriesRepository dnsEntriesRepository)
 {
     this.unitOfWorkProvider = unitOfWorkProvider;
     this.dnsEntriesRepository = dnsEntriesRepository;
 }
예제 #19
0
 public OfferFacade(IUnitOfWorkProvider unitOfWorkProvider, IOfferService offerService) : base(unitOfWorkProvider)
 {
     this.offerService = offerService;
 }
예제 #20
0
 public RegionListQuery(IUnitOfWorkProvider unitOfWorkProvider) : base(unitOfWorkProvider)
 {
 }
예제 #21
0
 public MacroService(IUnitOfWorkProvider provider)
     : this(provider, new RepositoryFactory())
 {
 }
예제 #22
0
 public VerifyCredetialQuery(IUnitOfWorkProvider unitOfWorkProvider) : base(unitOfWorkProvider)
 {
 }
 public EntityFrameworkRepository(IUnitOfWorkProvider unitOfWorkProvider, IDateTimeProvider dateTimeProvider) : base(unitOfWorkProvider, dateTimeProvider)
 {
 }
예제 #24
0
 public MessagingFacade(IUnitOfWorkProvider unitOfWorkProvider, ICharacterService characterService, IChatService chatService, IMessageService messageService) : base(unitOfWorkProvider)
 {
     _characterService = characterService;
     _chatService      = chatService;
     _messageService   = messageService;
 }
예제 #25
0
 public PlayerListQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #26
0
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="provider"></param>
 internal BalancesGroupedByDayQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #27
0
 public AllRentalItemsQuery(IUnitOfWorkProvider unitOfWorkProvider) : base(unitOfWorkProvider)
 {
 }
예제 #28
0
 public UserAccountRepository(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #29
0
 public AvailableRentalItems(IUnitOfWorkProvider unitOfWorkProvider, DateTime OrderSince, DateTime OrderTill) : base(unitOfWorkProvider)
 {
     this.OrderSince = OrderSince;
     this.OrderTill  = OrderTill;
 }
예제 #30
0
 public CategoryController(IUnitOfWorkProvider unitOfWorkProvider, ICategoryService categoryService)
 {
     _unitOfWorkProvider = unitOfWorkProvider;
     _categoryService    = categoryService;
 }
예제 #31
0
 protected FacadeBase(IUnitOfWorkProvider unitOfWorkProvider)
 {
     UnitOfWorkProvider = unitOfWorkProvider;
 }
예제 #32
0
 public UnitOfWorkManager(IUnitOfWorkProvider unitOfWorkProvider)
 {
     _unitOfWorkProvider = unitOfWorkProvider;
 }
예제 #33
0
 public TagsQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #34
0
 protected QueryBase(IUnitOfWorkProvider uowProvider)
 {
     Provider = uowProvider;
 }
예제 #35
0
 public PetaPocoQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #36
0
 public LocationFacade(IUnitOfWorkProvider unitOfWorkProvider, ILocationService locationService) : base(unitOfWorkProvider)
 {
     _locationService = locationService;
 }
예제 #37
0
		public FileService(IUnitOfWorkProvider fileProvider, IDatabaseUnitOfWorkProvider dataProvider, RepositoryFactory repositoryFactory)
        {
			_repositoryFactory = repositoryFactory;
		    _fileUowProvider = fileProvider;
		    _dataUowProvider = dataProvider;
        }
예제 #38
0
		public MacroService(IUnitOfWorkProvider provider, RepositoryFactory repositoryFactory) : this(provider, repositoryFactory, false)
        {
        }
 public SonglistListQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
예제 #40
0
 public CategoryService(IUnitOfWorkProvider unitOfWorkProvider)
 {
     _unitOfWorkProvider = unitOfWorkProvider ?? throw new ArgumentNullException(nameof(unitOfWorkProvider));
 }
 /// <summary>
 /// Tries to get the <see cref="DbContext"/> in the current scope.
 /// </summary>
 public static DbContext TryGetDbContext(IUnitOfWorkProvider unitOfWorkProvider)
 {
     return(TryGetDbContext <DbContext>(unitOfWorkProvider));
 }
예제 #42
0
 public PersonListQuery(IUnitOfWorkProvider provider) : base(provider)
 {
 }
 public GetPolicyDetailsHandler(IUnitOfWorkProvider uowProvider)
 {
     this.uowProvider = uowProvider;
 }
예제 #44
0
 public SqlSubscriptionManager(IScriptConfiguration scriptConfiguration, IUnitOfWorkProvider unitOfWorkProvider)
 {
     this.scriptConfiguration = scriptConfiguration;
     this.connectionStringSettingsProvider = connectionStringSettingsProvider;
 }
예제 #45
0
 /// <summary>Initializes a new instance of the <see cref="RoleRepository" /> class.</summary>
 /// <param name="unitOfWorkProvider">The unit of work provider.</param>
 /// <param name="dbConnectionFactory">The database connection factory.</param>
 public RoleRepository(IUnitOfWorkProvider unitOfWorkProvider, IDbConnectionFactory dbConnectionFactory)
     : base(unitOfWorkProvider)
 {
     _dbConnectionFactory = dbConnectionFactory;
 }
예제 #46
0
 public ApplicationUnitOfWork(IUnitOfWorkProvider provider, Func<DbContext> dbContextFactory, DbContextOptions options) : base(provider, dbContextFactory, options)
 {
 }
 public EntityFrameworkUnitOfWork(IUnitOfWorkProvider unitOfWorkProvider, Func <DbContext> dbContextFactory, DbContextOptions options)
     : base(unitOfWorkProvider, dbContextFactory, options)
 {
 }