public static WPExportDTO RunAllQueries(
            WPConfigurationSourceDTO configurationSource,
            WPConfigurationPluginExportDTO configurationPlugin)
        {
            MySQLEngine engine = new MySQLEngine(
                configurationSource.DB_HOST,
                configurationSource.DB_NAME,
                configurationSource.DB_USER,
                configurationSource.DB_PASSWORD
                );

            WPQuery queries = new WPQuery(configurationSource.TABLE_PREFIX);

            WPExportDTO result = new WPExportDTO();

            result.WPPosts        = engine.Select <WPPostDTO>(queries.GetWPPosts);
            result.WPPostChildren = engine.Select <WPPostDTO>(queries.GetWPPostChildren);
            result.WPTags         = engine.Select <WPTagDTO>(queries.GetWPTags);
            result.WPCategories   = engine.Select <WPCategoryDTO>(queries.GetWPCategories);
            result.WPUsers        = engine.Select <WPUserDTO>(queries.GetWPUsers);
            result.WPPostsMeta    = engine.Select <WPPostMetaDTO>(queries.GetWPPostMeta);

            if (configurationPlugin.WooCommerce)
            {
                result.WPProducts        = engine.Select <WPProductDTO>(queries.GetWPProducts);
                result.WPProductChildren = engine.Select <WPProductDTO>(queries.GetWPProductChildren);
            }

            return(result);
        }
        public string DoWork()
        {
            WPConfigurationSourceDTO configurationSource = new WPConfigurationSourceDTO()
            {
                DB_HOST      = this._wpToJsonDTO.WPSourceDBHost,
                DB_NAME      = this._wpToJsonDTO.WPSourceDBName,
                DB_PASSWORD  = this._wpToJsonDTO.WPSourceDBPassword,
                DB_USER      = this._wpToJsonDTO.WPSourceDBUser,
                TABLE_PREFIX = this._wpToJsonDTO.WPSourceDBTablePrefix,
            };

            WPConfigurationPluginExportDTO configurationPluginExport = new WPConfigurationPluginExportDTO()
            {
                WooCommerce = (Array.IndexOf(this._wpToJsonDTO.PluginExport, ListOfPlugin.WooCommerce) != -1),
                Yoast       = (Array.IndexOf(this._wpToJsonDTO.PluginExport, ListOfPlugin.Yoast) != -1)
            };


            WPExportDTO exportDTO = WPExportEngine.RunAllQueries(configurationSource, configurationPluginExport);

            Newtonsoft.Json.Formatting formatting = Newtonsoft.Json.Formatting.None;
            if (this._wpToJsonDTO.JSONIndented)
            {
                formatting = Newtonsoft.Json.Formatting.Indented;
            }

            WPToJson wPToJson = new WPToJson(exportDTO)
            {
                ExportSeoWithYoast = configurationPluginExport.Yoast
            };

            return(wPToJson.CreateJSON(formatting));
        }
 public WPExportContentEngine()
 {
     _wpSource                       = Configuration.GetWPSourceDTO();
     _configurationOUTFile           = Configuration.GetOUTFileDTO();
     _wpConfigurationPluginExportDTO = Configuration.GetPluginExportDTO();
 }
        public static WPConfigurationPluginExportDTO GetPluginExportDTO()
        {
            WPConfigurationPluginExportDTO result = ConfigurationRoot.GetSection("PluginExport").Get <WPConfigurationPluginExportDTO>();

            return(result);
        }