static ApplicationPartManagerExtensions() { //we use the default file provider, since the DI isn't initialized yet _fileProvider = CommonHelper.DefaultFileProvider; _baseAppLibraries = new List <string>(); //get all libraries from /bin/{version}/ directory _baseAppLibraries.AddRange(_fileProvider.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.dll") .Select(fileName => _fileProvider.GetFileName(fileName))); //get all libraries from base site directory if (!AppDomain.CurrentDomain.BaseDirectory.Equals(Environment.CurrentDirectory, StringComparison.InvariantCultureIgnoreCase)) { _baseAppLibraries.AddRange(_fileProvider.GetFiles(Environment.CurrentDirectory, "*.dll") .Select(fileName => _fileProvider.GetFileName(fileName))); } //get all libraries from refs directory string refsPathName = _fileProvider.Combine(Environment.CurrentDirectory, VerivoxPluginDefaults.RefsPathName); if (_fileProvider.DirectoryExists(refsPathName)) { _baseAppLibraries.AddRange(_fileProvider.GetFiles(refsPathName, "*.dll") .Select(fileName => _fileProvider.GetFileName(fileName))); } }
public static void InitializeDatabase(string conectionString) { CreateDatabase(conectionString); IDbContext context = EngineContext.Current.Resolve<IDbContext>(); List<string> tableNamesToValidate = new List<string> { "ProductType", "Product" }; List<string> existingTableNames = context .QueryFromSql<StringQueryType>("SELECT table_name AS Value FROM INFORMATION_SCHEMA.TABLES WHERE table_type = 'BASE TABLE'") .Select(stringValue => stringValue.Value).ToList(); bool createTables = !existingTableNames.Intersect(tableNamesToValidate, StringComparer.InvariantCultureIgnoreCase).Any(); if (createTables) { IVerivoxFileProvider fileProvider = EngineContext.Current.Resolve<IVerivoxFileProvider>(); //create tables //EngineContext.Current.Resolve<IRelationalDatabaseCreator>().CreateTables(); //(context as DbContext).Database.EnsureCreated(); context.ExecuteSqlScript(context.GenerateCreateScript()); //create indexes context.ExecuteSeedFromJsonFile(fileProvider.MapPath(DataDefaults.JsonFilePath)); } }
/// <summary> /// Save plugin descriptor to the plugin description file /// </summary> public virtual void Save() { IVerivoxFileProvider fileProvider = EngineContext.Current.Resolve <IVerivoxFileProvider>(); //get the description file path if (OriginalAssemblyFile == null) { throw new Exception($"Cannot load original assembly path for {SystemName} plugin."); } string filePath = fileProvider.Combine(fileProvider.GetDirectoryName(OriginalAssemblyFile), VerivoxPluginDefaults.DescriptionFileName); if (!fileProvider.FileExists(filePath)) { throw new Exception($"Description file for {SystemName} plugin does not exist. {filePath}"); } //save the file string text = JsonConvert.SerializeObject(this, Formatting.Indented); fileProvider.WriteAllText(filePath, text, Encoding.UTF8); }
public AppDomainTypeFinder(IVerivoxFileProvider fileProvider = null) { _fileProvider = fileProvider ?? CommonHelper.DefaultFileProvider; }
public WebAppTypeFinder(IVerivoxFileProvider fileProvider = null) : base(fileProvider) { }
public PluginsInfo(IVerivoxFileProvider fileProvider) { _fileProvider = fileProvider; }