/// <summary> /// Build the settings object using MSCI paths /// </summary> /// <param name="DATE">au format YYYYMMDD</param> private MSCI_SETTINGS GetPathSettings(string DATE, string MSCI_FILES_PATH = @"G:\,FGA MarketData\INDICES\MSCI\") { MSCI_Settings = new MSCI_SETTINGS(); MSCI_Settings.USED_DATE = DATE; MSCI_Settings.PREFIX_DATE = DATE + "_" + DATE + "_"; if (MSCI_FILES_PATH.EndsWith("\\")) { MSCI_Settings.rootPath = MSCI_FILES_PATH + DATE + "\\"; } else { MSCI_Settings.rootPath = MSCI_FILES_PATH + "\\" + DATE + "\\"; } // core_dm_daily MSCI_Settings.rootPath_DM = MSCI_Settings.rootPath + DATE + "core_dm_daily_d"; MSCI_Settings.indexType_DM = "core_dm_daily"; // core_eafe_daily MSCI_Settings.rootPath_EAFE = MSCI_Settings.rootPath + DATE + "core_eafe_daily_d"; MSCI_Settings.indexType_EAFE = "core_eafe_daily"; // core_amer_daily MSCI_Settings.rootPath_AMER = MSCI_Settings.rootPath + DATE + "core_amer_daily_d"; MSCI_Settings.indexType_AMER = "core_amer_daily"; // core_amer_daily MSCI_Settings.rootPath_DM_ACE = MSCI_Settings.rootPath + DATE + "core_dm_ace"; MSCI_Settings.indexType_DM_ACE = "core_dm_ace"; return(MSCI_Settings); }
/// <summary> /// PROGRAMME EXECUTE /// Parametres: fichier_cours_xls et/ou fichier_prix_xls pour les extractions en cours devises et prix des composants /// msci_files_path pour le chemin vers les fichiers sources (par defaut:G:\,FGA Systèmes\PRODUCTION\FTP\INDICES\MSCI\) /// date pour la date utilisée /// liste_exclusion_prix pour une liste des tickers bloomberg à exclure /// </summary> /// <param name="args"></param> public void Execute(Arguments CommandLine) { string[] inutile = CommandLine.Intercept(new string[] { "fichier_cours_csv", "fichier_cours_xls", "fichier_devises_csv", "fichier_devises_xls", "date", "msci_files_path", "liste_exclusion_prix" }); // afficher les parametres passés et inutiles // prendre ceux qui commencent par @xxx ou #xxx qui représentent les variables if (inutile.Length > 0) { if (InfoLogger.IsInfoEnabled) { string liste = "("; foreach (string s in inutile) { if (!s.StartsWith("@") && !s.StartsWith("#")) { liste += s + " "; } } liste += ")"; if (liste.Length > 2) { InfoLogger.Info("Les parametres suivants ne sont pas exploitees: " + liste); } } } DataSet DS_fichier_cours = null; DataSet DS_fichier_devises = null; //------------------------------------------------------------------------------------------ if (CommandLine["date"] != null) { if (CommandLine["msci_files_path"] != null) { this.MSCI_Settings = this.GetPathSettings(CommandLine["date"], CommandLine["msci_files_path"]); } else { this.MSCI_Settings = this.GetPathSettings(CommandLine["date"]); } // Soit extraction des cours MSCI if ((CommandLine["fichier_cours_xls"] != null) || (CommandLine["fichier_cours_csv"] != null)) { if (CommandLine["liste_exclusion_prix"] != null) { string [] excluded = CommandLine["liste_exclusion_prix"].Split(new char[] { ',', ';', ':' }); this.excluded_security_ticker = new HashSet <string>(excluded); } DS_fichier_cours = this.Extract_ZIPFile_MSCI_Indexes_Daily_Security(); } if (CommandLine["fichier_cours_xls"] != null) { string outputFileName = this.ParameterFileNameWithDateTime(CommandLine["fichier_cours_xls"], this.MSCI_Settings.RUNNING_TIME); ExcelFile.CreateWorkbook(DS_fichier_cours, outputFileName); } if (CommandLine["fichier_cours_csv"] != null) { string outputFileName = this.ParameterFileNameWithDateTime(CommandLine["fichier_cours_csv"], this.MSCI_Settings.RUNNING_TIME); CSVFile.WriteToCSV(DS_fichier_cours, outputFileName); } // Soit extraction des devises MSCI if ((CommandLine["fichier_devises_xls"] != null) || (CommandLine["fichier_devises_csv"] != null)) { DS_fichier_devises = this.Extract_ZIPFile_MSCI_Indexes_Daily_ForexRate(); } if (CommandLine["fichier_devises_xls"] != null) { string outputFileName = this.ParameterFileNameWithDateTime(CommandLine["fichier_devises_xls"], this.MSCI_Settings.RUNNING_TIME); ExcelFile.CreateWorkbook(DS_fichier_devises, outputFileName); } if (CommandLine["fichier_devises_csv"] != null) { string outputFileName = this.ParameterFileNameWithDateTime(CommandLine["fichier_devises_csv"], this.MSCI_Settings.RUNNING_TIME); CSVFile.WriteToCSV(DS_fichier_devises, outputFileName); } } }