コード例 #1
0
        public static DataTable ConvertExcelData(DataTable dt, string[] yields, string[] annualDiv, string[] company, out List<int> lstForumaCol)
        {
            DataTable dtFinal = GetFinalTables();
            string[] col = INIFileOptions.ReadINIKeyValues(KeyPartition.columnName);
            string[] visible = INIFileOptions.ReadINIKeyValues(KeyPartition.visible);
            lstForumaCol = new List<int>();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["active"].ToString() == "true")
                {
                    DataRow dr = dtFinal.NewRow();
                    decimal shares = Convert.ToDecimal(dt.Rows[i]["shares"]);
                    decimal cost = Convert.ToDecimal(dt.Rows[i]["cost"]);
                    decimal annDiv = annualDiv[i] == "N/A" ? 0 : Convert.ToDecimal(annualDiv[i]);
                    decimal yearlyDiv = Math.Round(shares * annDiv, 2);
                    INIFile ini = new INIFile(uti.GetFilePath(FileTypes.ini));
                    int visCnt = 0;
                    int cnt = 0;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = dt.Rows[i]["symbol"].ToString();
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = company[i].Length == 0 ? "" : company[i].ToString();
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = dt.Rows[i]["industry"].ToString();
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(shares);
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(cost);
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(annDiv);
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = yields[i] == "N/A" ? 0 : yields[i] == "" ? 0 : Convert.ToDouble(yields[i]);
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(Math.Round(yearlyDiv / 12, 2));
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(Math.Round(yearlyDiv / 4, 2));

                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Convert.ToDouble(yearlyDiv);
                    }
                    cnt++;
                    if (visible[visCnt++] == "True")
                    {
                        dr[col[cnt].ToLower()] = Math.Round(Convert.ToDouble(shares * cost), 2);
                    }
                    cnt = 0;
                    visCnt = 0;
                    //if (visible[cnt] == "true")
                    //{
                    //    yearlyDividends += Convert.ToDecimal(yearlyDiv);
                    //}
                    //totalCost += Math.Round(Convert.ToDecimal(dt.Rows[i]["shares"]) * Convert.ToDecimal(dt.Rows[i]["cost"]), 2);
                    dtFinal.Rows.Add(dr);
                }
            }

            for (int a = 0; a < visible.Length; a++)
            {
                if (visible[a] == "True")
                {
                    lstForumaCol.Add(a);
                }
            }

            DataRow drEmpty = dtFinal.NewRow();
            if (visible[6] == "True")
            {
                //industry
                drEmpty[col[6].ToLower()] = 0;
            }
            //drEmpty["Annual Dividend"] = 0;
            if (visible[7] == "True")
            {
                drEmpty[col[7].ToLower()] = 0;
            }
            if (visible[8] == "True")
            {
                drEmpty[col[8].ToLower()] = 0;
            }
            if (visible[9] == "True")
            {
                drEmpty[col[9].ToLower()] = 0;
            }
            if (visible[10] == "True")
            {
                drEmpty[col[10].ToLower()] = 0;
            }
            dtFinal.Rows.Add(drEmpty);
            return dtFinal;
        }
コード例 #2
0
 public static string[] GetINISectionKeyValues()
 {
     string[] keyValues = new string[11];
     INIFile ini = new INIFile(uti.GetFilePath(FileTypes.ini));
     string[] sections = GetINISection();
     string[] keys = GetINIKeys();
     int a = 0;
     for (int i = 0; i < sections.Length; i++)
     {
         keyValues[i] = ini.Read(sections[i], keys[i]);
     }
     return keyValues;
 }