/// <summary> /// Initializes a new instance of the <see cref="EntityValidator{TEntity, TKey}"/> class. /// </summary> /// <param name="identifier">The identifier.</param> /// <param name="funcOnCreateValidation">The function on create validation.</param> /// <param name="funcOnUpdateValidation">The function on update validation.</param> /// <param name="funcOnDeleteValidation">The function on delete validation.</param> /// <param name="logger">The logger.</param> /// <param name="settings">The settings.</param> /// <exception cref="ArgumentNullException"> /// funcOnCreateValidation /// or /// funcOnUpdateValidation /// or /// funcOnDeleteValidation /// or /// logger /// or /// settings /// </exception> public EntityValidator([NotNull] IIdentifier identifier , [NotNull] Func <TEntity, EntityValidationContext, Task <ValidationResult> > funcOnCreateValidation , [NotNull] Func <TEntity, EntityValidationContext, Task <ValidationResult> > funcOnUpdateValidation , [NotNull] Func <TEntity, EntityValidationContext, Task <ValidationResult> > funcOnDeleteValidation , [NotNull] ILogger logger , [NotNull] TransientCrudSettings settings ) { _funcOnCreateValidation = funcOnCreateValidation ?? throw new ArgumentNullException(nameof(funcOnCreateValidation)); _funcOnUpdateValidation = funcOnUpdateValidation ?? throw new ArgumentNullException(nameof(funcOnUpdateValidation)); _funcOnDeleteValidation = funcOnDeleteValidation ?? throw new ArgumentNullException(nameof(funcOnDeleteValidation)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _crudSettings = settings ?? throw new ArgumentNullException(nameof(settings)); CoreIdentifier = identifier; ValidationContext = new EntityValidationContext(identifier); }
/// <summary> /// Init new CRUD Service for Insert/Update/Delete /// </summary> /// <param name="coreIdentifier">Cross Scope Identifier</param> /// <param name="logger">Logger</param> /// <param name="ctx">Entity Framework DbContext</param> /// <param name="settings">CRUD settings</param> protected CrudServiceBase([NotNull] IIdentifier coreIdentifier , [NotNull] ILogger <CrudServiceBase <TContext, TEntity, TDto, TNewDto, TEditDto, TKey> > logger , [NotNull] TContext ctx , [NotNull] TransientCrudSettings settings /*, [NotNull] string tenantId*/) : base(coreIdentifier, logger, ctx, settings /*, tenantId*/) { _logger = logger; }
/// <summary> /// Init new instance of Service for CRUD Entity /// </summary> /// <param name="coreIdentifier">Cross-Scope Identifier</param> /// <param name="logger">Logger</param> /// <param name="ctx">Entity Framework Db Context</param> /// <param name="settings">CRUD Settings</param> protected CrudServiceBaseInfrastructure([NotNull] IIdentifier coreIdentifier , [NotNull] ILogger <CrudServiceBaseInfrastructure <TContext, TEntity, TDto, TNewDto, TEditDto, TKey> > logger , [NotNull] TContext ctx , [NotNull] TransientCrudSettings settings /*, [NotNull] string tenantId*/) : base(coreIdentifier, logger, ctx, settings /*,tenantId*/) { var dt = Activator.CreateInstance <TDto>(); DtoTypeName = dt?.GetType()?.Name; }
/// <summary> /// Init new CRUD Service for Insert/Update/Delete /// </summary> /// <param name="coreIdentifier">Cross Scope Identifier</param> /// <param name="logger">Logger</param> /// <param name="ctx">Entity Framework DbContext</param> /// <param name="settings">CRUD settings</param> public DataService([NotNull] IIdentifier coreIdentifier, [NotNull] ILogger <CrudServiceBase <MyContext, TestData, TestDataDto, NewTestDataDto, EditTestDataDto, Guid> > logger, [NotNull] MyContext ctx, [NotNull] TransientCrudSettings settings) : base(coreIdentifier, logger, ctx, settings) { }