public SQLITaint GetSQLStatus(uint paramNumber, string paramValue = "")
{
var param = Parameters.FirstOrDefault(x => x.Key.Item1 == paramNumber);
try
{
switch (param.Key.Item2)
{
case "flag":
var flagVal = Int32.Parse(paramValue);
var flagParam = (FlagParameter<SQLITaint>)param.Value;
return flagParam.GetStatus(flagVal);
case "bool":
case "boolean":
var boolVal = Boolean.Parse(paramValue);
var boolParam = (BooleanParameter<SQLITaint>)param.Value;
return boolParam.GetStatus(boolVal);
case "int":
case "integer":
var intVal = Int32.Parse(paramValue);
var intParam = (IntegerParameter<SQLITaint>)param.Value;
return intParam.GetStatus(intVal);
case "str":
case "string":
var stringParam = (StringParameter<SQLITaint>)param.Value;
return stringParam.GetStatus(paramValue);
case "array":
break;
case "object":
break;
default:
return DefaultStatus;
}
return DefaultStatus;
}
catch(NullReferenceException e)
{
Debug.WriteLine("Could not fetch value, returning default. Exception was: {0}", e);
return this.DefaultStatus;
}
}