/// <summary> /// Updates project's custom order properties info. /// </summary> /// <param name="projectConfig">Project configuration.</param> /// <param name="propertiesInfo">Order custom properties info.</param> /// <exception cref="DataException">Failed to update database.</exception> public static void UpdateProjectCustomOrderPropertiesInfo(ProjectConfiguration projectConfig, OrderCustomPropertiesInfo propertiesInfo) { Debug.Assert(projectConfig != null); Debug.Assert(propertiesInfo != null); DataObjectContext dataContext = null; try { // Open database. dataContext = DatabaseOpener.OpenDatabase(projectConfig.DatabasePath); // Update custom order properties info in database. dataContext.UpdateCustomOrderPropertiesInfo(propertiesInfo); } catch (Exception ex) { // Failed to update database. throw new DataException(Properties.Messages.Error_DatabaseUpdate, ex, DataError.DatabaseUpdateError); } finally { if (dataContext != null) { dataContext.Dispose(); } } }
private void _CreateProject(string projectConfigPath, CapacitiesInfo capacitiesInfo, OrderCustomPropertiesInfo orderCustomPropertiesInfo) { try { // TODO : add advanced error reporting _projectCfg = ProjectConfiguration.Load(projectConfigPath); _dataContext = DatabaseOpener.OpenDatabase(_projectCfg.DatabasePath); _dataContext.PostInit(capacitiesInfo, orderCustomPropertiesInfo); _CreateCollections(); // TODO: DataObjectManager workaround _dataContext.SaveChangesCompleted += new SaveChangesCompletedEventHandler(_dataContext_SaveChangesCompleted); _dataContext.PostSavingChanges += new SavingChangesEventHandler(_dataContext_PostSavingChanges); this.DeletionCheckingService = new DeletionCheckingService(_dataContext); _isOpened = true; } catch (Exception) { _Clean(); throw; } }
/// <summary> /// Opens project. Project must be closed. /// </summary> /// <param name="projectConfigPath">Path to project configuration file.</param> private void _OpenProject(string projectConfigPath) { try { // TODO : add advanced error reporting _projectCfg = ProjectConfiguration.Load(projectConfigPath); _dataContext = DatabaseOpener.OpenDatabase(_projectCfg.DatabasePath); _CreateCollections(); // If we are upgrading project, then we need to update breaks configuration. _UpdateBreaksConfig(); // TODO: DataObjectManager workaround _dataContext.SaveChangesCompleted += new SaveChangesCompletedEventHandler(_dataContext_SaveChangesCompleted); _dataContext.PostSavingChanges += new SavingChangesEventHandler(_dataContext_PostSavingChanges); this.DeletionCheckingService = new DeletionCheckingService(_dataContext); _isOpened = true; } catch { _Clean(); throw; } }