public static IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { DataSetDataStore result = new DataSetDataStore(fdataSet, autoCreateOption); objectsToDisposeOnDisconnect = new IDisposable[] { }; return(result); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); string connectionString; AutoCreateOption autoCreateOption = AutoCreateOption.SchemaAlreadyExists; if (HostingEnvironment.IsDevelopment()) { connectionString = Configuration.GetConnectionString("Dev"); autoCreateOption = AutoCreateOption.DatabaseAndSchema; } else { connectionString = Configuration.GetConnectionString("Prod"); connectionString = XpoDefault.GetConnectionPoolString(connectionString); } IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); services.AddSingleton(new WebApiDataStoreService(dataStore)); // add XML Serializer formatters services.AddMvc() .AddXmlSerializerFormatters(); }
public static void Connect(string connectionString, AutoCreateOption autoCreateOption) { ConnectionString = connectionString; XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption); XpoDefault.Session = null; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); // Configure XPO Data Store Service string connectionString; AutoCreateOption autoCreateOption = AutoCreateOption.SchemaAlreadyExists; if (HostingEnvironment.IsDevelopment()) { connectionString = Configuration.GetConnectionString("Dev"); autoCreateOption = AutoCreateOption.DatabaseAndSchema; } else { connectionString = Configuration.GetConnectionString("Prod"); connectionString = XpoDefault.GetConnectionPoolString(connectionString); } IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); WebApiDataStoreService service = new WebApiDataStoreService(dataStore); services.AddSingleton(dataStore); services.AddSingleton(service); services.AddMvc().AddXmlSerializerFormatters(); services.AddCors(options => options.AddPolicy("XPO", builder => builder.WithOrigins("https://localhost:44317") .WithMethods("POST") .WithHeaders("Content-Type"))); }
public static IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { var rv = new SafePostgreSqlConnectionProvider(connectionString, autoCreateOption); objectsToDisposeOnDisconnect = new IDisposable[] { rv }; return(rv); }
public RestApiDataStore(string Url, AutoCreateOption AutoCreateOption, string Token = "") { this.Url = Url; this.Token = Token; this.AutoCreateOption = AutoCreateOption; }
public static IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { objectsToDisposeOnDisconnect = null; ConnectionStringParser Parser = new ConnectionStringParser(connectionString); var Url = Parser.GetPartByName(UrlPart); var Controller = Parser.GetPartByName(ControllerPart); var Token = Parser.GetPartByName(TokenPart); var DataStoreId = Parser.GetPartByName(DataStoreIdPart); var Serialization = Parser.GetPartByName(SerializationPart); Dictionary <string, string> Headers = new Dictionary <string, string>(); Headers.Add("Authorization", "Bearer " + Token); Headers.Add(DataStoreIdPart, DataStoreId); Uri uri = new Uri(new Uri(Url), Controller); string url = uri.ToString(); ISerializationAdapter Adapter = null; if (Serialization == "NewtonsoftSerializationAdapter") { Adapter = new NewtonsoftSerializationAdapter(); } if (Serialization == "ProtobufSerializationAdapter") { Adapter = new ProtobufSerializationAdapter(); } //TODO remove this line when we got an answer from https://github.com/MelbourneDeveloper/RestClient.Net/issues/75 Adapter = new NewtonsoftSerializationAdapter(); ApiFunction restClientNetFunctionClient = new ApiFunction(url, Adapter, Headers); return(new XpoWebApiProvider(restClientNetFunctionClient, new CompressXmlObjectSerializationService(), autoCreateOption)); //return new AsyncDataStoreWrapper(new XpoWebApiProvider(restClientNetFunctionClient, new SimpleObjectSerializationService(), autoCreateOption)); }
XpoDataStoreService(string connectionString, AutoCreateOption autoCreateOption, bool useDataStorePool) { if (useDataStorePool) { connectionString = XpoDefault.GetConnectionPoolString(connectionString); } DataStore = XpoDefault.GetConnectionProvider(connectionString, autoCreateOption); }
public XPOConnector(string login, string password) { this.login = login; this.password = password; PoplOracleConnectionProvider.Register(); //0.8 _AutoCreateOption = AutoCreateOption.SchemaAlreadyExists; Connect(_AutoCreateOption); //autocreateOption je nastavovava az v GetDataLayer... }
public SafePostgreSqlConnectionProvider(string connectionString, AutoCreateOption autoCreateOption) { ConnectionStrinStatic = connectionString; //XpoDefault.ConnectionString = connectionString; _connectionString = connectionString; _autoCreateOption = autoCreateOption; DoReconnect(); }
public static XpoDataStoreService Create(IServiceProvider serviceProvider) { IConfiguration config = (IConfiguration)serviceProvider.GetService(typeof(IConfiguration)); string connectionString = config["XpoDataStore:ConnectionString"]; AutoCreateOption autoCreateOption = (AutoCreateOption)Enum.Parse(typeof(AutoCreateOption), config["XpoDataStore:AutoCreateOption"]); bool useDataStorePool = bool.Parse(config["XpoDataStore:UseDataStorePool"]); return(new XpoDataStoreService(connectionString, autoCreateOption, useDataStorePool)); }
private DevExpress.Xpo.DB.IDataStore CreateNewDataStore(IConfiguration configuration, string Id) { var ConnectionStrings = configuration.GetSection("ConnectionStrings").AsEnumerable(); List <KeyValuePair <string, string> > AutoCreateOptionsFromConfig = configuration.GetSection("DatabaseAutoCreateOptions").AsEnumerable().ToList(); AutoCreateOptions = new Dictionary <string, string>(); foreach (KeyValuePair <string, string> Value in AutoCreateOptionsFromConfig) { if (Value.Value == null) { continue; } string[] Split = Value.Key?.Split(':'); if (Split.Length > 1) { AutoCreateOptions.Add(Split[1], Value.Value); } } if (!AutoCreateOptions.ContainsKey(Id)) { throw new ArgumentException($"Missing AutoCreateOptions:{Id}"); } AutoCreateOption autoCreateOptionEnum = AutoCreateOption.None; switch (AutoCreateOptions[Id]) { case "DatabaseAndSchema": autoCreateOptionEnum = AutoCreateOption.DatabaseAndSchema; break; case "SchemaOnly": autoCreateOptionEnum = AutoCreateOption.SchemaOnly; break; case "None ": autoCreateOptionEnum = AutoCreateOption.None; break; case "SchemaAlreadyExists": autoCreateOptionEnum = AutoCreateOption.SchemaAlreadyExists; break; } var ConnectionString = configuration.GetConnectionString(Id); IDisposable[] DisposableObjects = null; //TODO read autocreate options from the config DevExpress.Xpo.DB.IDataStore DataStore = XpoDefault.GetConnectionProvider(ConnectionString, autoCreateOptionEnum, out DisposableObjects); return(DataStore); }
static IDataLayer CreateDataLayer(bool threadSafe) { string connStr = ConfigurationManager.ConnectionStrings["XpoTutorial"].ConnectionString; //connStr = XpoDefault.GetConnectionPoolString(connStr); // Uncomment this line if you use a database server like SQL Server, Oracle, PostgreSql etc. ReflectionDictionary dictionary = new ReflectionDictionary(); dictionary.GetDataStoreSchema(PersistentTypes); // Pass all of your persistent object types to this method. AutoCreateOption autoCreateOption = AutoCreateOption.DatabaseAndSchema; // Use AutoCreateOption.DatabaseAndSchema if the database or tables does not exists. Use AutoCreateOption.SchemaAlreadyExists if the database already exists. IDataStore provider = XpoDefault.GetConnectionProvider(connStr, autoCreateOption); return(threadSafe ? (IDataLayer) new ThreadSafeDataLayer(dictionary, provider) : new SimpleDataLayer(dictionary, provider)); }
//public static T Execute<T>(string dataLayerName, Func<Session, T> work, bool transactional = true, bool commit = true) //{ //} #endregion private static IDataLayer createDataLayer(string connectionString, string datalayerName) { if (String.IsNullOrEmpty(connectionString)) { throw new ArgumentNullException("connectionString"); } // set XpoDefault.Session to null to prevent accidental use of XPO default session XpoDefault.Session = null; //ReflectionClassInfo.SuppressSuspiciousMemberInheritanceCheck = true; // Needed to run in Medium Trust Security Context XpoDefault.UseFastAccessors = false; XpoDefault.IdentityMapBehavior = IdentityMapBehavior.Strong; // autocreate option in connectionstring AutoCreateOption createOption = Conversion.GetConfigOption <AutoCreateOption>(connectionString, "AutoCreateOption", AutoCreateOption.DatabaseAndSchema); bool enableCachingNode = Conversion.GetConfigOption(connectionString, "EnableCachingNode", false); XPDictionary dataDictionary = new ReflectionDictionary(); IDataStore dataStore = XpoDefault.GetConnectionProvider(connectionString, createOption); // Initialize the XPO dictionary dataDictionary.GetDataStoreSchema(GetDataTypes(datalayerName)); // make sure everything exists in the db if (createOption == AutoCreateOption.DatabaseAndSchema) { using (SimpleDataLayer dataLayer = new SimpleDataLayer(dataStore)) { using (Session session = new Session(dataLayer)) { // place code here to patch metadata session.UpdateSchema(); session.CreateObjectTypeRecords(); XpoDefault.DataLayer = new ThreadSafeDataLayer(session.Dictionary, dataStore); } } } IDataLayer result; if (enableCachingNode) { result = new ThreadSafeDataLayer(dataDictionary, new DataCacheNode(new DataCacheRoot(dataStore))); } else { result = new ThreadSafeDataLayer(dataDictionary, dataStore); } return(result); }
public static UnitOfWork Connect() { AutoCreateOption opt = UpdateDatabase ? AutoCreateOption.DatabaseAndSchema : AutoCreateOption.SchemaAlreadyExists; XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, opt); XpoDefault.Session = null; if (XpoDefault.DataLayer == null) { return(null); } return(new UnitOfWork()); }
static IDataStore CreateWebApiDataStoreFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { ConnectionStringParser parser = new ConnectionStringParser(connectionString); if (!parser.PartExists("uri")) { throw new ArgumentException("The connection string does not contain the 'uri' part."); } string uri = parser.GetPartByName("uri"); HttpClient client = new HttpClient(GetInsecureHandler()); client.BaseAddress = new Uri(uri); objectsToDisposeOnDisconnect = new IDisposable[] { client }; return(new WebApiDataStoreClient(client, autoCreateOption)); }
public static IServiceCollection AddXpo( this IServiceCollection services, IConfiguration configuration, AutoCreateOption autoCreateOption = AutoCreateOption.None ) => services.AddXpoDefaultDataLayer(ServiceLifetime.Singleton, dl => dl .UseConnectionString(configuration.GetConnectionString("DefaultConnection")) .UseThreadSafeDataLayer(autoCreateOption == AutoCreateOption.None) .UseConnectionPool(autoCreateOption == AutoCreateOption.None) .UseAutoCreationOption(autoCreateOption) .UseEntityTypes( new Type[0] .UseLicensingPersistentModels() .ToArray() ) );
public static IServiceCollection AddXpo( this IServiceCollection services, IConfiguration configuration, AutoCreateOption autoCreateOption = AutoCreateOption.None ) => services.AddXpoDefaultDataLayer(ServiceLifetime.Singleton, dl => dl .UseConnectionString(configuration.GetConnectionString("DefaultConnection")) .UseThreadSafeDataLayer(autoCreateOption == AutoCreateOption.None) .UseConnectionPool(autoCreateOption == AutoCreateOption.None) .UseAutoCreationOption(autoCreateOption) .UseEntityTypes( IdentityXpoTypes.PersistentTypes .Concat(IdentityModelTypeList.ModelTypes) .Concat(XenialIdentityModelTypeList.ModelTypes) .ToArray() ) );
public static IDataLayer CreateDataLayer(AutoCreateOption autoCreationOption, bool threadSafe) { var dictionary = new ReflectionDictionary(); dictionary.NullableBehavior = NullableBehavior.ByUnderlyingType; dictionary.GetDataStoreSchema(persistentTypes); if (threadSafe) { var provider = XpoDefault.GetConnectionProvider(XpoDefault.GetConnectionPoolString(ConnectionString), autoCreationOption); return(new ThreadSafeDataLayer(dictionary, provider)); } else { var provider = XpoDefault.GetConnectionProvider(ConnectionString, autoCreationOption); return(new SimpleDataLayer(dictionary, provider)); } }
public static IDataLayer CreateDataLayer(AutoCreateOption autoCreationOption, bool threadSafe) { XpoTypesInfoHelper.GetXpoTypeInfoSource(); XafTypesInfo.Instance.RegisterEntity(typeof(Employee)); XafTypesInfo.Instance.RegisterEntity(typeof(PermissionPolicyUser)); XafTypesInfo.Instance.RegisterEntity(typeof(PermissionPolicyRole)); foreach (var item in persistentTypes) { XafTypesInfo.Instance.RegisterEntity(item); } if (threadSafe) { var provider = XpoDefault.GetConnectionProvider(XpoDefault.GetConnectionPoolString(ConnectionString), autoCreationOption); return(new ThreadSafeDataLayer(XpoTypesInfoHelper.GetXpoTypeInfoSource().XPDictionary, provider)); } else { var provider = XpoDefault.GetConnectionProvider(ConnectionString, autoCreationOption); return(new SimpleDataLayer(XpoTypesInfoHelper.GetXpoTypeInfoSource().XPDictionary, provider)); } }
/// <summary> /// Конструктор поставщика данных с указанием соединения и опции автосоздания структуры данных /// </summary> /// <param name="connection">Соединение с базой данных</param> /// <param name="autoCreateOption">Опция автосоздания структуры данных</param> public OracleConnectionProviderEx(IDbConnection connection, AutoCreateOption autoCreateOption) : base(connection, autoCreateOption) { OnOpenConnection(); }
/// <summary> /// Конструктор базы данных с указанием соединения, опции автосоздания структуры данных и потока для записи скрипта /// </summary> /// <param name="connection">Соединение с базой данных</param> /// <param name="autoCreateOption">Опция автосоздания структуры данных</param> /// <param name="scriptWriter">Поток для записи изменений структуры в скрипт</param> /// <param name="updateOptions">Опции обновления структуры данных</param> /// <param name="insensitive">Регистронезависимость условий</param> /// <param name="indexTablespace">Табличное пространство для индексов</param> public OracleConnectionProviderEx(IDbConnection connection, AutoCreateOption autoCreateOption, StreamWriter scriptWriter, UpdateSchemaOptions updateOptions = UpdateSchemaOptions.Default, bool? insensitive = null, string indexTablespace = null) : base(connection, autoCreateOption) { this.scriptMode = scriptWriter != null; this.scriptWriter = scriptWriter; this.updateOptions = updateOptions; this.insensitive = insensitive; this.indexTablespace = indexTablespace; OnOpenConnection(); }
public new static IDataStore CreateProviderFromConnection(IDbConnection connection, AutoCreateOption autoCreateOption) { return(new MSSqlConnectionProviderWithCte(connection, autoCreateOption)); }
public SafePostgreSqlConnectionProvider(string connectionString, AutoCreateOption autoCreateOption) { this.ConnectionString = connectionString; this.AutoCreateOption = autoCreateOption; DoReconnect(); }
public MSSqlConnectionProvider(string connection, AutoCreateOption autoCreateOption) : this(new SqlConnection(connection), autoCreateOption) { }
public new static IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { IDbConnection connection = new SqlConnection(connectionString); objectsToDisposeOnDisconnect = new IDisposable[] { connection }; return(CreateProviderFromConnection(connection, autoCreateOption)); }
/// <summary> /// Создает поставщика данных на основе строки соединения /// </summary> /// <param name="connectionString">Строка соединения с поставщиком данных</param> /// <param name="autoCreateOption">Опция автосоздания структуры базы данных</param> /// <param name="objectsToDisposeOnDisconnect">Объекты, требующие удаления после отключения соединения</param> /// <returns>Экземпляр поставщика данных OracleConnectionProviderEx</returns> public static new IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { // Файл для записи скрипта string scriptPath = null; UpdateSchemaOptions updateOptions = UpdateSchemaOptions.Default; bool? insensitive = null; string indexTablespace = null; ConnectionStringParser parser = new ConnectionStringParser(connectionString); if (parser.PartExists(ScriptParameterName)) { scriptPath = parser.GetPartByName(ScriptParameterName); parser.RemovePartByName(ScriptParameterName); connectionString = parser.GetConnectionString(); } // Опции обновления if (parser.PartExists(UpdateOptionsParameterName)) { updateOptions = (UpdateSchemaOptions)Convert.ToInt32(parser.GetPartByName(UpdateOptionsParameterName)); parser.RemovePartByName(UpdateOptionsParameterName); connectionString = parser.GetConnectionString(); } // Регистронезависимость в условиях if (parser.PartExists(InsesnsitiveParameterName)) { insensitive = Convert.ToBoolean(parser.GetPartByName(InsesnsitiveParameterName)); parser.RemovePartByName(InsesnsitiveParameterName); connectionString = parser.GetConnectionString(); } // Табличное пространство для индексов if (parser.PartExists(IndexTablespaceParameterName)) { indexTablespace = parser.GetPartByName(IndexTablespaceParameterName); parser.RemovePartByName(IndexTablespaceParameterName); connectionString = parser.GetConnectionString(); } // Соединение IDbConnection connection = CreateConnection(connectionString); objectsToDisposeOnDisconnect = new IDisposable[] { connection }; return scriptPath == null && updateOptions == UpdateSchemaOptions.Default && !insensitive.HasValue && indexTablespace == null ? CreateProviderFromConnection(connection, autoCreateOption) : new OracleConnectionProviderEx(connection, autoCreateOption, scriptPath, updateOptions, insensitive, indexTablespace); }
public MSSqlConnectionProvider(IDbConnection connection, AutoCreateOption autoCreateOption) : base(connection, autoCreateOption) { }
/// <summary> /// Конструктор базы данных с указанием соединения, опции автосоздания структуры данных и пути файла для записи скрипта /// </summary> /// <param name="connection">Соединение с базой данных</param> /// <param name="autoCreateOption">Опция автосоздания структуры данных</param> /// <param name="scriptPath">Путь файла для записи изменений структуры в скрипт</param> /// <param name="updateOptions">Опции обновления структуры данных</param> /// <param name="insensitive">Регистронезависимость условий</param> /// <param name="indexTablespace">Табличное пространство для индексов</param> public OracleConnectionProviderEx(IDbConnection connection, AutoCreateOption autoCreateOption, string scriptPath, UpdateSchemaOptions updateOptions = UpdateSchemaOptions.Default, bool? insensitive = null, string indexTablespace = null) : base(connection, autoCreateOption) { this.scriptMode = !string.IsNullOrEmpty(scriptPath); this.scriptPath = scriptPath; this.updateOptions = updateOptions; this.insensitive = insensitive; this.indexTablespace = indexTablespace; OnOpenConnection(); }
public static IDataStore CreateCustomProviderFromConnection(IDbConnection connection, AutoCreateOption autoCreateOption) { return(new CustomMsSqlConnectionProvider(connection, autoCreateOption)); }
public override IDataStore CreateProviderFromConnection(IDbConnection connection, AutoCreateOption autoCreateOption) { return(CustomMsSqlConnectionProvider.CreateCustomProviderFromConnection(connection, autoCreateOption)); }
public MultiDataStoreProxy(string connectionString,XPDictionary dictionary,AutoCreateOption option=AutoCreateOption.None):this(XpoDefault.GetConnectionProvider(connectionString, option),connectionString,dictionary ){ }
public MSSqlConnectionProvider(IDbConnection connection, AutoCreateOption autoCreateOption) : base(connection, autoCreateOption) { }
/// <summary> /// Создает поставщика данных на основе соединения с базой данных /// </summary> /// <param name="connection">Соединение с базой данных</param> /// <param name="autoCreateOption">Опция автосоздания структуры базы данных</param> /// <returns>Экземпляр поставщика данных OracleConnectionProviderEx</returns> public static new IDataStore CreateProviderFromConnection(IDbConnection connection, AutoCreateOption autoCreateOption) { return new OracleConnectionProviderEx(connection, autoCreateOption); }
public MultiDataStoreProxy(string connectionString,AutoCreateOption autoCreateOption=AutoCreateOption.None):this(XpoDefault.GetConnectionProvider(connectionString, autoCreateOption),connectionString ){ }
public MSSqlConnectionProvider(string connection, AutoCreateOption autoCreateOption) : this(new SqlConnection(connection), autoCreateOption) { }
public override IDataStore CreateProviderFromConnection(IDbConnection connection, AutoCreateOption autoCreateOption) { return(MSSqlConnectionProviderWithCte.CreateProviderFromConnection(connection, autoCreateOption)); }
//LogicPos BootStrap private static void Init() { try { //After Construct Settings (ex Required path["certificates"]) //Utils.Log(string.Format("BootStrap {0}....", SettingsApp.AppName)); // Init Paths GlobalFramework.Path = new Hashtable(); GlobalFramework.Path.Add("temp", FrameworkUtils.OSSlash(GlobalFramework.Settings["pathTemp"])); GlobalFramework.Path.Add("certificates", FrameworkUtils.OSSlash(GlobalFramework.Settings["pathCertificates"])); GlobalFramework.Path.Add("plugins", FrameworkUtils.OSSlash(GlobalFramework.Settings["pathPlugins"])); //Create Directories FrameworkUtils.CreateDirectory(FrameworkUtils.OSSlash(Convert.ToString(GlobalFramework.Path["temp"]))); FrameworkUtils.CreateDirectory(FrameworkUtils.OSSlash(Convert.ToString(GlobalFramework.Path["certificates"]))); // Protection for plugins Path if (GlobalFramework.Path["plugins"] == null || !Directory.Exists(GlobalFramework.Path["plugins"].ToString())) { Utils.Log($"Missing pathPlugins: {GlobalFramework.Settings["pathPlugins"]}. Please correct path in config! ex \"c:\\Program Files (x86)\\Logicpulse\""); //Output only if in Console Mode if (Environment.UserInteractive) { Utils.Log("Press any key..."); Console.ReadKey(); } Environment.Exit(0); } // VendorPlugin InitPlugins(); //Prepare AutoCreateOption AutoCreateOption xpoAutoCreateOption = AutoCreateOption.None; //Get DataBase Details GlobalFramework.DatabaseType = (DatabaseType)Enum.Parse(typeof(DatabaseType), GlobalFramework.Settings["databaseType"]); GlobalFramework.DatabaseName = SettingsApp.DatabaseName; //Override default Database name with parameter from config string configDatabaseName = GlobalFramework.Settings["databaseName"]; GlobalFramework.DatabaseName = (string.IsNullOrEmpty(configDatabaseName)) ? SettingsApp.DatabaseName : configDatabaseName; //Xpo Connection String string xpoConnectionString = string.Format(GlobalFramework.Settings["xpoConnectionString"], GlobalFramework.DatabaseName.ToLower()); //Init XPO Connector DataLayer try { _log.Debug(string.Format("Init XpoDefault.DataLayer: [{0}]", xpoConnectionString)); XpoDefault.DataLayer = XpoDefault.GetDataLayer(xpoConnectionString, xpoAutoCreateOption); GlobalFramework.SessionXpo = new Session(XpoDefault.DataLayer) { LockingOption = LockingOption.None }; } catch (Exception ex) { _log.Error(ex.Message, ex); //Output only if in Console Mode if (Environment.UserInteractive) { Utils.Log(ex.Message); Utils.Log("Press any key..."); Console.ReadKey(); } Environment.Exit(0); } //PreferenceParameters GlobalFramework.PreferenceParameters = FrameworkUtils.GetPreferencesParameters(); //CultureInfo/Localization string culture = GlobalFramework.PreferenceParameters["CULTURE"]; if (!string.IsNullOrEmpty(culture)) { /* IN006018 and IN007009 */ //Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(culture); } GlobalFramework.CurrentCulture = CultureInfo.CurrentUICulture; //Always use en-US NumberFormat because of MySql Requirements GlobalFramework.CurrentCultureNumberFormat = CultureInfo.GetCultureInfo(SettingsApp.CultureNumberFormat); //SettingsApp string companyCountryOid = GlobalFramework.PreferenceParameters["COMPANY_COUNTRY_OID"]; string systemCurrencyOid = GlobalFramework.PreferenceParameters["SYSTEM_CURRENCY_OID"]; SettingsApp.ConfigurationSystemCountry = (cfg_configurationcountry)FrameworkUtils.GetXPGuidObject(GlobalFramework.SessionXpo, typeof(cfg_configurationcountry), new Guid(companyCountryOid)); SettingsApp.ConfigurationSystemCurrency = (cfg_configurationcurrency)FrameworkUtils.GetXPGuidObject(GlobalFramework.SessionXpo, typeof(cfg_configurationcurrency), new Guid(systemCurrencyOid)); //After Construct Settings (ex Required path["certificates"]) Utils.Log(string.Format("BootStrap {0}....", SettingsApp.AppName)); //Show WS Mode Utils.Log(string.Format("ServiceATEnableTestMode: [{0}]", SettingsApp.ServiceATEnableTestMode)); // Protection to Check if all Required values are met if (!HasAllRequiredValues()) { throw new Exception($"Error! Invalid Parameters Met! Required parameters missing! Check parameters: AccountFiscalNumber: [{SettingsApp.ServicesATAccountFiscalNumber}], ATAccountPassword: [{SettingsApp.ServicesATAccountPassword}], TaxRegistrationNumber: [{SettingsApp.ServicesATTaxRegistrationNumber}]"); } } catch (Exception ex) { _log.Error(ex.Message, ex); } }
public override IDataStore CreateProviderFromString(string connectionString, AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) { return(MSSqlConnectionProviderWithCte.CreateProviderFromString(connectionString, autoCreateOption, out objectsToDisposeOnDisconnect)); }