/// <summary>
 /// Initializes a new instance of the <see cref="ObjectRepositoryLoader"/> class.
 /// </summary>
 /// <param name="dataAccessorProvider">The data accessor provider.</param>
 /// <param name="repositoryProvider">The repository provider.</param>
 /// <param name="repositorySerializerFactory">The <see cref="IObjectRepositorySerializer"/> factory.</param>
 public ObjectRepositoryLoader(IModelDataAccessorProvider dataAccessorProvider, IRepositoryProvider repositoryProvider,
                               ObjectRepositorySerializerFactory repositorySerializerFactory)
 {
     _dataAccessorProvider        = dataAccessorProvider ?? throw new ArgumentNullException(nameof(dataAccessorProvider));
     _repositoryProvider          = repositoryProvider ?? throw new ArgumentNullException(nameof(repositoryProvider));
     _repositorySerializerFactory = repositorySerializerFactory ?? throw new ArgumentNullException(nameof(repositorySerializerFactory));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ObjectRepositoryLoader"/> class.
        /// </summary>
        /// <param name="serviceProvider">The service provider.</param>
        public ObjectRepositoryLoader(IServiceProvider serviceProvider)
        {
            _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));

            _dataAccessorProvider = _serviceProvider.GetRequiredService <IModelDataAccessorProvider>();
            _repositoryProvider   = _serviceProvider.GetRequiredService <IRepositoryProvider>();
        }
示例#3
0
        public ComputeTreeChanges(IObjectRepositoryContainer container, RepositoryDescription repositoryDescription,
                                  IModelDataAccessorProvider modelDataProvider, IObjectRepositoryLoader objectRepositoryLoader,
                                  IRepositoryProvider repositoryProvider, ILogger <ComputeTreeChanges> logger)
        {
            _container             = container ?? throw new ArgumentNullException(nameof(container));
            _repositoryDescription = repositoryDescription ?? throw new ArgumentNullException(nameof(repositoryDescription));

            _modelDataProvider      = modelDataProvider ?? throw new ArgumentNullException(nameof(modelDataProvider));
            _objectRepositoryLoader = objectRepositoryLoader ?? throw new ArgumentNullException(nameof(objectRepositoryLoader));
            _repositoryProvider     = repositoryProvider ?? throw new ArgumentNullException(nameof(repositoryProvider));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
        }
示例#4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ComputeTreeChanges"/> class.
        /// </summary>
        /// <param name="serviceProvider">The service provider.</param>
        /// <param name="repositoryDescription">The repository description.</param>
        /// <exception cref="ArgumentNullException">serviceProvider</exception>
        public ComputeTreeChanges(IServiceProvider serviceProvider, RepositoryDescription repositoryDescription)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            _modelDataProvider = serviceProvider.GetRequiredService<IModelDataAccessorProvider>();
            _objectRepositoryLoader = serviceProvider.GetRequiredService<IObjectRepositoryLoader>();
            _repositoryProvider = serviceProvider.GetRequiredService<IRepositoryProvider>();

            _repositoryDescription = repositoryDescription ?? throw new ArgumentNullException(nameof(repositoryDescription));
        }
示例#5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MetadataTreeMerge"/> class.
        /// </summary>
        /// <param name="serviceProvider">The service provider.</param>
        /// <param name="repositoryDescription">The repository description.</param>
        /// <param name="repository">The repository on which to apply the merge.</param>
        /// <param name="branchName">Name of the branch.</param>
        /// <exception cref="ArgumentNullException">
        /// serviceProvider
        /// or
        /// repositoryDescription
        /// or
        /// commitId
        /// or
        /// branchName
        /// or
        /// merger
        /// </exception>
        public MetadataTreeMerge(IServiceProvider serviceProvider, RepositoryDescription repositoryDescription, IObjectRepository repository, string branchName)
        {
            _serviceProvider       = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
            _repositoryDescription = repositoryDescription ?? throw new ArgumentNullException(nameof(repositoryDescription));
            Repository             = repository ?? throw new ArgumentNullException(nameof(repository));
            CommitId   = repository.CommitId ?? throw new NotSupportedException("Repository has no commit.");
            BranchName = branchName ?? throw new ArgumentNullException(nameof(branchName));

            _repositoryProvider         = serviceProvider.GetRequiredService <IRepositoryProvider>();
            _modelDataProvider          = serviceProvider.GetRequiredService <IModelDataAccessorProvider>();
            _migrationScaffolderFactory = serviceProvider.GetRequiredService <Func <RepositoryDescription, MigrationScaffolder> >();

            Initialize();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ModelObjectSpecialValueProvider"/> class.
 /// </summary>
 /// <param name="serviceProvider">The service provider.</param>
 /// <param name="modelDataAccessorProvider">The model data accessor provider.</param>
 public ModelObjectSpecialValueProvider(IServiceProvider serviceProvider, IModelDataAccessorProvider modelDataAccessorProvider)
 {
     _serviceProvider      = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
     _dataAccessorProvider = modelDataAccessorProvider ?? throw new ArgumentNullException(nameof(modelDataAccessorProvider));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CachedModelDataAccessorProvider"/> class.
 /// </summary>
 /// <param name="inner">The inner.</param>
 public CachedModelDataAccessorProvider(IModelDataAccessorProvider inner) =>
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Validator"/> class.
 /// </summary>
 /// <param name="modelDataAccessor">The model data accessor.</param>
 /// <param name="propertyValidators">The property validators.</param>
 public Validator(IModelDataAccessorProvider modelDataAccessor, IEnumerable <IPropertyValidator> propertyValidators)
 {
     _modelDataAccessorProvider = modelDataAccessor ?? throw new ArgumentNullException(nameof(modelDataAccessor));
     _propertyValidators        = propertyValidators ?? throw new ArgumentNullException(nameof(propertyValidators));
 }