private IReportRequest LoadTemplate(MvcContext context, string templateCode, Type definitionType, Controller controller){ log.debug(() => "start load template"); var definition = LoadDefinition(templateCode, definitionType).Clone(); definition.CleanupParameters(myapp.usr); if (acl.get(definition)){ var result = new ReportRequest(); var savedcode = controller.Request.Params["srcode"]; if(savedcode.hasContent()){ definition.TemplateParameters.SavedReport = myapp.storage.Get<ISavedReport>().Load(savedcode); if(!definition.TemplateParameters.SavedReport.Authorize(myapp.usr)) { throw new SecurityException("попытка вывода недоступного хранимого отчета с кодом "+savedcode); } }else { definition.TemplateParameters.SavedReport = myapp.storage.Get<ISavedReport>().Load(templateCode+"_default"); } if (!controller.existed("notempalate")){ definition.LoadParameters(controller.Request.Params); } result.ReportDefinition = definition; result.RequestId = new ReportRequestIdentity{Uid = Guid.NewGuid().ToString()}; log.debug(() => "end load template"); return result; } else{ throw new SecurityException("Вы не имеете права использовать шаблон отчета с кодом " + templateCode); } }