public void Attach(XpandModuleBase moduleBase) { _xpandModuleBase = moduleBase; if (RuntimeMode && !Executed(ConnectionStringHelperName)) { Application.ObjectSpaceCreated += ApplicationOnObjectSpaceCreated; Application.LoggedOff += ApplicationOnLoggedOff; Application.DatabaseVersionMismatch += ApplicationOnDatabaseVersionMismatch; } }
void ApplicationOnLoggedOff(object sender, EventArgs eventArgs) { XpandModuleBase.ObjectSpaceCreated = false; ((XafApplication)sender).LoggedOff -= ApplicationOnLoggedOff; if (!XpandModuleBase.IsHosted) { Application.ObjectSpaceCreated += ApplicationOnObjectSpaceCreated; } else { XpandModuleBase.RemoveCall(ConnectionStringHelperName, _xpandModuleBase.ModuleManager); } }
public void Attach(XpandModuleBase xpandModuleBase, ConnectionStringHelper helper) { _xpandModuleBase = xpandModuleBase; if (!_xpandModuleBase.Executed <ISequenceGeneratorUser>(SequenceGeneratorHelperName)) { if (_xpandModuleBase.RuntimeMode) { Application.LoggedOff += ApplicationOnLoggedOff; AddToAdditionalExportedTypes(new[] { "Xpand.Persistent.BaseImpl.SequenceObject" }); helper.ConnectionStringUpdated += XpandModuleBaseOnConnectionStringUpdated; } } }
public void Attach(XpandModuleBase xpandModuleBase) { if (!xpandModuleBase.Executed <ISequenceGeneratorUser>(SequenceGeneratorHelperName)) { if (SequenceObjectType == null) { SequenceObjectType = xpandModuleBase.LoadFromBaseImpl("Xpand.Persistent.BaseImpl.SequenceObject"); ModifySequenceObjectWhenMySqlDatalayer(XafTypesInfo.Instance); } if (xpandModuleBase.RuntimeMode) { _xpandModuleBase = xpandModuleBase; Application.LoggedOff += ApplicationOnLoggedOff; } } }