/// <summary> /// Get all Possible Subject. Can be duplicated for Irregular /// </summary> private void GetPossibleSubject() { ListView.CheckedListViewItemCollection items = lstSubjects.CheckedItems; if (lstSelectedSubjects.Items.Count == 0 || !isRegular) { foreach (ListViewItem i in items) { //ListViewItem itm = new ListViewItem("0"); //itm.SubItems.Add(i.SubItems[0].Text); //itm.SubItems.Add(i.SubItems[1].Text); //itm.SubItems.Add(i.SubItems[3].Text); //lstSelectedSubjects.Items.Add(itm); mc.AddSubject(i.SubItems[0].Text, i.SubItems[1].Text, i.SubItems[3].Text, Convert.ToInt32(db.DataLookUp("(LectureHours + LaboratoryHours)", "tblSubjects", "0", "SubjectID='" + i.SubItems[0].Text + "'"))); mc.ViewAllSubjectItems(lstSelectedSubjects); } } else { List <MySubject> selectedSubjects = mc.SelectedSubjects; foreach (ListViewItem i in items) { //Check every CheckedSubjects in Subjects does not exist in Selected Subjects if (selectedSubjects.Where(s => s.SubjectID.Equals(i.SubItems[0].Text)).Select(s => s).ToList().Count == 0) { mc.AddSubject(i.SubItems[0].Text, i.SubItems[1].Text, i.SubItems[3].Text, Convert.ToInt32(db.DataLookUp("(LectureHours + LaboratoryHours)", "tblSubjects", "0", "SubjectID='" + i.SubItems[0].Text + "'"))); mc.ViewAllSubjectItems(lstSelectedSubjects); } } } //Clears Check in Subjects Listview after Getting its possible entry ListView.CheckedIndexCollection indexCol = lstSubjects.CheckedIndices; foreach (int x in indexCol) { lstSubjects.Items[x].Checked = false; } }