Esempio n. 1
0
        private void FormatCName(DataStreamRicCreationBulkTemplate bulkTemp, string names)
        {
            if (names.EndsWith(".") && (names.Length + bulkTemp.NameSuffix.Length) <= 24)
            {
                names += bulkTemp.NameSuffix;
            }
            else if ((!names.EndsWith(".")) && (names.Length + 1 + bulkTemp.NameSuffix.Length) <= 24)
            {
                if (names.EndsWith(" "))
                {
                    names += bulkTemp.NameSuffix;
                }
                else
                {
                    names += " " + bulkTemp.NameSuffix;
                }
            }
            else if (names.Length > 24)
            {
                names = names.Substring(0, 24);
            }

            bulkTemp.CName = names.PadRight(24, ' ');
        }
Esempio n. 2
0
        private string FormatOutputLine(List <DataStreamRicCreationInfo> ricCreations)
        {
            List <string> lines = new List <string>();

            foreach (DataStreamRicCreationInfo item in ricCreations)
            {
                string temp   = "";
                string name1  = string.Empty;
                string name2  = string.Empty;
                string suffix = string.Empty;
                DataStreamRicCreationBulkTemplate bulkTemp = new DataStreamRicCreationBulkTemplate();
                bulkTemp.Seqn = temp.PadRight(7, ' ');
                bulkTemp.Mnem = "MX:" + GetMnem(item.Ticker);
                if (string.IsNullOrEmpty(item.Sedol))
                {
                    string sedol = GetSedol(item.Isin);
                    if (string.IsNullOrEmpty(sedol))
                    {
                        sedol = temp.PadRight(9, ' ');
                    }
                    else
                    {
                        sedol = "UK" + sedol;
                    }
                    bulkTemp.Sedol = sedol;
                }
                else
                {
                    bulkTemp.Sedol = "UK" + item.Sedol;
                }

                if (item.Ticker.Length > 3)
                {
                    string ticker = item.Ticker;
                    ticker         = ticker.Substring(0, ticker.Length - 1) + "'" + ticker.Substring(ticker.Length - 1, 1) + "'";
                    bulkTemp.Name1 = ticker.PadRight(24, ' ');
                    bulkTemp.Name2 = string.Empty.PadRight(24, ' ');
                }
                else
                {
                    bulkTemp.Name1 = item.Ticker.PadRight(24, ' ');
                    bulkTemp.Name2 = string.Empty.PadRight(24, ' ');
                }
                if (item.AssetCategory.CompareTo("PRF") == 0 || item.AssetCategory.CompareTo("CPR") == 0 || item.AssetCategory.CompareTo("PREFERRED") == 0)
                {
                    FormatBulkNames(item.SecurityLongDescription, 24, 24, nameInputType.Name, ref name1, ref name2, ref suffix);
                    bulkTemp.NameSuffix = suffix;
                }
                else
                {
                    FormatBulkNames(item.CompanyName, 24, 24, nameInputType.Name, ref name1, ref name2, ref suffix);
                    bulkTemp.NameSuffix = suffix;
                }

                if (item.AssetCategory.CompareTo("PRF") == 0 || item.AssetCategory.CompareTo("CPR") == 0 || item.AssetCategory.CompareTo("PREFERRED") == 0)
                {
                    FormatCName(bulkTemp, item.CompanyName);
                }
                else
                {
                    name1 = bulkTemp.Name1.Trim();
                    name2 = bulkTemp.Name2.Trim();

                    string names = string.Empty;
                    if (!name1.EndsWith("."))
                    {
                        names = name1 + " " + name2;
                    }
                    else
                    {
                        names = name1 + name2;
                    }
                    FormatCName(bulkTemp, names);
                }
                bulkTemp.Fname1 = string.Empty.PadRight(19, ' ');
                bulkTemp.Fname2 = string.Empty.PadRight(24, ' ');

                bulkTemp.Bdate = temp.PadRight(8, ' ');


                bulkTemp.DefMki = "MX";
                bulkTemp.Remk   = string.Empty.PadRight(4, ' ');
                bulkTemp.Mic    = string.Empty.PadRight(3, ' ');


                bulkTemp.Nosh  = "1";
                bulkTemp.Mnem2 = string.Empty.PadRight(12, ' ');

                if (item.Isin == string.Empty || item.Isin == null)
                {
                    bulkTemp.Isin = string.Empty.PadRight(12, ' ');
                }
                else
                {
                    bulkTemp.Isin = item.Isin;
                }
                bulkTemp.Geog = "065";
                bulkTemp.Dcur = "035";


                bulkTemp.Secty = "EQ";
                bulkTemp.Grpi  = "116";


                bulkTemp.Cusip = "MX" + item.Ticker.Replace("*", "").PadRight(10, ' ');
                if (item.CompanyName.Contains("ADR"))
                {
                    bulkTemp.Qci = "22";
                }
                else if (item.CompanyName.Contains("GDR"))
                {
                    bulkTemp.Qci = "D5";
                }
                else
                {
                    bulkTemp.Qci = "  ";
                }

                if (string.Compare(item.RIC, item.ReutersEditorialRIC) == 0)
                {
                    bulkTemp.PARENT_RIC = string.Empty;
                }
                else
                {
                    bulkTemp.PARENT_RIC = item.ReutersEditorialRIC;
                }

                string line = string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\",\"{13}\",\"{14}\",\"{15}\",\"{16}\",\"{17}\",\"{18}\",\"{19}\"",
                                            bulkTemp.Mnem, bulkTemp.Sedol, bulkTemp.Name1, bulkTemp.Name2,
                                            bulkTemp.Bdate, bulkTemp.DefMki, bulkTemp.Mnem2, bulkTemp.Isin, bulkTemp.CName,
                                            bulkTemp.Geog, bulkTemp.Dcur, bulkTemp.Remk, bulkTemp.Secty, bulkTemp.Grpi, bulkTemp.Fname1, bulkTemp.Mic,
                                            bulkTemp.Fname2, bulkTemp.Cusip, bulkTemp.Qci, bulkTemp.PARENT_RIC);
                //不包含重复内容
                if (!lines.Contains(line))
                {
                    lines.Add(line);
                }

                System.Threading.Thread.Sleep(5000);
            }
            string outputLine = string.Join("\r\n", lines.ToArray());

            return(outputLine);
        }
