/// <summary>
        /// Registra o actualiza una nota al pie
        /// </summary>
        /// <param name="data">Datos a registrar</param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public ProcessResult <object> RegistrarNotaPie(PlantillaRequerimientoNotaPieRequest data)
        {
            ProcessResult <object>      resultado      = new ProcessResult <object>();
            Dictionary <string, string> contenidoArray = new Dictionary <string, string>();

            try
            {
                var listado = plantillaRequerimientoLogicRepository.BuscarNotasPiePorPlantilla(null, new Guid(data.CodigoPlantilla), 1, -1);

                var existeOrden = listado.Any(n => n.Orden == data.Orden);

                if (existeOrden && string.IsNullOrEmpty(data.CodigoPlantillaNotaPie))
                {
                    resultado.IsSuccess = false;
                    resultado.Exception = new ApplicationLayerException <PlantillaRequerimientoService>(MensajesSistema.PlantillaNotaOrdenExiste);
                }
                else
                {
                    //Mejorar visibilidad de etiqueta sup
                    if (data.Contenido.Contains("<sup>"))
                    {
                        data.Contenido = data.Contenido.Replace("<sup>", "<span style='font-size: 6px; vertical-align:super;'>");
                        data.Contenido = data.Contenido.Replace("</sup>", "</span>");
                    }

                    if (string.IsNullOrEmpty(data.CodigoPlantillaNotaPie))
                    {
                        var entidad = new PlantillaRequerimientoNotaPieEntity();
                        entidad.CodigoPlantillaNotaPie = Guid.NewGuid();
                        entidad.CodigoPlantilla        = new Guid(data.CodigoPlantilla);
                        entidad.Orden     = Convert.ToByte(data.Orden);
                        entidad.Titulo    = data.Titulo;
                        entidad.Contenido = data.Contenido;

                        plantillaRequerimientoNotaPieEntityRepository.Insertar(entidad);
                    }
                    else
                    {
                        var entidadSincronizar = plantillaRequerimientoNotaPieEntityRepository.GetById(new Guid(data.CodigoPlantillaNotaPie));
                        entidadSincronizar.Orden     = (byte)data.Orden;
                        entidadSincronizar.Titulo    = data.Titulo;
                        entidadSincronizar.Contenido = data.Contenido;

                        plantillaRequerimientoNotaPieEntityRepository.Editar(entidadSincronizar);
                    }

                    plantillaRequerimientoNotaPieEntityRepository.GuardarCambios();
                    resultado.Result = data;
                }
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <PlantillaRequerimientoService>(e);
            }

            return(resultado);
        }
        /// <summary>
        /// Realiza la búsqueda de notas al pie por plantilla
        /// </summary>
        /// <param name="filtro">Filtro de búsqueda</param>
        /// <returns>Listado de notas al pie</returns>
        public ProcessResult <List <PlantillaRequerimientoNotaPieResponse> > BuscarNotasPiePorPlantilla(PlantillaRequerimientoNotaPieRequest filtro)
        {
            ProcessResult <List <PlantillaRequerimientoNotaPieResponse> > resultado = new ProcessResult <List <PlantillaRequerimientoNotaPieResponse> >();
            var listaNotas = new List <PlantillaRequerimientoNotaPieResponse>();

            try
            {
                Guid?codigoPlantillaNotaPie = filtro.CodigoPlantillaNotaPie != null ? new Guid(filtro.CodigoPlantillaNotaPie) : (Guid?)null;
                Guid?codigoPlantilla        = filtro.CodigoPlantilla != null ? new Guid(filtro.CodigoPlantilla) : (Guid?)null;
                var  listado = plantillaRequerimientoLogicRepository.BuscarNotasPiePorPlantilla(codigoPlantillaNotaPie, codigoPlantilla, filtro.NumeroPagina, filtro.RegistrosPagina);

                foreach (var item in listado)
                {
                    var nota = new PlantillaRequerimientoNotaPieResponse();
                    nota.CodigoPlantillaNotaPie = item.CodigoPlantillaNotaPie;
                    nota.CodigoPlantilla        = item.CodigoPlantilla;
                    nota.Orden     = item.Orden;
                    nota.Titulo    = item.Titulo;
                    nota.Contenido = item.Contenido;

                    listaNotas.Add(nota);
                }

                resultado.Result = listaNotas;
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <PlantillaRequerimientoService>(e);
            }
            return(resultado);
        }