DataTable looks like below
I would like to simplify this code in a better manner.
DataTable dt = results.Results[0].DataTable;
dt.Columns.Add("Averagedays", typeof(string));
dt.Columns.Add("0to3", typeof(string));
dt.Columns.Add("4to7", typeof(string));
dt.Columns.Add("Gtrthan7", typeof(string));
foreach (DataRow row in dt.Rows)
{
if (row["total_daysclose"] != System.DBNull.Value && row["closed_in0to3_count"] != System.DBNull.Value
&& row["closed_in4to7_count"] != System.DBNull.Value && row["closedGtr7_count"] != System.DBNull.Value
&& row["Closed"] != System.DBNull.Value)
{
if (Convert.ToDecimal(row["closed"]) > 0)
{
decimal value = Convert.ToDecimal(row["total_daysclose"]) / Convert.ToDecimal(row["Closed"]);
row["Averagedays"] = string.Format("{0:0.#}", Math.Floor(value * 10) / 10);
row["0to3"] = string.Format("{0:P1}", Convert.ToDecimal(row["closed_in0to3_count"]) / Convert.ToDecimal(row["Closed"]));
row["4to7"] = string.Format("{0:P1}", Convert.ToDecimal(row["closed_in4to7_count"]) / Convert.ToDecimal(row["Closed"]));
row["Gtrthan7"] = string.Format("{0:P1}", Convert.ToDecimal(row["closedGtr7_count"]) / Convert.ToDecimal(row["Closed"]));
}
else
{
row["Averagedays"] = string.Format("{0:0.#}", 0);
row["0to3"] = string.Format("{0:P1}", 0);
row["4to7"] = string.Format("{0:P1}", 0);
row["Gtrthan7"] = string.Format("{0:P1}", 0);
}
}
}