コード例 #1
0
        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)));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 public AppDomainTypeFinder(IVerivoxFileProvider fileProvider = null)
 {
     _fileProvider = fileProvider ?? CommonHelper.DefaultFileProvider;
 }
コード例 #5
0
 public WebAppTypeFinder(IVerivoxFileProvider fileProvider = null) : base(fileProvider)
 {
 }
コード例 #6
0
ファイル: PluginsInfo.cs プロジェクト: rajabalianomid/Verivox
 public PluginsInfo(IVerivoxFileProvider fileProvider)
 {
     _fileProvider = fileProvider;
 }