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; }
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; }