public DataView LoadAvailables(int jobId) { if (DalSubstitute.LoadAvailables(jobId)) { int substituteId = 0; int locationId = 0; bool isAvailable; Job job = new Job(jobId); Substitute substitute = new Substitute(); Dal.Preferred pref = new Miami.Substitute.Dal.Preferred(); Dal.SubstituteExceptions substituteExceptions = new Miami.Substitute.Dal.SubstituteExceptions(); DataRowView drv; DalSubstitute.DefaultView.Table.Columns.Add("IsApplied"); DalSubstitute.DefaultView.Table.Columns.Add("TimeWorks"); DalSubstitute.DefaultView.Table.Columns.Add("DatetimeStart"); DalSubstitute.DefaultView.Table.Columns.Add("VisibleAssign"); foreach (DataRow dr in DalSubstitute.DefaultView.Table.Rows) { if (dr["SubstituteId"] != null && dr["SubstituteId"] != DBNull.Value) { substituteId = Convert.ToInt32(dr["SubstituteId"]); substitute = new Substitute(substituteId); locationId = Convert.ToInt32(dr["JobLocationId"]); isAvailable = !substituteExceptions.IsOverlapped(substitute.UserId, job.DatetimeStart, job.DatetimeEnd); drv = job.LoadLastJobBySubstitute(substituteId); if (drv != null) { dr["TimeWorks"] = drv["TimeWorks"]; dr["DatetimeStart"] = drv["DatetimeStart"]; } if (job.IsOverlap(jobId, substituteId)) { dr["IsApplied"] = "<img src='Images/clerkassigned.gif' border='0'>"; dr["VisibleAssign"] = 0; } else if (!isAvailable) { dr["IsApplied"] = "<img src='Images/notapplied.gif' border='0'>"; dr["VisibleAssign"] = 0; } else { if (job.LoadSubstituteJob(jobId, substituteId)) { dr["IsApplied"] = "<img src='Images/applied.gif' border='0'>"; } else { dr["IsApplied"] = "<img src='Images/blue.gif' border='0'>"; } dr["VisibleAssign"] = 1; } } else { dr["IsApplied"] = "<img src='Images/notapplied.gif' border='0'>"; dr["VisibleAssign"] = 0; } } DalSubstitute.DefaultView.Sort = "IsClerkPreferred DESC, IsPreferred DESC"; return(DalSubstitute.DefaultView); } else { return(null); } }