public CsvResult Get(EdFiDashboardContext context) { var goalStrands = _service.Get(new GoalStrandRequest() { StudentUSI = context.StudentUSI.GetValueOrDefault(), SchoolId = context.SchoolId.GetValueOrDefault(), MetricVariantId = context.MetricVariantId.GetValueOrDefault() }); var export = new ExportAllModel(); var rows = new List <ExportAllModel.Row>(); foreach (var goalStrand in goalStrands) { var cells = new List <KeyValuePair <string, object> >() { new KeyValuePair <string, object>("Goal Strand", goalStrand.LearningStandard), }; cells.AddRange(goalStrand.Assessments.Select(assessment => new KeyValuePair <string, object>(assessment.AssessmentTitle, assessment.Value))); rows.Add(new ExportAllModel.Row() { Cells = cells }); } export.Rows = rows; return(new CsvResult(export)); }
public ActionResult Get(EdFiDashboardContext context) { var goalStrands = service.Get(new GoalStrandRequest() { StudentUSI = context.StudentUSI.GetValueOrDefault(), SchoolId = context.SchoolId.GetValueOrDefault(), MetricVariantId = context.MetricVariantId.GetValueOrDefault() }); var model = new GridTable { MetricVariantId = context.MetricVariantId.GetValueOrDefault() }; if (goalStrands == null || goalStrands.Count == 0) { return(View(model)); } /*Preparing headers*/ #region Headers model.Columns = new List <Column> { new Column { IsVisibleByDefault = true, IsFixedColumn = true, Children = new List <Column> { new ImageColumn { Src = "LeftGrayCorner.png", IsVisibleByDefault = true, IsFixedColumn = true }, new TextColumn { DisplayName = GoalStrandsColumnHeading, IsVisibleByDefault = true, IsFixedColumn = true }, } }, new TextColumn { DisplayName = "Spacer", IsVisibleByDefault = true, IsFixedColumn = true, Children = new List <Column> { new TextColumn { IsVisibleByDefault = true, IsFixedColumn = true }, } } }; //For the Dynamic Columns (this is the Header which is empty "no text") var parentColumn = new TextColumn { DisplayName = BenchmarkAssessmentsColumnHeading, IsVisibleByDefault = true }; foreach (var goalStrandAssessment in goalStrands[0].Assessments) { parentColumn.Children.Add(new TextColumn { DisplayName = goalStrandAssessment.AssessmentForm + ": " + goalStrandAssessment.AssessmentPeriod + "<br/>(" + goalStrandAssessment.DateAdministration.ToString("MM/d/yy") + ")", Tooltip = goalStrandAssessment.AssessmentTitle, IsVisibleByDefault = true }); } model.Columns.Add(parentColumn); #endregion #region Rows foreach (var goalStrand in goalStrands) { var row = new List <object>(); //First cells (Spacer,Expectation,Spacer) row.Add(new CellItem <double> { DV = "", V = 0 }); row.Add(new ObjectiveTextCellItem <string> { O = goalStrand.LearningStandard, V = goalStrand.LearningStandard }); //Spacer row.Add(new SpacerCellItem <double> { DV = "", V = 0 }); foreach (var goalStrandAssessment in goalStrand.Assessments) { var cell = new GoalStrandCellItem <int> { DV = "", V = -1 }; if (goalStrandAssessment.Administered) { cell.V = ChangeValueForSorting(goalStrandAssessment.MetricStateTypeId); cell.GS = (goalStrandAssessment.MetricStateTypeId != null) ? goalStrandAssessment.MetricStateTypeId.Value : (int)MetricStateType.None; cell.DV = string.Format("{0} = {1}", goalStrandAssessment.AssessmentReportingType, goalStrandAssessment.Value); } row.Add(cell); } model.Rows.Add(row); } #endregion return(View(model)); }