Esempio n. 3
0
        private string FormatOutputLine(List <DataStreamRicCreationInfo> ricCreations)
        {
            List <string> lines = new List <string>();

            foreach (DataStreamRicCreationInfo item in ricCreations)
            {
                string temp   = "";
                string name1  = string.Empty;
                string name2  = string.Empty;
                string suffix = string.Empty;
                DataStreamRicCreationBulkTemplate bulkTemp = new DataStreamRicCreationBulkTemplate();
                bulkTemp.Seqn = temp.PadRight(7, ' ');
                bulkTemp.Mnem = "PH:" + GetMnem(item.Ticker);
                if (string.IsNullOrEmpty(item.Sedol))
                {
                    string sedol = GetSedol(item.Isin);
                    if (string.IsNullOrEmpty(sedol))
                    {
                        sedol = temp.PadRight(9, ' ');
                    }
                    else
                    {
                        sedol = "UK" + sedol;
                    }
                    bulkTemp.Sedol = sedol;
                }
                else
                {
                    bulkTemp.Sedol = "UK" + item.Sedol;
                }

                if (item.AssetCategory.CompareTo("PRF") == 0 || item.AssetCategory.CompareTo("CPR") == 0 || item.AssetCategory.CompareTo("PREFERRED") == 0)
                {
                    FormatBulkNames(item.SecurityLongDescription, 24, 24, nameInputType.Name, ref name1, ref name2, ref suffix);
                    bulkTemp.NameSuffix = suffix;
                    bulkTemp.Name1      = name1;
                    bulkTemp.Name2      = name2;

                    FormatBulkNames(item.SecurityLongDescription, 19, 24, nameInputType.Fname, ref name1, ref name2, ref suffix);
                    bulkTemp.Fname1 = name1;
                    bulkTemp.Fname2 = name2;
                }
                else
                {
                    FormatBulkNames(item.CompanyName, 24, 24, nameInputType.Name, ref name1, ref name2, ref suffix);
                    bulkTemp.NameSuffix = suffix;
                    bulkTemp.Name1      = name1;
                    bulkTemp.Name2      = name2;

                    FormatBulkNames(item.CompanyName, 19, 24, nameInputType.Fname, ref name1, ref name2, ref suffix);
                    bulkTemp.Fname1 = name1;
                    bulkTemp.Fname2 = name2;
                }

                if (item.AssetCategory.CompareTo("PRF") == 0 || item.AssetCategory.CompareTo("CPR") == 0 || item.AssetCategory.CompareTo("PREFERRED") == 0)
                {
                    FormatCName(bulkTemp, item.CompanyName);
                }
                else
                {
                    name1 = bulkTemp.Name1.Trim();
                    name2 = bulkTemp.Name2.Trim();

                    string names = string.Empty;
                    if (!name1.EndsWith("."))
                    {
                        names = name1 + " " + name2;
                    }
                    else
                    {
                        names = name1 + name2;
                    }
                    FormatCName(bulkTemp, names);
                }


                if (item.FirstTradingDate.Equals("-9999999"))
                {
                    bulkTemp.Bdate = temp.PadRight(8, ' ');
                }
                else
                {
                    // string bdate = DateTime.ParseExact(item.FirstTradingDate, "ddMMyyyy", CultureInfo.InvariantCulture).ToString("dd/MM/yy", DateTimeFormatInfo.InvariantInfo);
                    string bdate = item.FirstTradingDate.Substring(6, 2) + "/" + item.FirstTradingDate.Substring(4, 2) + "/" + item.FirstTradingDate.Substring(2, 2);
                    bulkTemp.Bdate = bdate;
                }

                bulkTemp.DefMki = "MN";
                bulkTemp.Remk   = string.Empty.PadRight(4, ' ');
                bulkTemp.Mic    = string.Empty.PadRight(3, ' ');


                bulkTemp.Nosh  = "1";
                bulkTemp.Mnem2 = "PH" + item.Ticker.PadRight(10, ' ');

                if (item.Isin == string.Empty || item.Isin == null)
                {
                    bulkTemp.Isin = string.Empty.PadRight(12, ' ');
                }
                else
                {
                    bulkTemp.Isin = item.Isin;
                }
                bulkTemp.Geog = "057";
                bulkTemp.Dcur = "055";

                if (item.ThomsonReutersClassificationScheme.CompareTo("ETF") == 0)
                {
                    bulkTemp.Secty = "ET";
                    bulkTemp.Grpi  = "159";
                }
                else
                {
                    bulkTemp.Secty = "EQ";
                    bulkTemp.Grpi  = "116";
                }

                bulkTemp.Cusip = string.Empty.PadRight(12, ' ');
                if (item.CompanyName.Contains("ADR"))
                {
                    bulkTemp.Qci = "22";
                }
                else if (item.CompanyName.Contains("GDR"))
                {
                    bulkTemp.Qci = "D5";
                }
                else
                {
                    bulkTemp.Qci = "  ";
                }

                if (string.Compare(item.RIC, item.ReutersEditorialRIC) == 0)
                {
                    bulkTemp.PARENT_RIC = string.Empty;
                }
                else
                {
                    bulkTemp.PARENT_RIC = item.ReutersEditorialRIC;
                }

                string line = string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\",\"{13}\",\"{14}\",\"{15}\",\"{16}\",\"{17}\",\"{18}\",\"{19}\"",
                                            bulkTemp.Mnem, bulkTemp.Sedol, bulkTemp.Name1, bulkTemp.Name2,
                                            bulkTemp.Bdate, bulkTemp.DefMki, bulkTemp.Mnem2, bulkTemp.Isin, bulkTemp.CName,
                                            bulkTemp.Geog, bulkTemp.Dcur, bulkTemp.Remk, bulkTemp.Secty, bulkTemp.Grpi, bulkTemp.Fname1, bulkTemp.Mic,
                                            bulkTemp.Fname2, bulkTemp.Cusip, bulkTemp.Qci, bulkTemp.PARENT_RIC);
                //不包含重复内容
                if (!lines.Contains(line))
                {
                    lines.Add(line);
                }

                System.Threading.Thread.Sleep(5000);
            }
            string outputLine = string.Join("\r\n", lines.ToArray());

            return(outputLine);
        }