I have the following code can somehelp me shorten it:
public static decimal LoadDiscounts(System.Data.
DataRow dr, System.Data.DataRow drPLH)
{
Decimal dec = 0.00M;
dec = (Decimal)dr.ItemArray[2];
if (dr.ItemArray[0].ToString(
) == "01") // Wheat
{
switch (dr.ItemArray[3].ToString(
))
{
case "DAMP":
dec += Decimal.Parse(drPLH["WHT_D
AMP_DISC_A
MT"].ToStr
ing());
break;
case "DAMP STONE":
dec += Decimal.Parse(drPLH["WHT_D
AMP_DISC_A
MT"].ToStr
ing()) + Decimal.Parse(drPLH["WHT_T
OUGH_DISC_
AMT"].ToSt
ring());
break;
case "STONE":
dec += Decimal.Parse(drPLH["WHT_S
TONE_DISC_
AMT"].ToSt
ring());
break;
case "STRAIGHT":
// dr.ItemArray[2] = dr.ItemArray[2]; // not needed
break;
case "TOUGH":
dec += Decimal.Parse(drPLH["WHT_T
OUGH_DISC_
AMT"].ToSt
ring());
break;
case "TOUGH STONE":
dec += Decimal.Parse(drPLH["WHT_T
OUGH_DISC_
AMT"].ToSt
ring()) + Decimal.Parse(drPLH["WHT_S
TONE_DISC_
AMT"].ToSt
ring());
break;
}
}
if (dr.ItemArray[0].ToString(
) == "02") // Durum
{
switch (dr.ItemArray[3].ToString(
))
{
case "DAMP":
dec += Decimal.Parse(drPLH["DURUM
_DAMP_DISC
_AMT"].ToS
tring());
break;
case "DAMP STONE":
dec += Decimal.Parse(drPLH["DURUM
_DAMP_DISC
_AMT"].ToS
tring()) + Decimal.Parse(drPLH["DURUM
_TOUGH_DIS
C_AMT"].To
String());
break;
case "STONE":
dec += Decimal.Parse(drPLH["DURUM
_STONE_DIS
C_AMT"].To
String());
break;
case "STRAIGHT":
// dr.ItemArray[2] = dr.ItemArray[2]; // not needed
break;
case "TOUGH":
dec += Decimal.Parse(drPLH["DURUM
_TOUGH_DIS
C_AMT"].To
String());
break;
case "TOUGH STONE":
dec += Decimal.Parse(drPLH["DURUM
_TOUGH_DIS
C_AMT"].To
String()) + Decimal.Parse(drPLH["DURUM
_STONE_DIS
C_AMT"].To
String());
break;
}
}
if (dr.ItemArray[0].ToString(
) == "04") // Barley
{
switch (dr.ItemArray[3].ToString(
))
{
case "DAMP":
dec += Decimal.Parse(drPLH["BLY_D
AMP_DISC_A
MT"].ToStr
ing());
break;
case "DAMP STONE":
dec += Decimal.Parse(drPLH["BLY_D
AMP_DISC_A
MT"].ToStr
ing()) + Decimal.Parse(drPLH["BLY_T
OUGH_DISC_
AMT"].ToSt
ring());
break;
case "STONE":
dec += Decimal.Parse(drPLH["BLY_S
TONE_DISC_
AMT"].ToSt
ring());
break;
case "STRAIGHT":
// dr.ItemArray[2] = dr.ItemArray[2]; // not needed
break;
case "TOUGH":
dec += Decimal.Parse(drPLH["BLY_T
OUGH_DISC_
AMT"].ToSt
ring());
break;
case "TOUGH STONE":
dec += Decimal.Parse(drPLH["BLY_T
OUGH_DISC_
AMT"].ToSt
ring()) + Decimal.Parse(drPLH["BLY_S
TONE_DISC_
AMT"].ToSt
ring());
break;
}
}
if (dr.ItemArray[0].ToString(
) == "64") // DesBarley
{
switch (dr.ItemArray[3].ToString(
))
{
case "DAMP":
dec += Decimal.Parse(drPLH["DESIG
TD_BLY_DAM
P_DISC_AMT
"].ToStrin
g());
break;
case "DAMP STONE":
dec += Decimal.Parse(drPLH["DESIG
TD_BLY_DAM
P_DISC_AMT
"].ToStrin
g()) + Decimal.Parse(drPLH["DESIG
TD_BLY_TOU
GH_DISC_AM
T"].ToStri
ng());
break;
case "STRAIGHT":
// dr.ItemArray[2] = dr.ItemArray[2]; // not needed
break;
case "TOUGH":
dec += Decimal.Parse(drPLH["DESIG
TD_BLY_TOU
GH_DISC_AM
T"].ToStri
ng());
break;
}
}
return dec;
}
}
I appreciate it.