public ActionResult GetMeasures(AggregateFunction a, int?c, int o, string m) { var analytics = Analytics.FromSession(); var startDate = new DateTime(analytics.CalendarSettings.Year, analytics.CalendarSettings.Month, 1).AddMonths(o); if (c.HasValue) { analytics.CalendarSettings.CourseId = c.Value; } analytics.CalendarSettings.AggregateFunctionId = a; analytics.CalendarSettings.SelectedMeasures = m; analytics.CalendarSettings.DailyAggregations = CalendarDataProc.GetDailyAggregates ( startDate, startDate.AddMonths(2), analytics.ProcedureData.Where(x => x.IsSelected).Select(x => x.Id).ToList(), analytics.CalendarSettings.CourseId, analytics.CalendarSettings.SelectedMeasures, analytics.CalendarSettings.AggregateFunctionId == AggregateFunction.Avg ); analytics.CalendarSettings.Year = startDate.Year; analytics.CalendarSettings.Month = startDate.Month; return(Json(analytics.CalendarSettings.ToJson(), JsonRequestBehavior.AllowGet)); }
public ActionResult Charts(ProcedureResults procedureResults) { var analytics = Analytics.FromSession(); analytics.ProcedureResults.ViewType = procedureResults.ViewType; return(View("Results", analytics.ProcedureResults)); }
public ActionResult Criteria() { var analytics = Analytics.FromSession(); if (analytics.Criteria == null) { analytics.Criteria = new Criteria(); } return(View("Criteria", analytics.Criteria)); }
private static Analytics UpdateSession(int?timeScale, DateTime?timeFrom, DateTime?timeTo, int?timeout, bool grayscale) { var analytics = Analytics.FromSession(); analytics.VisualizationParams.TimeFrom = timeFrom; analytics.VisualizationParams.TimeTo = timeTo; analytics.VisualizationParams.TimeScale = timeScale.HasValue ? (TimeScale)timeScale.Value : TimeScale.Days; analytics.VisualizationParams.Timeout = timeout; analytics.VisualizationParams.GrayScale = grayscale; return(analytics); }
public ActionResult GetScoreFor(CategoryColumn x) { var analytics = Analytics.FromSession(); switch (x) { case CategoryColumn.Age: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .Where(r => r.Age.HasValue) .GroupBy(r => r.Age.Value) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); case CategoryColumn.Class: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .Where(r => !string.IsNullOrWhiteSpace(r.Class)) .GroupBy(r => r.Class) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); case CategoryColumn.Ethnicity: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .Where(r => !string.IsNullOrWhiteSpace(r.Ethnicity)) .GroupBy(r => r.Ethnicity) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); case CategoryColumn.Gender: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .Where(r => !string.IsNullOrWhiteSpace(r.Gender)) .GroupBy(r => r.Gender) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); case CategoryColumn.InstitutionId: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .GroupBy(r => r.InstitutionId) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); default: return(Json(((List <ProcedureDataItem>)analytics.ProcedureResults.Results) .GroupBy(r => r.Name) .Select(r => new { x = r.Key, y = Math.Truncate(100 * r.Average(s => s.Score)) / 100 }) .OrderBy(r => r.x) .ToArray(), JsonRequestBehavior.AllowGet)); } }
// // GET: /DataVisualization/ public ActionResult Index() { var analytics = Analytics.FromSession(); if (analytics.VisualizationParams == null) { analytics.VisualizationParams = new VisualizationParams(); } // always start from criteria data entry analytics.VisualizationParams.TimeFrom = analytics.Criteria.DateFrom; analytics.VisualizationParams.TimeTo = analytics.Criteria.DateTo; return(View("~/Views/Analytics/DataVisualization.cshtml", analytics.VisualizationParams)); }
public ActionResult Procedure(List <int> selectedDataItems) { var analytics = Analytics.FromSession(); analytics.SelectedDataItems = selectedDataItems; if (analytics.ProcedureSettings == null) { analytics.ProcedureSettings = new ProcedureSettings { SelectedProcedureType = ProcedureType.ErrorQuotient, ProcedureParams = new ErrorQuotientParams() }; } return(View("Procedure", analytics.ProcedureSettings)); }
public ActionResult Index() { var analytics = Analytics.FromSession(); if (analytics.CalendarSettings == null) { analytics.CalendarSettings = new CalendarSettings(); } if (analytics.Criteria != null) { if (analytics.Criteria.DateFrom.HasValue) { analytics.CalendarSettings.Year = analytics.Criteria.DateFrom.Value.Year; analytics.CalendarSettings.Month = analytics.Criteria.DateFrom.Value.Month; } analytics.CalendarSettings.CourseId = analytics.Criteria.CourseId; } return(View("~/Views/Analytics/CalendarVisualization.cshtml", analytics.CalendarSettings)); }
public ActionResult ChangeProcedure(FormCollection form) { var analytics = Analytics.FromSession(); analytics.ProcedureSettings.SelectedProcedureType = (ProcedureType)Enum.Parse(typeof(ProcedureType), form["SelectedProcedureType"]); if (analytics.ProcedureSettings.SelectedProcedureType == ProcedureType.WatwinScoring) { var procedureParams = analytics.ProcedureSettings.ProcedureParams as WatwinScoringParams; if (procedureParams == null) { analytics.ProcedureSettings.ProcedureParams = new WatwinScoringParams(); } } else { var procedureParams = analytics.ProcedureSettings.ProcedureParams as ErrorQuotientParams; if (procedureParams == null) { analytics.ProcedureSettings.ProcedureParams = new ErrorQuotientParams(); } } return(View("Procedure", analytics.ProcedureSettings)); }
public ActionResult Refine(Criteria criteria) { var analytics = Analytics.FromSession(); analytics.Criteria = criteria; analytics.ProcedureData = ProcedureDataProc.Get(criteria) .Select(x => new ProcedureDataItem { IsSelected = true, Id = x.Id, InstitutionId = x.InstitutionId, Name = x.Name, Gender = ((Gender)x.Gender).ToString(), Age = x.Age, Class = x.Class, Deliverable = x.Deliverable, Grade = x.Grade, Ethnicity = x.Ethnicity }) .ToList(); analytics.SelectedDataItems = null; return(View("Refine", analytics.ProcedureData)); }
public ActionResult CalcWatwinScoring(WatwinScoringParams procedureParams) { var analytics = Analytics.FromSession(); analytics.ProcedureSettings.ProcedureParams = procedureParams; analytics.ProcedureResults = new ProcedureResults { ViewType = ResultViewType.Tabular, }; var resultlist = new List <ProcedureDataItem>(); foreach (var u in WatwinScoringAnalytics.GetResults(procedureParams, analytics.Criteria.DateFrom, analytics.Criteria.DateTo, analytics.SelectedDataItems)) { var user = analytics.ProcedureData.Where(r => r.IsSelected && r.Id == u.UserId).First(); user.Score = u.Score; resultlist.Add(user); } analytics.ProcedureResults.Results = resultlist; ViewBag.ScoreTitle = "WS Score"; return(View("Results", analytics.ProcedureResults)); }
public ActionResult Procedure() { return(View("Procedure", Analytics.FromSession().ProcedureSettings)); }
public ActionResult Refine() { return(View("Refine", Analytics.FromSession().ProcedureData)); }