/// <summary>
        /// Generates Fm from website informations
        /// </summary>
        /// <param name="ric"></param>
        private Dictionary <string, string> GenerateFm(string ric)
        {
            try
            {
                FmInfo res   = GetInfos(ric);
                var    fm    = new Fm();
                var    infos = new Dictionary <string, string>
                {
                    { "ric", res.Ric },
                    { "name", res.EnglishName },
                    { "displayname", GetGatsDisplayName(res.Ric, res.Type) },
                    { "chinesename", res.ChineseName },
                    { "units", String.Format("{0:n0}", Convert.ToInt64(res.Shares.Replace("元", "").Replace(",", "")) / 100) },
                    { "maturedate", res.MatureDate.ToString("ddMMMyy").ToUpper() },
                    { "effectivedate", res.EffectiveDate.ToString("ddMMMyy").ToUpper() },
                    { "effectivedateidn", res.EffectiveDate.ToString("dd/MM/yyyy") },
                    { "isin", res.Isin },
                    { "abbrev", res.EnglishName.ToUpper() },
                    { "strike", res.Strikes.Replace("元", "") },
                    { "type", res.Type }
                };
                fm.AddProp(infos);
                string filename = String.Format("{0}{1}_{2}.txt", configObj.WorkingDir, res.Ric, DateTime.Now.ToString("ddMM"));
                fm.GenerateAndSave("TwTemplate", filename);
                //TaskResultList.Add(new TaskResultEntry("result file" + res.Ric + " FM", "", filename));
                AddResult("result file", filename, "");
                //add "=== End of Proforma ===" in the file end
                AddWordInTheEnd(filename);

                //BCU.txt
                string fileNameBCU = Path.Combine(configObj.WorkingDir, "BCU.txt");
                GeneratorBCUFile(res, fileNameBCU);
                return(infos);
            }
            catch (Exception ex)
            {
                Logger.Log("Fm generation failed for this ric, error: " + ex.Message, Logger.LogType.Warning);
                return(null);
            }
        }