/// <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); }