protected void gvPrereqCart_RowCommand(object sender, GridViewCommandEventArgs e) { List <int> prereqIDlist = (List <int>)Session["selectedPrereq"]; int id = Convert.ToInt32(e.CommandArgument); Course_elearnDAO ceDAO = new Course_elearnDAO(); List <int> allLinkedCourses = ceDAO.getAllCourseLinkedToPrerequisite(id); foreach (int linkedID in allLinkedCourses) { if (prereqIDlist.Contains(linkedID)) { prereqIDlist.Remove(linkedID); } } prereqIDlist.Remove(id); Session["selectedPrereq"] = prereqIDlist; var itemIDs = string.Join(",", ((IList <int>)Session["selectedPrereq"]).ToArray()); var sqlQueryCourseList = ""; if (itemIDs.Length > 0) { sqlQueryCourseList = String.Format("SELECT * FROM [Elearn_course] ec INNER JOIN [Elearn_courseCategory] ecc ON ec.categoryID = ecc.categoryID WHERE ec.status='active' and ec.start_date<=getDate() and ec.expiry_date>=getDate() and ec.elearn_courseID NOT IN ({0}) and ec.courseType='Online Learning'", itemIDs); } else { sqlQueryCourseList = "SELECT * FROM [Elearn_course] ec INNER JOIN [Elearn_courseCategory] ecc ON ec.categoryID = ecc.categoryID WHERE ec.status='active' and ec.start_date<=getDate() and ec.expiry_date>=getDate() and ec.courseType='Online Learning'"; } SqlDataSource1.SelectCommand = sqlQueryCourseList; gvPrereq.DataSource = SqlDataSource1; gvPrereq.DataBind(); gvPrereq.UseAccessibleHeader = true; if (gvPrereq.Rows.Count > 0) { gvPrereq.HeaderRow.TableSection = TableRowSection.TableHeader; } var sqlQuery = ""; if (itemIDs.Length > 0) { sqlQuery = String.Format("SELECT * FROM [Elearn_course] WHERE [elearn_courseID] IN ({0})", itemIDs); } else { sqlQuery = "SELECT * FROM [Elearn_course] WHERE [elearn_courseID] = -1"; } SqlDataSourcePrereqCart.SelectCommand = sqlQuery; gvPrereqCart.DataSource = SqlDataSourcePrereqCart; gvPrereqCart.DataBind(); }
protected List <int> getAllPostRequisiteCourses(int courseID) { List <int> toReturn = new List <int>(); Course_elearnDAO ceDAO = new Course_elearnDAO(); List <int> currentPostRequisite = ceDAO.getAllCourseLinkedToPrerequisite(courseID); foreach (int currentCourseID in currentPostRequisite) { toReturn.Add(currentCourseID); List <int> innerList = getAllPostRequisiteCourses(currentCourseID); if (innerList.Count > 0) { foreach (int innerListCourseID in innerList) { toReturn.Add(innerListCourseID); } } } return(toReturn); }