項目中在上傳Excel資料時,有一個Currency欄位會到Currency表中Check使用者輸入的是否正確,這時發現一個問題:如果使用者輸入的是小寫usd,到Currency表中Check時可以通過,但是儲存到自己的表中如果是小寫話就會有問題。所以下面的方法參數加了
ref
/// <summary>
/// 檢查Currency Code是否存在
/// </summary>
/// <param name="inputString">需要Check的字元</param>
/// <returns></returns>
public static bool CheckCurrency(ref string inputString)
{
CurrencyEntity entityCurrency = new CurrencyEntity();
entityCurrency.QueryMode = true;
entityCurrency.CurrencyCode += inputString;
entityCurrency.EffectiveFrom += SystemParameter.DefaultNowDate;
entityCurrency.EffectiveFrom.Operator = BenQ.Public.QData.Foundation.SQLOperator.LessThanEqual;
entityCurrency.EffectiveTo += SystemParameter.DefaultNowDate;
entityCurrency.EffectiveTo.Operator = BenQ.Public.QData.Foundation.SQLOperator.MoreThanEqual;
DataTable currencyTable = entityCurrency.Query().Tables[0];
if (currencyTable.Rows.Count > 0)
{
inputString = currencyTable.Rows[0][entityCurrency.CurrencyCode.PhysicalFieldName.ToString()].ToString();
return true;
}
else
{
return false;
}
}
調用: if (!CommonFunction.CheckCurrency(ref currency))
{
m_DetailTable.Rows[i]["ErrorMessage"] = "Currecny is invalid";
result = false;
}