/// <summary> /// Deletes the database. /// </summary> /// <param name="recreate"> /// if set to <c>true</c> [recreate]. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool DeleteDatabase(bool recreate) { var platform = SimpleIoc.Default.GetInstance <IPlatformService>(); if (!platform.StorageProvider.FileExists(this.databaseFilename)) { return(false); } if (this.DatabaseInstance != null) { this.DatabaseInstance.Dispose(); this.DatabaseInstance = null; } Exception error; platform.StorageProvider.TryDelete(this.databaseFilename, out error); if (!recreate) { return(true); } this.DatabaseInstance = CRMDatabase.Create(this.isUpdateCrm, this.databaseFilename); if (ConfigurationUnitStore.DefaultStore.ConfigValueIsSetDefaultValue("System.DisplayFixCatBySortInfo", true)) { this.DatabaseInstance.FixedCatSortBySortInfoAndCode = true; } this.Reps = new UPCRMReps(); return(true); }
/// <summary> /// Initializes a new instance of the <see cref="UPCRMDataStore"/> class. /// </summary> /// <param name="baseDirectoryPath"> /// The base directory path. /// </param> /// <param name="fileName"> /// Name of the file. /// </param> /// <param name="recreate"> /// if set to <c>true</c> [recreate]. /// </param> /// <param name="isUpdateCrm"> /// if set to <c>true</c> [is update CRM]. /// </param> /// <param name="configStore"> /// The configuration store. /// </param> public UPCRMDataStore( string baseDirectoryPath, string fileName, bool recreate, bool isUpdateCrm, IConfigurationUnitStore configStore) { this.BaseDirectoryPath = baseDirectoryPath; this.isUpdateCrm = isUpdateCrm; this.databaseFilename = Path.Combine(this.BaseDirectoryPath, fileName); if (recreate) { var platformService = SimpleIoc.Default.GetInstance <IPlatformService>(); if (platformService.StorageProvider.FileExists(this.databaseFilename)) { Exception error = null; platformService.StorageProvider.TryDelete(databaseFilename, out error); if (error != null) { Logger.LogError(error); } } } var db = CRMDatabase.Create(isUpdateCrm, this.databaseFilename); this.DatabaseInstance = db; if (configStore.ConfigValueIsSetDefaultValue("System.DisplayFixCatBySortInfo", true)) { this.DatabaseInstance.FixedCatSortBySortInfoAndCode = true; } if (recreate && !this.UpdateDDL()) { return; } this.AddVirtualLinks(); this.Reps = new UPCRMReps(); this.VirtualInfoAreaCache = new UPVirtualInfoAreaCache(); this.Disable86326 = configStore.ConfigValueIsSet("Disable.86326"); }