/// <summary> /// Method that will be called on an entity immediately after the item is saved by context /// </summary> /// <param name="dbContext">The database context.</param> public virtual void PostSaveChanges(Rock.Data.DbContext dbContext) { if (HistoryItems?.Any() == true) { new SaveHistoryTransaction(HistoryItems).Enqueue(); } }
/// <summary> /// Method that will be called on an entity immediately after the item is saved by context /// </summary> /// <param name="dbContext">The database context.</param> public virtual void PostSaveChanges(Rock.Data.DbContext dbContext) { if (HistoryItems?.Any() == true) { if (HistoryItems.Any()) { Task.Run(async() => { // Wait 1 second to allow all post save actions to complete await Task.Delay(1000); try { using (var rockContext = new RockContext()) { rockContext.BulkInsert(HistoryItems); } } catch (SystemException ex) { ExceptionLogService.LogException(ex, null); } }); } } }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { RegistrationTemplateFormFieldCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { CampusCache.UpdateCachedEntity(this.Id, entityState); }
/// <summary> /// Initializes a new instance of the <see cref="Service{T}"/> class. /// </summary> /// <param name="dbContext">The db context.</param> public Service(Rock.Data.DbContext dbContext) { _context = dbContext; _objectSet = _context.Set <T>(); RelatedEntities = new RelatedEntityHelper <T>(this); }
/// <summary> /// QueryHintScope allows a developer to specify a SQL Server Query Hint to apply to all queries executed within the scope. /// NOTE: Make sure to use a USING { } pattern to prevent the query hint from getting added to other queries that fire off later /// </summary> /// <param name="context">The context.</param> /// <param name="hint">The hint.</param> public QueryHintScope(Rock.Data.DbContext context, string hint) { _hintInterceptor = new QueryHintDbCommandInterceptor(context, hint); DbInterception.Add(_hintInterceptor); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { WorkflowFormBuilderTemplateCache.UpdateCachedEntity(this.Id, entityState); }
/// <summary> /// Method that will be called on an entity immediately before the item is saved by context /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="entry">The entry.</param> /// <param name="state">The state.</param> public virtual void PreSaveChanges(Rock.Data.DbContext dbContext, DbEntityEntry entry, EntityState state) { PreSaveChanges(dbContext, entry); }
/// <summary> /// Initializes a new instance of the <see cref="QueryHintDbCommandInterceptor"/> class. /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="hintType">Type of the hint.</param> public QueryHintDbCommandInterceptor(Rock.Data.DbContext dbContext, QueryHintType hintType) : this(dbContext, hintType.ConvertToString().Replace("_", " ")) { // intentionally blank }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { InteractionChannelCache.UpdateCachedEntity(this.Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { StreakTypeExclusionCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { DefinedValueCache.UpdateCachedEntity(this.Id, entityState); DefinedTypeCache.FlushItem(this.DefinedTypeId); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { AchievementTypePrerequisiteCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { RestActionCache.UpdateCachedEntity(this.ApiId, entityState); }
/// <summary> /// Initializes a new instance of the <see cref="Service{T}"/> class. /// </summary> /// <param name="dbContext">The db context.</param> public Service(Rock.Data.DbContext dbContext) { _context = dbContext; _objectSet = _context.Set <T>(); }
/// <summary> /// Initializes a new instance of the <see cref="QueryHintDbCommandInterceptor"/> class. /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="hint">The hint.</param> public QueryHintDbCommandInterceptor(Rock.Data.DbContext dbContext, string hint) { this.DbContext = dbContext; this.Hint = hint; }
/// <summary> /// Updates any Cache Objects that are associated with this entity. /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { AssessmentTypeCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Method that will be called on an entity immediately before the item is saved by context /// </summary> /// <param name="dbContext"></param> /// <param name="state"></param> public virtual void PreSaveChanges(Rock.Data.DbContext dbContext, EntityState state) { }
/// <summary> /// Method that will be called on an entity immediately after the item is saved by context /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="entry">The entry.</param> /// <param name="state">The state.</param> public virtual void PreSaveChanges(Rock.Data.DbContext dbContext, System.Data.Entity.Infrastructure.DbEntityEntry entry, System.Data.Entity.EntityState state) { PreSaveChanges(dbContext, entry); }
/// <summary> /// Method that will be called on an entity immediately after the item is saved by context /// </summary> /// <param name="dbContext">The database context.</param> public virtual void PostSaveChanges(Rock.Data.DbContext dbContext) { }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { ContentChannelTypeCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// QueryHintScope allows a developer to specify a SQL Server Query Hint to apply to all queries executed within the scope. /// NOTE: Make sure to use a USING { } pattern to prevent the query hint from getting added to other queries that fire off later /// </summary> /// <example> /// using ( new QueryHintScope( rockContext, QueryHintType.RECOMPILE ) ) /// { /// gTransactions.SetLinqDataSource( qry.AsNoTracking() ); /// } /// </example> /// <param name="context">The context.</param> /// <param name="hintType">The hint.</param> public QueryHintScope(Rock.Data.DbContext context, QueryHintType hintType) : this(context, hintType.ConvertToString().Replace("_", " ")) { // intentionally blank }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { StepProgramCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { RestControllerCache.UpdateCachedEntity(this.Id, entityState); }
/// <summary> /// This method is called in the <see cref="PreSaveChanges(DbContext, DbEntityEntry, EntityState)" /> method. Use it to populate /// <see cref="HistoryItems" /> if needed. These history items are queued to be written into the database post save (so that they /// are only written if the save actually occurs). /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="entry">The entry.</param> /// <param name="state">The state.</param> protected virtual void BuildHistoryItems(Rock.Data.DbContext dbContext, DbEntityEntry entry, EntityState state) { }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { WorkflowTypeCache.UpdateCachedEntity(this.Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { NoteTypeCache.UpdateCachedEntity(this.Id, entityState); NoteTypeCache.RemoveEntityNoteTypes(); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { SmsActionCache.UpdateCachedEntity(Id, entityState); }
/// <summary> /// Updates any Cache Objects that are associated with this entity /// </summary> /// <param name="entityState">State of the entity.</param> /// <param name="dbContext">The database context.</param> public void UpdateCache(EntityState entityState, Rock.Data.DbContext dbContext) { InteractionComponentCache.UpdateCachedEntity(this.Id, this.SaveState); }