Mostrar la Bitácora

Para mostrar las entradas a la bitácora se hizo un Stored procedure que tiene como entrada el tipo de entidad y un rango de fechas


Para la realización de esto, se tuvo un problema que nos costó mucho solucionar. 
Se utilizó la función  JsonConvert.DeserializeObject<DataTable>() de la extensión que proporciona Visual Studio Newtonsoft.Json (se puede instalar desde la misma aplicación). La cual recibe el json y lo transforma en una tabla, la cual solo es de ingresar como datos a un grid view
El problema que se tuvo es el siguente.
    Error:    Invalid property identifier character: &. Path '[0]', line 1, position 2

Para ver los datos y saber que le estaba enviando a la función, se mostraba en un label de la misma pagina web, el cual nos daba lo siguiente:
    [{"Id":1,"Id_Propiedad":1,"Id_Usuario":1,"activo":1}]

El json estaba correcto al parecer, se hizo un sub string de la comilla doble y vimos que se mostró el caracter "&", el cual es el carácter invalido que nos indica el error. Y pensando en que el label transformaba esos elementos a otra forma de lectura de char, se nos ocurrió remplazar el caracter "&" por comilla doble, el cual nos dio otro error, básicamente que se expectaba ":" pero que el caracter que siguió fue una "q" y así  mismo con varias letras más, por lo que pensamos que se trataba de que remplazaba las comillas dobles por una cadena en especifico.
Tras varias pruebas y errores, logramos encontrar el incidente, las comillas dobles las remplazaba por la palabra "&quot;", entonces la solución solo era hacer el remplazo completo.

Para validad los json vacíos solo se tomaba un sub string al primer caracter, si era "[" se sabe que es un json, si no, no lo era.

Parte del código de lo anterior:
Y finalmente este fue el resultado:

Links usados:
    -Creación dinámica de las entradas de la bitácora:

    -Parseo de jsons:


Horas de trabajo: 7 aproximadamente, contando el tiempo de solución del error

Comentarios

Entradas más populares de este blog

Generación de la Bitacora

P3-A11: Arreglo de pago por Pagina Web