in a three layer application how can I send returned fields from sdr in business layer to higher layer?
I tried this using a class but I want know if there is another way except declaring a class for each select statement in data layer.
In this example I used PaySlip Class.
public Class_PaySlip ReadPaySlip(string prsnlcod,string company,int _month,int _year)
{
lasterror = string.Empty;
var lst = new List<SqlParameter>();
lst.Add(new SqlParameter("@prsnlcod", prsnlcod));
lst.Add(new SqlParameter("@company", company));
lst.Add(new SqlParameter("@month", _month));
lst.Add(new SqlParameter("@year", _year));
var PaySlip = new Class_PaySlip();
try
{
using (SqlDataReader sdr = dbh.Read("reportpersonpaySlip", CommandType.SP, lst))
{
if (dbh.lasError == string.Empty)
{
if (sdr != null)
{
if (sdr.Read())
{
PaySlip = (CatchPaySlip(sdr,prsnlcod,company,_month,_year));
}
sdr.Close();
return PaySlip;
}
.
.
.
Initilizing Payslipclass:
private Class_PaySlip CatchPaySlip(SqlDataReader sdr,string prsnlcod,string company,int _month,int _year)
{
Class_PaySlip PaySlip = new Class_PaySlip();
PaySlip.Gender = ((DBNull.Value) == sdr["Gender"]) ? string.Empty : sdr["Gender"].ToString();
PaySlip.EmpType = ((DBNull.Value) == sdr["EmploymentType"]) ? string.Empty : sdr["EmploymentType"].ToString();
.
.
.
}