// This function used by the view "DisplayExperimentLog" public ActionResult GetDataForCollaborativeGraphAsJSON(long ActiveExpID) { ActiveExperimentData activeExpData = (ActiveExperimentData)rsContext.getActiveExperiment(ActiveExpID); var groupsProgress = new List <Object>(); foreach (GroupData gData in rsContext.getGroupsByActiveExpID(ActiveExpID)) { //StudentData sData = gData.getfirstInStudents(); //if (sData == null) // return null; var students = gData.studentListAsString; string groupName = students.Split(',')[0]; var measurements = new List <Object>(); MeasurementByGroupIdData md = gData.getLastInMeasurements(); if (md == null) // no measurements yet { groupsProgress.Add(new { GroupName = groupName, Progress = gData.Progress, GroupMeasurements = new List <Object>(), GroupStudents = students }); continue; } foreach (OneMeasureByGroupIdData om in md.measurements) { // TODO: PAY ATTENTION: THIS CODE IS ONLY FOR ONE PARAMETER! measurements.Add(om.getFirstInMeasurements()); } groupsProgress.Add(new { GroupName = groupName, Progress = gData.Progress, GroupMeasurements = measurements, GroupStudents = students }); } return(Json(groupsProgress, JsonRequestBehavior.AllowGet)); }
public ActionResult SaveMeasurementsInDB(long GroupID, long RoomId, long ExpID, string StudentPhone, long CurrActivityIndex, List <List <double> > allMeasurements) { MeasurementByGroupIdData mbgid = rsContext.GetMeasurementByGroupID(ExpID, RoomId, GroupID, CurrActivityIndex); if (mbgid == null) { mbgid = new MeasurementByGroupIdData(ExpID, RoomId, GroupID, CurrActivityIndex); rsContext.AddMeasurementByGroupID(mbgid); rsContext.SaveChanges(); } GroupData group = rsContext.getGroupById(GroupID); foreach (List <double> currentOneMeausre in allMeasurements) { OneMeasureByGroupIdData oneM = new OneMeasureByGroupIdData(mbgid.id); foreach (double currentMeasure in currentOneMeausre) { oneM.addParameterMeasurement(currentMeasure); } rsContext.AddOneMeasureByGroupID(oneM); mbgid.addOneMeasure(oneM); } rsContext.SaveChanges(); group.AddMeasurement(mbgid); return(RedirectToAction("Experiment", new { expId = ExpID, studentPhone = StudentPhone, studentRoom = RoomId, currActivityIndex = CurrActivityIndex + 1 })); }
public ActionResult GetGroupsAsJSON(long ActiveExpID) { ActiveExperimentData activeExpData = (ActiveExperimentData)rsContext.getActiveExperiment(ActiveExpID); var groupsProgress = new List <Object>(); foreach (GroupData gData in rsContext.getGroupsByActiveExpID(ActiveExpID)) { StudentData sData = gData.getfirstInStudents(); if (sData == null) { return(null); } string groupName = sData.FirstName + " " + sData.LastName; var students = new List <Object>(); foreach (StudentData sd in gData.Students) { students.Add(" " + sd.FirstName + " " + sd.LastName); } var measurements = new List <Object>(); MeasurementByGroupIdData md = gData.getLastInMeasurements(); if (md == null) // no measurements yet { groupsProgress.Add(new { GroupName = groupName, Progress = gData.Progress, GroupMeasurements = new List <Object>(), GroupStudents = students }); continue; } foreach (OneMeasureByGroupIdData om in md.measurements) { // TODO: PAY ATTENTION: THIS CODE IS ONLY FOR ONE PARAMETER! measurements.Add(om.getFirstInMeasurements()); } groupsProgress.Add(new { GroupName = groupName, Progress = gData.Progress, GroupMeasurements = measurements, GroupStudents = students }); } return(Json(groupsProgress, JsonRequestBehavior.AllowGet)); }