public ActionResult Index(int id) { var customer = this.customerRepository.Get(id); var medalCalculator = new MedalCalculators(customer); return(Json(medalCalculator, JsonRequestBehavior.AllowGet)); } // Index
public byte[] GenerateReport(MedalCalculators medalCalculators, string fullName) { var worksheet = _workbook.Worksheets[_workbook.Worksheets.ActiveSheetIndex]; worksheet.Name = "Medal Calculations"; CreateHead(worksheet, fullName); int row = 2; CreateXlsHeaderMedalResult(worksheet, row); row++; CreateXlsContentMedalResult(medalCalculators, row, worksheet); row = row + 3; CreateXlsHeaderMedalCharecteristic(row, worksheet); var lastMedal = medalCalculators.DetailedHistory.MedalDetailsHistories.FirstOrDefault(); if (lastMedal != null) { foreach (var medal in lastMedal.MedalCharacteristics) { row++; worksheet.Cells[row, 0].PutValue(medal.CustomerCharacteristic); worksheet.Cells[row, 1].PutValue(medal.WeightUsed.ToString(CultureInfo.InvariantCulture) + "%"); worksheet.Cells[row, 2].PutValue(medal.ACParameters.ToString(CultureInfo.InvariantCulture) + " from " + medal.MaxPoss + " ( " + medal.PointsObtainedPercent + "%) "); SetCellStyle(worksheet, row, false); } row++; worksheet.Cells[row, 0].PutValue("Total"); worksheet.Cells[row, 1].PutValue(lastMedal.TotalWeightUsed.ToString(CultureInfo.InvariantCulture) + "%"); worksheet.Cells[row, 2].PutValue(lastMedal.TotalACParameters.ToString(CultureInfo.InvariantCulture) + " from " + lastMedal.TotalMaxPoss + " ( " + lastMedal.TotalPointsObtainedPercent + "%) "); SetCellStyle(worksheet, row, true); } return(_workbook.SaveToStream().ToArray()); }
private static void CreateXlsContentMedalResult(MedalCalculators medalCalculators, int row, Worksheet worksheet) { var medalResult = medalCalculators.Score; worksheet.Cells[row, 0].PutValue(medalResult.Medal); worksheet.Cells[row, 1].PutValue(medalResult.Points); worksheet.Cells[row, 2].PutValue(medalResult.Result); SetCellStyle(worksheet, 3, false); }
public override void ExecuteResult(ControllerContext context) { var medalCalculator = new MedalCalculators(_customer); var generator = new MedalExcelReportGenerator(); var content = generator.GenerateReport(medalCalculator, _customer.PersonalInfo.Fullname); var f = new FileContentResult(content, "application/xls") { FileDownloadName = "Medal Calculations(" + _customer.PersonalInfo.Fullname + ").xls" }; f.ExecuteResult(context); }