Пример #1
0
        // 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));
        }
Пример #2
0
        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 }));
        }
Пример #3
0
        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));
        }