/// <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(); } } }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DataObjectContext ObjectContext = new DataObjectContext(); ObjectContext.Install(); InitialData.SetYear(2016, 2020); InitialData.Initial(); Database.SetInitializer <DataObjectContext>(new DropCreateDatabaseIfModelChanges <DataObjectContext>()); var builder = new ContainerBuilder(); builder.RegisterType <GenericRepository <BasicFinancialContainParentDataModel> >().As <IRepository <BasicFinancialContainParentDataModel> >() .InstancePerLifetimeScope(); }
/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Opens SQL Server CE database using specified file path. /// Upgrades database if scheme version less than the current one. /// </summary> /// <param name="path"> /// Database file path. /// </param> /// <returns> /// DataObjectContext object. /// </returns> public static DataObjectContext OpenDatabase(string path) { Debug.Assert(path != null); try { string sqlConnStr = DatabaseHelper.BuildSqlConnString(path, true); // upgrade database if necessary CheckForDbUpgrade(sqlConnStr); // create object context DataObjectContext ctx = new DataObjectContext( _BuildEntityConnStr(sqlConnStr)); // keep connection alive to ensure exclusive mode ctx.Connection.Open(); return ctx; } catch (Exception e) { Logger.Error(e); SqlCeException ceEx = _GetCEException(e); if (ceEx != null && ceEx.NativeError == SSCE_M_FILESHAREVIOLATION) { throw new DataException(Properties.Messages.Error_DbFileSharingViolation, DataError.FileSharingViolation); } else throw; } }