public ActionResult New(EditViewModel viewModel) { if (!ModelState.IsValid) { return(ViewEdit(viewModel)); } var fileResourceInfo = FileResourceModelExtensions.CreateNewFromHttpPostedFileAndSave(viewModel.FileResourceData, CurrentFirmaSession); var reportTemplateModelType = ReportTemplateModelType.All.FirstOrDefault(x => x.ReportTemplateModelTypeID == viewModel.ReportTemplateModelTypeID); var reportTemplateModel = ReportTemplateModel.All.FirstOrDefault(x => x.ReportTemplateModelID == viewModel.ReportTemplateModelID); var reportTemplate = ReportTemplate.CreateNewBlank(fileResourceInfo, reportTemplateModelType, reportTemplateModel); ReportTemplateGenerator.ValidateReportTemplate(reportTemplate, out var reportIsValid, out var errorMessage, out var sourceCode); if (reportIsValid) { viewModel.UpdateModel(reportTemplate, fileResourceInfo, CurrentFirmaSession, HttpRequestStorage.DatabaseEntities); SitkaDbContext.SaveChanges(); SetMessageForDisplay($"Report Template \"{reportTemplate.DisplayName}\" successfully created."); } else { SetErrorForDisplay($"There was an error with this template: {errorMessage}"); if (!sourceCode.IsEmpty()) { SetErrorWithScrollablePreForDisplay($"{sourceCode}"); } } return(new ModalDialogFormJsonResult()); }