public ActionResult Download(long userId, DocumentType type) { if (IsInvalid(userId)) { LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat( "KnowledgeGeneratorController.Download передан некорректный идентификатор пользователя: {0}", userId); return(RedirectToAction("Index")); } string userKey = GetUserKey(userId); var generatedItems = ControllerContext.Controller.TempData[userKey] as Dictionary <KnowledgeDataType, List <GeneratedKnowledgeItem> >; if (EnumerableValidator.IsNullOrEmpty(generatedItems)) { LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat( "KnowledgeGeneratorController.Download для пользователя с идентификатором {0} не удалось найти сгенерированные данные во временных данных", userId); return(RedirectToAction("Index")); } //записать данные опять, т.к. они удаляются после считывания WriteItemsToTempData(userKey, generatedItems); string header = WebSettingsConfig.Instance.GetTemplateText(SectionId.KnowledgeGenerator, TemplateId.Header); var downloader = new GeneratedKnowledgeDownloader(WebSettingsConfig.Instance.DomainWithProtocol, CommonConstants.GetFontPath(Server)) { Header = header }; var documentGenerator = downloader.Download(type, header, generatedItems); return(File(documentGenerator.Generate(), documentGenerator.ContentType, documentGenerator.FileName)); }
public static string GetHeader(KnowledgeDataType knowledgeDataType) { return(GeneratedKnowledgeDownloader.GetHeader(knowledgeDataType)); }