public List <MentorObject> getListSubjectClass(string userMentor, Semester semester) { CourseraApiSoapClient courseraApiSoap = new CourseraApiSoapClient(); var listSubjectID = context.Subjects.Where(o => o.Subject_Active == true).Select(o => o.Subject_ID).ToArray(); string authenKey = "A90C9954-1EDD-4330-B9F3-3D8201772EEA"; List <MentorObject> objectMentor = new List <MentorObject>(); try { string jsonData = courseraApiSoap.GetScheduledSubject(authenKey, userMentor.Split('@')[0], listSubjectID, semester.Semester_Name); var scheduledSubject = Newtonsoft.Json.JsonConvert.DeserializeObject <List <MertorFAP> >(jsonData); scheduledSubject = scheduledSubject.Distinct(new ListComparer()).ToList(); foreach (var scheduled in scheduledSubject) { objectMentor.Add(new MentorObject { Subject_ID = scheduled.SubjectCode, Class_ID = scheduled.ClassName }); } } catch { objectMentor = new List <MentorObject>(); } var list = (from a in objectMentor join b in context.Subjects on a.Subject_ID equals b.Subject_ID select new { Subject_ID = a.Subject_ID, Subject_Name = b.Subject_Name, Class_ID = a.Class_ID, id = a.Subject_ID + "^" + a.Class_ID }).ToList() .Select(o => new MentorObject { Subject_ID = o.Subject_ID, Subject_Name = o.Subject_Name, Class_ID = o.Class_ID, id = o.id }).ToList(); return(list); }
private bool checkMentor(string userMentor) { MSSEntities context = new MSSEntities(); Semester semester = new Semester(); DateTime date = DateTime.Now; CourseraApiSoapClient courseraApiSoap = new CourseraApiSoapClient(); semester = context.Semesters.Where(sem => sem.Start_Date <date && sem.End_Date> date).FirstOrDefault(); var listSubjectID = context.Subjects.Where(o => o.Subject_Active == true).Select(o => o.Subject_ID).ToArray(); string authenKey = "A90C9954-1EDD-4330-B9F3-3D8201772EEA"; List <MentorObject> objectMentor = new List <MentorObject>(); try { string jsonData = courseraApiSoap.GetScheduledSubject(authenKey, userMentor.Split('@')[0], listSubjectID, semester.Semester_Name.Replace(" ", "")); var scheduledSubject = Newtonsoft.Json.JsonConvert.DeserializeObject <List <MertorFAP> >(jsonData); scheduledSubject = scheduledSubject.Distinct(new ListComparer()).ToList(); foreach (var scheduled in scheduledSubject) { objectMentor.Add(new MentorObject { Subject_ID = scheduled.SubjectCode, Class_ID = scheduled.ClassName }); } } catch { objectMentor = new List <MentorObject>(); } if (objectMentor.Count > 0) { return(true); } return(false); }
public ActionResult Detail(StatusOverviewModel model, string id, string searchCheck, string selectCoursCompleted, string selectFinalStatus) { DateTime date = DateTime.Now; var semester = unitOfWork.Semesters.GetAll().Where(sem => sem.Start_Date <date && sem.End_Date> date).FirstOrDefault(); var userMentor = (UserLogin)HttpContext.Session[CommonConstants.User_Session]; var listSubjectClass = unitOfWork.CoursesLog.getListSubjectClass(userMentor.UserName, semester); CourseraApiSoapClient courseraApiSoap = new CourseraApiSoapClient(); string jsonDataClass = ""; model.searchCheck = searchCheck; List <StatusOverviewModel> Status = new List <StatusOverviewModel>(); if (!String.IsNullOrEmpty(searchCheck)) { try { foreach (var subjectClass in listSubjectClass) { if (id == subjectClass.id) { string authenKey = "A90C9954-1EDD-4330-B9F3-3D8201772EEA"; jsonDataClass = courseraApiSoap.getStudents(authenKey, userMentor.UserName.Split('@')[0], subjectClass.Subject_ID.Trim(), subjectClass.Class_ID.Trim(), semester.Semester_Name); var rollFap = Newtonsoft.Json.JsonConvert.DeserializeObject <List <RollFAP> >(jsonDataClass); var rolls = rollFap[0].RollNumber.ToString().Trim(); rolls = "," + rolls + ","; var maxDate = new MSSEntities().Student_Course_Log.Where(o => o.Semester_ID == semester.Semester_ID).OrderByDescending(o => o.Date_Import).FirstOrDefault().Date_Import; var statusList = new MSSEntities().sp_Get_Main_Report(maxDate, semester.Semester_ID, -1, "", "", "", "", rolls).ToList(); foreach (var item in statusList) { if (item.Subject_ID.Trim().Equals(id.Split('^')[0].Trim())) { Status.Add(new StatusOverviewModel { Roll = item.Roll, Email = item.Email, Note = item.Note, SubjectID = item.Subject_ID, SubjectName = item.Subject_Name, No_Compulsory_Course = item.No_Compulsory_Course, No_Course_Completed = item.No_Course_Completed, Spec_Completed = item.Spec_Completed, Final_Status = item.Final_status, Campus = item.Campus_ID }); } } break; } } } catch { Status = new List <StatusOverviewModel>(); } if (!string.IsNullOrWhiteSpace(model.Roll)) { Status = Status.Where(s => s.Roll.Trim().Contains(model.Roll.Trim())).ToList(); } if (Convert.ToInt32(selectCoursCompleted) != -1) { Status = Status.Where(s => s.No_Course_Completed == Convert.ToInt32(selectCoursCompleted)).ToList(); } if (!string.IsNullOrWhiteSpace(selectFinalStatus)) { Status = Status.Where(s => s.Final_Status.Trim().Equals(selectFinalStatus.Trim())).ToList(); } if (Status.Count == 0) { ViewBag.Nodata = "No data found"; } else { ViewBag.Nodata = ""; } } ViewBag.Subject = id.Split('^')[0]; ViewBag.Class = id.Split('^')[1]; ViewBag.SemesterID = semester != null ? semester.Semester_ID : ""; List <SelectListItem> selectFinal = new List <SelectListItem>(); selectFinal.Add(new SelectListItem { Text = "--All--", Value = "" }); selectFinal.Add(new SelectListItem { Text = "Completed", Value = "Completed" }); selectFinal.Add(new SelectListItem { Text = "Not Completed", Value = "Not Completed" }); ViewBag.selectFinalStatus = selectFinal; ViewBag.CountRoll = Status.Select(o => o.Roll).Distinct().Count(); ViewBag.CountLog = Status.Count(); model.OverviewList = Status; return(View(model)); }