void LoadDatabaseSettings (string filePath, string fileName) { DatabaseConnection = DatabaseConnection ?? new TDatabaseConnection (filePath, fileName); // database if (DatabaseConnection.Request ()) { // notify factory database // SQL var message = new TShellMessage (TMessageAction.Response, TypeInfo); message.Support.Argument.Types.ConnectionData.CopyFrom (DatabaseConnection.Request (TAuthentication.SQL)); DelegateCommand.PublishModuleMessage.Execute (message); // Windows message = new TShellMessage (TMessageAction.Response, TypeInfo); message.Support.Argument.Types.ConnectionData.CopyFrom (DatabaseConnection.Request (TAuthentication.Windows)); DelegateCommand.PublishModuleMessage.Execute (message); // settings validating TDispatcher.Invoke (RequestServiceValidationDispatcher); } else { var errorMessage = new TErrorMessage (Properties.Resource.RES_ERROR, Properties.Resource.RES_LOAD_DATABASE, (string) DatabaseConnection.Result.ErrorContent) { Severity = TSeverity.Hight }; TDispatcher.BeginInvoke (ShowErrorBoxDispatcher, errorMessage); } }
void SelectSettingsDispatcher (TEntityAction action) { m_DatabaseValidatingInProgress = false; if (action.Result.IsValid) { Model.Unlock (); Model.MenuLeftEnable (); Model.Select (action); // to module var entityAction = TEntityAction.CreateDefault; entityAction.Param1 = Model.ComponentModelItem; var message = new TShellMessage (TMessageAction.DatabaseValidated, TypeInfo); message.Support.Argument.Types.Select (entityAction); DelegateCommand.PublishModuleMessage.Execute (message); // update INI support section //SupportSettings.Change ("ColumnWidth", action.ModelAction.SettingsModel.ColumnWidth.ToString ()); OnSettingsReportCommadClicked (); // show current settings } else { Model.MenuLeftDisable (); } ApplyChanges (); }
void DatabaseValidateDispatcher () { if (m_DatabaseValidatingInProgress.IsFalse ()) { Model.ClearPanels (); Model.DatabaseStatus (true); Model.Unlock (); // open and validate current database (for sure) if (DatabaseConnection.IsAuthentication) { // to services (Select - Settings) var action = TEntityAction.Create (TCategory.Settings, TOperation.Select, TExtension.Settings); var message = new TShellMessage (TMessageAction.Request, TypeInfo); message.Support.Argument.Types.Select (action); DelegateCommand.PublishModuleMessage.Execute (message); m_DatabaseValidatingInProgress = true; Model.Lock (); Model.MenuLeftDisable (); } } ApplyChanges (); }
void SaveSettingsDispatcher (TDatabaseAuthentication databaseAuthentication) { var filePath = System.Environment.CurrentDirectory; var fileName = TNames.SettingsIniFileName; DatabaseConnection = DatabaseConnection ?? new TDatabaseConnection (filePath, fileName); if (DatabaseConnection.Save (databaseAuthentication)) { DatabaseConnection.Request (); // update // notify edit var message = new TShellMessage (TMessageAction.Response, TypeInfo); message.Support.Argument.Types.ConnectionData.CopyFrom (databaseAuthentication); DelegateCommand.PublishModuleMessage.Execute (message); // settings validating TDispatcher.Invoke (RequestServiceValidationDispatcher); } else { TDispatcher.Invoke (CloseSnackbarDispatcher); var errorMessage = new TErrorMessage (Properties.Resource.RES_ERROR, Properties.Resource.RES_SAVE, (string) DatabaseConnection.Result.ErrorContent) { Severity = TSeverity.Hight }; TDispatcher.BeginInvoke (ShowErrorBoxDispatcher, errorMessage); } }
void RequestServiceValidationDispatcher () { // settings validating var message = new TShellMessage (TMessageAction.SettingsValidating, TypeInfo); message.Support.Argument.Types.ConnectionData.CopyFrom (DatabaseConnection.CurrentDatabase); DelegateCommand.PublishModuleMessage.Execute (message); }
void DatabaseSettingsSuccessDispatcher () { Model.ClearPanels (); Model.DatabaseStatus (true); Model.Unlock (); ApplyChanges (); OnCollectionCommadClicked (); // notify modules var message = new TShellMessage (TMessageAction.DatabaseValidated, TypeInfo); DelegateCommand.PublishModuleMessage.Execute (message); }
void RequestServiceValidationDispatcher () { // settings validating var message = new TShellMessage (TMessageAction.SettingsValidating, TypeInfo); DelegateCommand.PublishModuleMessage.Execute (message); }
public override void RefreshProcess () { // notify modules var message = new TShellMessage (TMessageAction.RefreshProcess, TypeInfo); DelegateCommand.PublishModuleMessage.Execute (message); }
public override void ProcessMessage (TMessageModule message) { if (message.NotNull ()) { // services if (message.IsModule (TResource.TModule.Services)) { SelectAuthentication (message.Support.Argument.Types.Authentication); // SettingsValidated if (message.IsAction (TMessageAction.SettingsValidated)) { // Success if (message.Support.IsActionStatus (TActionStatus.Success)) { TDispatcher.Invoke (DatabaseSettingsSuccessDispatcher); } // Error if (message.Support.IsActionStatus (TActionStatus.Error)) { TDispatcher.Invoke (DatabaseSettingsErrorDispatcher); } } // Response if (message.IsAction (TMessageAction.Response)) { // (Select - Settings) if (message.Support.Argument.Types.IsOperation (TOperation.Select, TExtension.Settings)) { var action = TEntityAction.Request (message.Support.Argument.Types.EntityAction); TDispatcher.BeginInvoke (SelectSettingsDispatcher, action); } // (Change - Settings) if (message.Support.Argument.Types.IsOperation (TOperation.Change, TExtension.Settings)) { var action = TEntityAction.Request (message.Support.Argument.Types.EntityAction); TDispatcher.BeginInvoke (SelectSettingsDispatcher, action); } } } // factory if (message.IsModule (TResource.TModule.Factory)) { // Changed if (message.IsAction (TMessageAction.Changed)) { Model.Lock (); Model.ShowPanels (); Model.SnackbarContent.SetMessage (Properties.Resource.RES_VALIDATING); ApplyChanges (); TDispatcher.Invoke (OpenSnackbarDispatcher); TDispatcher.BeginInvoke (SaveSettingsDispatcher, message.Support.Argument.Types.ConnectionData); } // Authentication if (message.IsAction (TMessageAction.Authentication)) { Model.Lock (); Model.ShowPanels (); Model.SnackbarContent.SetMessage (Properties.Resource.RES_VALIDATING); ApplyChanges (); TDispatcher.Invoke (OpenSnackbarDispatcher); TDispatcher.BeginInvoke (ChangeAuthenticationDispatcher, message.Support.Argument.Types.Authentication); } // Request if (message.IsAction (TMessageAction.Request)) { Model.Lock (); Model.ShowPanels (); Model.SnackbarContent.SetMessage (Properties.Resource.RES_VALIDATING); ApplyChanges (); TDispatcher.Invoke (OpenSnackbarDispatcher); var action = TEntityAction.Request (message.Support.Argument.Types.EntityAction); var msg = new TShellMessage (TMessageAction.Request, TypeInfo); msg.Support.Argument.Types.Select (action); DelegateCommand.PublishModuleMessage.Execute (msg); } } } }