using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
public static Employee GetEmployeeByID(Int32 personID)
{
Employee objEmployee = new Employee();
Database objDatabase = DatabaseFactory.CreateDatabase();
DbCommand objDbCommand = objDatabase.GetStoredProcCommand("SP_Name");
try
{
objDatabase.AddInParameter(objDbCommand, "@PersonID", DbType.Int32, personID);
using (IDataReader dr = objDatabase.ExecuteReader(objDbCommand))
{
while (dr.Read())
{
BuildModel(dr, objEmployee );
}
}
}
catch (DbException ex)
{
bool rethrow = ExceptionPolicy.HandleException(ex, "Data Context Exception Policy");
if (rethrow)
throw;
}
return objEmployee ;
}
private static void BuildModel(IDataReader objDataReader, Employee objEmployee)
{
DataTable objDataTable = objDataReader.GetSchemaTable();
foreach (DataRow dr in objDataTable.Rows)
{
string column = dr.ItemArray[0].ToString();
switch (column)
{
case "Name":
objGroupInfo.Name=objDataReader["Name"];
break;
case "Family":
objGroupInfo.Family=objDataReader["Family"];
break;
}
}
}