public ComplianceReviewReportViewModel GetViewModel(ChecklistViewModel checklistViewModel) { _model = new ComplianceReviewReportViewModel(); if (!checklistViewModel.AllQuestionTemplate) { AddSiteVisitDetails(checklistViewModel); AddSiteDetails(checklistViewModel); AddImmediateRiskNotifications(checklistViewModel); ParseAnswers(checklistViewModel); AddCountOfDifferentResponses(checklistViewModel); } else { ParseAllQuestions(checklistViewModel); } AddSectionSelections(checklistViewModel); return _model; }
public ComplianceReviewReportViewModel GetViewModel(ChecklistViewModel checklistViewModel) { _model = new ComplianceReviewReportViewModel(); AddSiteVisitDetails(checklistViewModel); AddSiteDetails(checklistViewModel); AddImmediateRiskNotifications(checklistViewModel); ParseAnswers(checklistViewModel); return _model; }
//http://wouterdekort.blogspot.co.uk/2012/10/rendering-aspnet-mvc-view-to-string-in.html public static string RenderViewToString(ComplianceReviewReportViewModel viewData) { var controllerName = "Document"; var viewName = "ActionPlan"; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", controllerName); var controllerContext = new ControllerContext(contextBase, routeData, new DocumentController()); var razorViewEngine = new RazorViewEngine(); var razorViewResult = razorViewEngine.FindView(controllerContext, viewName, "", false); var writer = new StringWriter(); var viewContext = new ViewContext(controllerContext, razorViewResult.View, new ViewDataDictionary(viewData), new TempDataDictionary(), writer); razorViewResult.View.Render(viewContext, writer); return writer.ToString(); }