Привет Вот логика, которую я хотел бы переписать в очень компактной версии. Я знаю, что это возможно, но я в замешательстве, поэтому я предоставляю всю логику в очень сырой расширенной версии.
{
//unitOfDisplay = "MB";
keyValuePair.Value.MonthlyInfo[TOTAL].RowHeader = "Total MB";
if (keyValuePair.Value.MonthlyInfo[UNIT].Month1 != "-" && keyValuePair.Value.MonthlyInfo[UNIT].Month1 != toUOM.ToString())
{
string fromunit = keyValuePair.Value.MonthlyInfo[UNIT].Month1;
//Call converter method
double outdata;
if (keyValuePair.Value.MonthlyInfo[TOTAL].Month1 != "-" && !(keyValuePair.Value.MonthlyInfo[TOTAL].Month1.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[TOTAL].Month1, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[TOTAL].Month1 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[INCLUDED].Month1 != "-" && !(keyValuePair.Value.MonthlyInfo[INCLUDED].Month1.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[INCLUDED].Month1, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[INCLUDED].Month1 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[BILLED].Month1 != "-" && !(keyValuePair.Value.MonthlyInfo[BILLED].Month1.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[BILLED].Month1, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[BILLED].Month1 = outdata.ToString("#,###,###.##");
}
}
if (keyValuePair.Value.MonthlyInfo[UNIT].Month2 != "-" && keyValuePair.Value.MonthlyInfo[UNIT].Month2 != toUOM.ToString())
{
string fromunit = keyValuePair.Value.MonthlyInfo[UNIT].Month2;
//Call converter method.
double outdata;
if (keyValuePair.Value.MonthlyInfo[TOTAL].Month2 != "-" && !(keyValuePair.Value.MonthlyInfo[TOTAL].Month2.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[TOTAL].Month2, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[TOTAL].Month2 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[INCLUDED].Month2 != "-" && !(keyValuePair.Value.MonthlyInfo[INCLUDED].Month2.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[INCLUDED].Month2, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[INCLUDED].Month2 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[BILLED].Month2 != "-" && !(keyValuePair.Value.MonthlyInfo[BILLED].Month2.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[BILLED].Month2, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[BILLED].Month2 = outdata.ToString("#,###,###.##");
}
}
if (keyValuePair.Value.MonthlyInfo[UNIT].Month3 != "-" && keyValuePair.Value.MonthlyInfo[UNIT].Month3 != toUOM.ToString())
{
string fromunit = keyValuePair.Value.MonthlyInfo[UNIT].Month3;
//Call converter method.
double outdata;
if (keyValuePair.Value.MonthlyInfo[TOTAL].Month3 != "-" && !(keyValuePair.Value.MonthlyInfo[TOTAL].Month3.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[TOTAL].Month3, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[TOTAL].Month3 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[INCLUDED].Month3 != "-" && !(keyValuePair.Value.MonthlyInfo[INCLUDED].Month3.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[INCLUDED].Month3, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[INCLUDED].Month3 = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[BILLED].Month3 != "-" && !(keyValuePair.Value.MonthlyInfo[BILLED].Month3.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[BILLED].Month3, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[BILLED].Month3 = outdata.ToString("#,###,###.##");
}
}
if (keyValuePair.Value.MonthlyInfo[UNIT].Average != "-" && keyValuePair.Value.MonthlyInfo[UNIT].Average != toUOM.ToString())
{
string fromunit = keyValuePair.Value.MonthlyInfo[UNIT].Average;
//Call converter method.
double outdata;
if (keyValuePair.Value.MonthlyInfo[TOTAL].Average != "-" && !(keyValuePair.Value.MonthlyInfo[TOTAL].Average.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[TOTAL].Average, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[TOTAL].Average = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[INCLUDED].Average != "-" && !(keyValuePair.Value.MonthlyInfo[INCLUDED].Average.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[INCLUDED].Average, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[INCLUDED].Average = outdata.ToString("#,###,###.##");
}
if (keyValuePair.Value.MonthlyInfo[BILLED].Average != "-" && !(keyValuePair.Value.MonthlyInfo[BILLED].Average.ToString().Equals("0.00")))
{
ConvertDataUnit(keyValuePair.Value.MonthlyInfo[BILLED].Average, fromunit, toUOM.ToString(), out outdata);
keyValuePair.Value.MonthlyInfo[BILLED].Average = outdata.ToString("#,###,###.##");
}
}
}
Этот случай только для случаев, когда единица отображения указана в МБ, логика преобразует значение для общей суммы месяца, выставленной в счет и включенной и усредненной из соответствующих единиц (которые могут быть в МБ, КБ или ГБ) в 'МБ «
Затем мне нужно написать еще 2 похожих случая, когда единица измерения равна 1. «ГБ» и 2. «КБ»
Мне нужна помощь, чтобы написать компактную логику для этих данных.
Спасибо
Kris!