public void Visit(IAuditableVisitor <Registration> logger, DbContext dbContext) { Visit(logger, dbContext.Entry(this)); PaymentInfo?.Visit(logger, dbContext, "Fizetési mód"); Preferences?.Visit(logger, dbContext, "Preferenciák"); Settings?.Visit(logger, dbContext, "Beállítások"); }
public void Visit(IAuditableVisitor <Registration> logger, DbContext dbContext, string navigation) { var entry = dbContext.Entry(this); if (entry.State == EntityState.Added) { logger.LogChange($"{navigation} Felnőtt tartalom megjelenítése", NSFWContent); logger.LogChange($"{navigation} Helyi hír értesítések", RecieveLocalNewsAlerts); } if (entry.State == EntityState.Modified) { AuditHelpers.LogAttributeIfChanged(logger, entry, $"{navigation} Felnőtt tartalom megjelenítése", nameof(NSFWContent), NSFWContent); AuditHelpers.LogAttributeIfChanged(logger, entry, $"{navigation} Helyi hír értesítések", nameof(RecieveLocalNewsAlerts), RecieveLocalNewsAlerts); } foreach (var regionPref in RegionPreferences) { regionPref.Visit(logger, dbContext, "Régió preferenciák"); } var removed = dbContext.ChangeTracker .Entries <RegionPreference>() .Where(e => e.State == EntityState.Deleted && (int)e.Property(nameof(RegionPreference.Preferences) + "Id").OriginalValue == Id) .Select(e => e.Entity) .ToList(); foreach (var regionPref in removed) { regionPref.Visit(logger, dbContext, "Régió preferenciák"); } }
private void Visit(IAuditableVisitor <Registration> logger, EntityEntry entityEntry) { if (entityEntry.State == EntityState.Added) { logger.LogChange("Email", Email); } if (entityEntry.State == EntityState.Modified) { AuditHelpers.LogAttributeIfChanged(logger, entityEntry, "Email", nameof(Email), Email); } }
public void Visit(IAuditableVisitor <Registration> logger, DbContext dbContext, string navigation) { var entry = dbContext.Entry(this); if (entry.State == EntityState.Added) { logger.LogChange("Fizetési mód", PaymentMethod); } else if (entry.State == EntityState.Modified) { AuditHelpers.LogAttributeIfChanged(logger, entry, "Fizetési mód", nameof(PaymentMethod), PaymentMethod); } }
public void Visit(IAuditableVisitor <Registration> logger, DbContext dbContext, string navigation) { var entry = dbContext.Entry(this); if (entry.State == EntityState.Added) { logger.LogChange(navigation, $"{Region.ToFriendlyString()} hozzáadva"); } else if (entry.State == EntityState.Deleted) { logger.LogChange(navigation, $"{Region.ToFriendlyString()} törölve"); } }
public static void LogAttributeIfChanged <TRoot, TAttrib>( IAuditableVisitor <TRoot> visitor, EntityEntry entityEntry, string attribute, string propertyName, TAttrib value) where TRoot : IAuditableEntityRoot <TRoot> { var original = (TAttrib)entityEntry.OriginalValues[propertyName]; if (!original.Equals(value)) { visitor.LogChange(attribute, original, value); } }
public void Visit(IAuditableVisitor <Registration> logger, DbContext dbContext, string navigation) { var huCulture = CultureInfo.GetCultures(CultureTypes.SpecificCultures).FirstOrDefault(c => c.Name == "hu"); var entry = dbContext.Entry(this); if (entry.State == EntityState.Added) { logger.LogChange($"{navigation} Téma", Theme.ToString()); logger.LogChange($"{navigation} Menü megjelenítése", HideMenu.ToString(huCulture)); } if (entry.State == EntityState.Modified) { AuditHelpers.LogAttributeIfChanged(logger, entry, $"{navigation} Téma", nameof(Theme), Theme); AuditHelpers.LogAttributeIfChanged(logger, entry, $"{navigation} Menü megjelenítése", nameof(HideMenu), HideMenu); } }