Esempio n. 1
0
        private async Task ProcessPageByIdAsync(string pageId, ExpandoObject dataModel)
        {
            await LoggerService.WriteLogMessage($"{DateTime.Now.ToLongTimeString()}: Started precessing of page \"{pageId}\"");

            var page = await PageModelReaderService.LoadContentByIdAsync(pageId).ConfigureAwait(false);

            var html = await TemplateService.RenderTemplateAsync(page.Content, page, dataModel);

            html = await MarkupService.RenderMarkupAsync(html).ConfigureAwait(false);

            page.Content = html;

            var template = await TemplateReaderService.LoadContentByIdAsync(page.TemplateId).ConfigureAwait(false);

            html = await TemplateService.RenderTemplateAsync(template.Template, page, dataModel).ConfigureAwait(false);

            html = await HtmlMinificationService.CompressHtmlAsync(html).ConfigureAwait(false);

            var result = new TextContentModel();

            result.Id         = page.Id;
            result.ContentRaw = html;

            await PageModelWriterService.SaveContentAsync(page.Url, result).ConfigureAwait(false);

            await LoggerService.WriteLogMessage($"{DateTime.Now.ToLongTimeString()}: Finished page precessing \"{pageId}\"");
        }
        public TextContentView(IEventAggregator eventAggregator, TextContentModel model)
        {
            _eventAggregator = eventAggregator;
            _model           = model;

            InitializeComponent();
            _eventAggregator.GetEvent <SelectAllTextEvent>().Subscribe(SelectAllText);
            _eventAggregator.GetEvent <CutTextEvent>().Subscribe(CutText);
            _eventAggregator.GetEvent <CopyTextEvent>().Subscribe(CopyText);
            _eventAggregator.GetEvent <PasteTextEvent>().Subscribe(PasteText);
            _eventAggregator.GetEvent <FileSaveEvent>().Subscribe(SaveText);
            _eventAggregator.GetEvent <FileSaveAsEvent>().Subscribe(SaveTextAs);
            _eventAggregator.GetEvent <FileOpenEvent>().Subscribe(FileOpen);
        }