public EntityFrameworkCoreRepository( ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IGenericServiceFactory genericServiceFactory, IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory) { if (contextResolver == null) { throw new ArgumentNullException(nameof(contextResolver)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _targetedFields = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields)); _resourceGraph = resourceGraph ?? throw new ArgumentNullException(nameof(resourceGraph)); _genericServiceFactory = genericServiceFactory ?? throw new ArgumentNullException(nameof(genericServiceFactory)); _resourceFactory = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory)); _constraintProviders = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders)); _dbContext = contextResolver.GetContext(); _traceWriter = new TraceLogWriter <EntityFrameworkCoreRepository <TResource, TId> >(loggerFactory); }
/// <inheritdoc /> public void Resolve() { if (EntityFrameworkCoreIsEnabled()) { DbContext context = _resolver.GetContext(); foreach (ContextEntity ce in _graph.Entities) { IEntityType meta = context.Model.FindEntityType(ce.EntityType); if (meta == null) { continue; } foreach (var attr in ce.Relationships) { if (attr is HasManyThroughAttribute) { continue; } INavigation inverseNavigation = meta.FindNavigation(attr.InternalRelationshipName)?.FindInverse(); attr.InverseNavigation = inverseNavigation?.Name; } } } }
/// <inheritdoc /> public void Resolve() { if (EntityFrameworkCoreIsEnabled()) { DbContext context = _resolver.GetContext(); foreach (ResourceContext ce in _provider.GetResourceContexts()) { IEntityType meta = context.Model.FindEntityType(ce.ResourceType); if (meta == null) { continue; } foreach (var attr in ce.Relationships) { if (attr is HasManyThroughAttribute) { continue; } INavigation inverseNavigation = meta.FindNavigation(attr.PropertyInfo.Name)?.FindInverse(); attr.InverseNavigation = inverseNavigation?.Name; } } } }
public OperationsProcessor( IOperationProcessorResolver processorResolver, IDbContextResolver dbContextResolver) { _processorResolver = processorResolver; _dbContext = dbContextResolver.GetContext(); }
public ControllerRepository( ILoggerFactory loggerFactory, IJsonApiContext jsonApiContext, IDbContextResolver contextResolver ) : base(loggerFactory, jsonApiContext, contextResolver) { this.dbContext = contextResolver.GetContext(); this.dbSet = contextResolver.GetDbSet <TEntity>(); }
public OperationsProcessor( IOperationProcessorResolver processorResolver, IDbContextResolver dbContextResolver, IJsonApiContext jsonApiContext) { _processorResolver = processorResolver; _dbContext = dbContextResolver.GetContext(); _jsonApiContext = jsonApiContext; }
public RepositoryRelationshipUpdateHelper(IDbContextResolver contextResolver, IResourceFactory resourceFactory) { if (contextResolver == null) { throw new ArgumentNullException(nameof(contextResolver)); } _resourceFactory = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory)); _context = contextResolver.GetContext(); }
// NOTE: this repository MUST not rely on any other repositories or services public CurrentUserRepository( ILoggerFactory loggerFactory, IJsonApiContext jsonApiContext, IDbContextResolver contextResolver, ICurrentUserContext currentUserContext ) : base(loggerFactory, jsonApiContext, contextResolver) { this.DBContext = (AppDbContext)contextResolver.GetContext(); this.CurrentUserContext = currentUserContext; }
public override async Task <IActionResult> PatchAsync(Guid id, [FromBody] TodoItemCollection entity) { if (entity.Name == "PRE-ATTACH-TEST") { var targetTodoId = entity.TodoItems.First().Id; var todoItemContext = _dbResolver.GetContext().Set <TodoItem>(); await todoItemContext.Where(ti => ti.Id == targetTodoId).FirstOrDefaultAsync(); } return(await base.PatchAsync(id, entity)); }
/// <inheritdoc /> public async Task <IOperationsTransaction> BeginTransactionAsync(CancellationToken cancellationToken) { DbContext dbContext = _dbContextResolver.GetContext(); IDbContextTransaction transaction = _options.TransactionIsolationLevel != null ? await dbContext.Database.BeginTransactionAsync(_options.TransactionIsolationLevel.Value, cancellationToken) : await dbContext.Database.BeginTransactionAsync(cancellationToken); return(new EntityFrameworkCoreTransaction(transaction, dbContext)); }
public BaseRepository(ILoggerFactory loggerFactory, IJsonApiContext jsonApiContext, CurrentUserRepository currentUserRepository, IDbContextResolver contextResolver) : base(loggerFactory, jsonApiContext, contextResolver) { this.dbContext = contextResolver.GetContext(); this.dbSet = contextResolver.GetDbSet <TEntity>(); this.currentUserRepository = currentUserRepository; }
public BelongsToUserRepository( ILoggerFactory loggerFactory, IJsonApiContext jsonApiContext, IDbContextResolver contextResolver, CurrentUserService currentUser ) : base(loggerFactory, jsonApiContext, contextResolver) { _currentUser = currentUser; _db = (AppDbContext)contextResolver.GetContext(); }
public WorkflowValidationService( IServiceProvider serviceProvider, IDbContextResolver contextResolver, IJobRepository <ProductWorkflowScheme, Guid> productWorkflowSchemeRepository ) { ServiceProvider = serviceProvider; ProductWorkflowSchemeRepository = productWorkflowSchemeRepository; this.dbContext = contextResolver.GetContext(); this.dbSet = contextResolver.GetDbSet <WorkflowScheme>(); }
public override async Task <IActionResult> PatchAsync(Guid id, [FromBody] TodoItemCollection resource, CancellationToken cancellationToken) { if (resource.Name == "PRE-ATTACH-TEST") { var targetTodoId = resource.TodoItems.First().Id; var todoItemContext = _dbResolver.GetContext().Set <TodoItem>(); await todoItemContext.Where(ti => ti.Id == targetTodoId).FirstOrDefaultAsync(cancellationToken); } return(await base.PatchAsync(id, resource, cancellationToken)); }
public DefaultResourceRepository( ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IGenericServiceFactory genericServiceFactory, ILoggerFactory loggerFactory = null) { _targetedFields = targetedFields; _resourceGraph = resourceGraph; _genericServiceFactory = genericServiceFactory; _context = contextResolver.GetContext(); _dbSet = _context.Set <TResource>(); }
public NotificationService( IDbContextResolver contextResolver, IJsonApiContext jsonApiContext, IEntityRepository <Notification> entityRepository, ICurrentUserContext currentUserContext, UserRepository userRepository, ILoggerFactory loggerFactory = null) : base(jsonApiContext, entityRepository, loggerFactory) { this.notificationsRepository = entityRepository; this.currentUserContext = currentUserContext; this.userRepository = userRepository; this.dbContext = contextResolver.GetContext(); this.dbSet = contextResolver.GetDbSet <Notification>(); }
public DefaultResourceRepository( ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IGenericServiceFactory genericServiceFactory, ILoggerFactory loggerFactory) { _targetedFields = targetedFields; _resourceGraph = resourceGraph; _genericServiceFactory = genericServiceFactory; _context = contextResolver.GetContext(); _dbSet = _context.Set <TResource>(); _logger = loggerFactory.CreateLogger <DefaultResourceRepository <TResource, TId> >(); _logger.LogTrace("Executing constructor."); }
public EntityFrameworkCoreRepository( ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IGenericServiceFactory genericServiceFactory, IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory) { _targetedFields = targetedFields; _resourceGraph = resourceGraph; _genericServiceFactory = genericServiceFactory; _resourceFactory = resourceFactory; _constraintProviders = constraintProviders; _dbContext = contextResolver.GetContext(); _logger = loggerFactory.CreateLogger <EntityFrameworkCoreRepository <TResource, TId> >(); }
public EntityFrameworkCoreRepository(ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory) { ArgumentGuard.NotNull(contextResolver, nameof(contextResolver)); ArgumentGuard.NotNull(loggerFactory, nameof(loggerFactory)); ArgumentGuard.NotNull(targetedFields, nameof(targetedFields)); ArgumentGuard.NotNull(resourceGraph, nameof(resourceGraph)); ArgumentGuard.NotNull(resourceFactory, nameof(resourceFactory)); ArgumentGuard.NotNull(constraintProviders, nameof(constraintProviders)); _targetedFields = targetedFields; _resourceGraph = resourceGraph; _resourceFactory = resourceFactory; _constraintProviders = constraintProviders; _dbContext = contextResolver.GetContext(); _traceWriter = new TraceLogWriter <EntityFrameworkCoreRepository <TResource, TId> >(loggerFactory); }
public async Task <IActionResult> PostAsync([FromBody] JObject entity) { try { PatientNumbers patientNumbers = entity.ToObject <PatientNumbers>(); int patientID = patientNumbers.PatientID; var dbContext = _dbContextResolver.GetDbSet <PhoneNumbers>(); if (patientNumbers.PhoneNumbers != null && patientNumbers.PhoneNumbers.Count > 0) { //int patientID = phoneNumbers.FirstOrDefault().PatientID_fk; var phoneNumber = dbContext.Where(m => m.PatientID == patientID).ToList(); dbContext.RemoveRange(phoneNumber); foreach (PhoneNumbers phone in patientNumbers.PhoneNumbers) { await base.PostAsync(phone); } Response.StatusCode = 200;//(Status Ok) return(Json(new { data = new object(), Message = "Success", StatusCode = 200 })); } else { var phoneNumber = dbContext.Where(m => m.PatientID == patientID).ToList(); dbContext.RemoveRange(phoneNumber); await _dbContextResolver.GetContext().SaveChangesAsync(); Response.StatusCode = 200;//(Status Ok) return(Json(new { data = new object(), Message = "Success", StatusCode = 200 })); } } catch (Exception) { throw; } }
public async Task <IActionResult> PostAsync([FromBody] JObject entity) { try { PatientLabels patientLabels = entity.ToObject <PatientLabels>(); int patientID = patientLabels.PatientID; var dbContext = _dbContextResolver.GetDbSet <PatientCustomLabels>(); if (patientLabels.PatientCustomLabels != null && patientLabels.PatientCustomLabels.Count > 0) { var patientLabel = dbContext.Where(m => m.PatientID == patientID).ToList(); dbContext.RemoveRange(patientLabel); CommonMethods commonMethods = new CommonMethods(); foreach (PatientCustomLabels patientCustomLabel in patientLabels.PatientCustomLabels) { patientCustomLabel.CustomLabelDataType = commonMethods.ParseString(patientCustomLabel.CustomLabelValue).ToString(); await base.PostAsync(patientCustomLabel); } Response.StatusCode = 200;//(Status Ok) return(Json(new { data = patientLabels, Message = "Success", StatusCode = 200 })); } else { var patientLabel = dbContext.Where(m => m.PatientID == patientID).ToList(); dbContext.RemoveRange(patientLabel); await _dbContextResolver.GetContext().SaveChangesAsync(); Response.StatusCode = 200;//(Status Ok) return(Json(new { data = new object(), Message = "Success", StatusCode = 200 })); } } catch (Exception) { throw; } }
public EntityFrameworkCoreRepository(ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph, IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory) { ArgumentGuard.NotNull(contextResolver, nameof(contextResolver)); ArgumentGuard.NotNull(loggerFactory, nameof(loggerFactory)); ArgumentGuard.NotNull(targetedFields, nameof(targetedFields)); ArgumentGuard.NotNull(resourceGraph, nameof(resourceGraph)); ArgumentGuard.NotNull(resourceFactory, nameof(resourceFactory)); ArgumentGuard.NotNull(constraintProviders, nameof(constraintProviders)); _targetedFields = targetedFields; _resourceGraph = resourceGraph; _resourceFactory = resourceFactory; _constraintProviders = constraintProviders; _dbContext = contextResolver.GetContext(); _traceWriter = new TraceLogWriter <EntityFrameworkCoreRepository <TResource, TId> >(loggerFactory); #pragma warning disable 612 // Method is obsolete _resourceDefinitionAccessor = resourceFactory.GetResourceDefinitionAccessor(); #pragma warning restore 612 }
public GenericProcessor(IDbContextResolver contextResolver) { _context = contextResolver.GetContext(); }
public RepositoryRelationshipUpdateHelper(IDbContextResolver contextResolver, IResourceFactory resourceFactory) { _resourceFactory = resourceFactory; _context = contextResolver.GetContext(); }
public JobRepository(IDbContextResolver contextResolver) { this.dbContext = contextResolver.GetContext(); this.dbSet = contextResolver.GetDbSet <TEntity>(); }
public RepositoryRelationshipUpdateHelper(IDbContextResolver contextResolver) { _context = contextResolver.GetContext(); }