public static List<Dept> GetDepts(DateTime? limitDate)
{
var depts = new List<Dept>();
string strSql;
DataTable dataTable;
if (limitDate == null)
{
strSql = "SELECT d.DeptId,deptName,COUNT(dt.TeamId) FROM Dept d left join DeptTeam dt on d.DeptId = dt.DeptId where d.endDate is null group by d.DeptId,deptName";
dataTable = DbConnector.GenerateDataTable(strSql);
}
else
{
strSql = "SELECT d.DeptId,deptName,COUNT(dt.TeamId) FROM Dept d left join DeptTeam dt on d.DeptId = dt.DeptId where (d.endDate>@limitDate or d.endDate is null) group by d.DeptId,deptName";
dataTable = DbConnector.GenerateDataTable(strSql, new[] { new SqlParameter("@limitDate", limitDate) });
}
if(dataTable!=null&&dataTable.Rows.Count>0)
{
for(int i=0;i<dataTable.Rows.Count;i++)
{
depts.Add(new Dept(Convert.ToInt32(dataTable.Rows[i][0]),dataTable.Rows[i][1].ToString(),Convert.ToInt32(dataTable.Rows[i][2])));
}
}
return depts;
}