Exemple #1
0
        public IActionResult GetRoute(string url)
        {
            //Stopwatch sw = new Stopwatch(); // Creación del Stopwatch.
            //sw.Start(); // Iniciar la medición.
            var page = _documentationApi.GetPage($"/{url}");

            if (page == null)
            {
                return(NotFound());
            }
            //sw.Stop();
            //Log.Information($"Tiempo pasado al hacer GetPage de {url} : {sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff")}\n");
            //Cambiar el contendio de los uses
            CmsDataViewModel dataModel = new CmsDataViewModel();

            //sw = new Stopwatch(); // Creación del Stopwatch.
            //sw.Start(); // Iniciar la medición.
            if (page.Content.Contains("@*<%"))
            {
                dataModel = _replaceUsesService.PageWithDirectives(page.Content, dataModel);
            }
            //sw.Stop();
            //Log.Information($"cargar las directivas de la página : {sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff")}\n");
            return(View($"/{url}", dataModel));
        }
        public IActionResult GetRoute(string url)
        {
            var page = _documentationApi.GetPage($"/{url}");

            if (page == null)
            {
                return(NotFound());
            }
            //Cambiar el contendio de los uses
            CmsDataViewModel dataModel = new CmsDataViewModel();

            if (page.Content.Contains("@*<%"))
            {
                dataModel = _replaceUsesService.PageWithDirectives(page.Content, dataModel);
            }
            return(View($"/{url}", dataModel));
        }
        /// <summary>
        /// Método que carga en el modelo los resultados obtenidos al llamar a los servicios especificados en las directivas
        /// </summary>
        /// <param name="htmlContent">html de la página con las directivas</param>
        /// <param name="dataModel">modelo donde cargar los datos</param>
        /// <returns>Modelo con los datos cargados</returns>
        public CmsDataViewModel PageWithDirectives(string htmlContent, CmsDataViewModel dataModel)
        {
            dataModel.Results = new List <string>();
            Dictionary <int, string> directiveList = Directives(htmlContent);

            foreach (var item in directiveList)
            {
                if (item.Value.Equals("api"))
                {
                    dataModel.Results.Add(Api(htmlContent, item.Key));
                }
                else if (item.Value.Equals("sparql"))
                {
                    dataModel.Results.Add(Sparql(htmlContent, item.Key));
                }
            }
            return(dataModel);
        }