SqlPreCommand OnPreDeleteSqlSync(IdentifiableEntity ident) { if (PreDeleteSqlSync == null) return null; return PreDeleteSqlSync.GetInvocationList().Cast<Func<IdentifiableEntity, SqlPreCommand>>().Select(a => a(ident)).Combine(Spacing.Simple); }
public SqlPreCommand DeleteSqlSync(IdentifiableEntity ident, string comment = null) { var pre = OnPreDeleteSqlSync(ident); var collections = (from m in this.Fields let ml = m.Value.Field as FieldMList where ml != null select new SqlPreCommandSimple("DELETE {0} WHERE {1} = {2} --{3}" .Formato(ml.TableMList.Name, ml.TableMList.BackReference.Name.SqlEscape(), ident.Id, comment ?? ident.ToString()))).Combine(Spacing.Simple); var main = new SqlPreCommandSimple("DELETE {0} WHERE {1} = {2} --{3}" .Formato(Name, "Id", ident.Id, comment ?? ident.ToString())); return SqlPreCommand.Combine(Spacing.Simple, pre, collections, main); }
internal MixinEntity Getter(IdentifiableEntity ident) { return ((IdentifiableEntity)ident).Mixins.Single(mo => mo.GetType() == FieldType); }
ColaboratorsMixin(IdentifiableEntity mainEntity, MixinEntity next) : base(mainEntity, next) { }
public static void OnCorruptionRemoved(IdentifiableEntity corruptEntity) { if (CorruptionRemoved != null) CorruptionRemoved(corruptEntity); }
public static void OnSaveCorrupted(IdentifiableEntity corruptEntity, string integrity) { if (SaveCorrupted != null) SaveCorrupted(corruptEntity, integrity); }
CorruptMixin(IdentifiableEntity mainEntity, MixinEntity next) : base(mainEntity, next) { }
protected void OnNavigating(IdentifiableEntity entity) { if (!Navigate) return; if (this.Navigating == null) Navigator.NavigateUntyped(entity); else this.Navigating(entity); }