コード例 #1
0
        /// <summary>
        /// Realiza la adaptación de campos para registrar o actualizar
        /// </summary>
        /// <param name="data">Datos a registrar o actualizar</param>
        /// <returns>Entidad Plantilla Párrafo con los datos a registrar</returns>
        public static PlantillaRequerimientoParrafoEntity RegistrarPlantillaParrafo(PlantillaRequerimientoParrafoRequest data)
        {
            var plantillaParrafoEntity = new PlantillaRequerimientoParrafoEntity();

            if (data.CodigoPlantillaParrafo != null)
            {
                plantillaParrafoEntity.CodigoPlantillaParrafo = new Guid(data.CodigoPlantillaParrafo);
            }
            else
            {
                Guid code;
                code = Guid.NewGuid();
                plantillaParrafoEntity.CodigoPlantillaParrafo = code;
            }

            plantillaParrafoEntity.CodigoPlantilla = new Guid(data.CodigoPlantilla);
            plantillaParrafoEntity.Orden           = Convert.ToByte(data.Orden);
            plantillaParrafoEntity.Titulo          = data.Titulo;

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

            plantillaParrafoEntity.Contenido = data.Contenido;

            return(plantillaParrafoEntity);
        }
コード例 #2
0
        /// <summary>
        /// Registra o actualiza un párrafo
        /// </summary>
        /// <param name="data">Datos a registrar</param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public ProcessResult <object> RegistrarPlantillaParrafo(PlantillaRequerimientoParrafoRequest data)
        {
            ProcessResult <object>      resultado      = new ProcessResult <object>();
            Dictionary <string, string> contenidoArray = new Dictionary <string, string>();

            try
            {
                var contenidoTemporal           = " " + data.Contenido;
                var identificadorInicioVariable = "##";

                var listaSeparat = contenidoTemporal.Split(new string[1] {
                    identificadorInicioVariable
                }, StringSplitOptions.None);

                if (listaSeparat.Count() > 1)
                {
                    var listadoVariable          = variableLogicRepository.BuscarVariableGlobal(new Guid(data.CodigoPlantilla));
                    var identificadorFinVariable = new string[10] {
                        " ", "<", ".", ",", "-", "/", "\\", ")", "(", "&nbsp"
                    };
                    for (int i = 1; i < listaSeparat.Count(); i++)
                    {
                        var lista = listaSeparat[i].Split(identificadorFinVariable, StringSplitOptions.None);
                        var identificadorVariable = identificadorInicioVariable + lista.FirstOrDefault().Trim().ToUpper().ToString();

                        if (listadoVariable.Any(x => x.Identificador.ToUpper() == identificadorVariable))
                        {
                            Guid codigoVariable = listadoVariable.Where(x => x.Identificador.ToUpper() == identificadorVariable).FirstOrDefault().CodigoVariable;
                            contenidoArray.SetValue(codigoVariable.ToString(), identificadorInicioVariable + lista.FirstOrDefault().Trim());
                        }
                    }
                }

                PlantillaRequerimientoParrafoEntity entidad = PlantillaRequerimientoParrafoAdapter.RegistrarPlantillaParrafo(data);

                var resultadoPorOrdenDescripcion = plantillaRequerimientoLogicRepository.BuscarPlantillaParrafoOrdenTitulo(new Guid(data.CodigoPlantilla), Convert.ToByte(data.Orden), data.Titulo);

                bool existeRepetido = resultadoPorOrdenDescripcion.Any(e => e.CodigoPlantillaParrafo != entidad.CodigoPlantillaParrafo);

                if (existeRepetido)
                {
                    string mensaje = "";
                    resultado.IsSuccess = false;

                    if (resultadoPorOrdenDescripcion.Where(x => x.Orden.ToString() == data.Orden.ToString() && x.Titulo == data.Titulo).Count() == 1)
                    {
                        mensaje = MensajesSistema.PlantillaParrafoExiste;
                    }
                    else if (resultadoPorOrdenDescripcion.Where(x => x.Orden.ToString() == data.Orden.ToString()).Count() == 1)
                    {
                        mensaje = MensajesSistema.PlantillaParrafoOrdenExiste;
                    }
                    else
                    {
                        mensaje = MensajesSistema.PlantillaParrafoTituloExiste;
                    }

                    resultado.Exception = new ApplicationLayerException <PlantillaRequerimientoService>(mensaje);
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(data.CodigoPlantillaParrafo))
                    {
                        plantillaRequerimientoParrafoEntityRepository.Insertar(entidad);

                        PlantillaRequerimientoParrafoVariableRequest dataVariable = new PlantillaRequerimientoParrafoVariableRequest();
                        dataVariable.CodigoPlantillaParrafo = entidad.CodigoPlantillaParrafo.ToString();

                        int ordenAscendente = 1;
                        foreach (var item in contenidoArray)
                        {
                            dataVariable.CodigoVariable = item.Key.ToString();
                            dataVariable.Orden          = Convert.ToInt16(ordenAscendente);
                            PlantillaRequerimientoParrafoVariableEntity entidadPlantillaParrafoVariable = PlantillaRequerimientoParrafoVariableAdapter.RegistrarPlantillaParrafoVariable(dataVariable);

                            plantillaRequerimientoParrafoVariableEntityRepository.Insertar(entidadPlantillaParrafoVariable);

                            ordenAscendente++;
                        }
                    }
                    else
                    {
                        //Editar Plantilla Párrafo
                        var entidadSincronizar = plantillaRequerimientoParrafoEntityRepository.GetById(entidad.CodigoPlantillaParrafo);
                        entidadSincronizar.CodigoPlantilla = entidad.CodigoPlantilla;
                        entidadSincronizar.Orden           = entidad.Orden;
                        entidadSincronizar.Titulo          = entidad.Titulo;
                        entidadSincronizar.Contenido       = entidad.Contenido;

                        plantillaRequerimientoParrafoEntityRepository.Editar(entidadSincronizar);

                        //Editar Plantilla Párrafo Variable
                        var listaVariablesAnteriores = plantillaRequerimientoLogicRepository.BuscarPlantillaParrafoVariableCodigoPlantillaParrafo(entidad.CodigoPlantillaParrafo);

                        var listaEliminados = listaVariablesAnteriores.Where(v => !contenidoArray.Keys.Contains(v.CodigoVariable.ToString()));

                        foreach (var item in listaEliminados)
                        {
                            var llaveEntidad = item.CodigoPlantillaParrafoVariable;
                            plantillaRequerimientoParrafoVariableEntityRepository.Eliminar(llaveEntidad);
                        }

                        int orden = 1;
                        foreach (var contenido in contenidoArray)
                        {
                            var plantillaParrafoVariable = listaVariablesAnteriores.Where(item => item.CodigoVariable == new Guid(contenido.Key)).FirstOrDefault();
                            if (plantillaParrafoVariable == null)
                            {
                                PlantillaRequerimientoParrafoVariableRequest dataVariable = new PlantillaRequerimientoParrafoVariableRequest();
                                dataVariable.CodigoPlantillaParrafo = entidadSincronizar.CodigoPlantillaParrafo.ToString();
                                dataVariable.CodigoVariable         = contenido.Key;
                                dataVariable.Orden = Convert.ToInt16(orden);
                                PlantillaRequerimientoParrafoVariableEntity entidadPlantillaParrafoVariable = PlantillaRequerimientoParrafoVariableAdapter.RegistrarPlantillaParrafoVariable(dataVariable);

                                plantillaRequerimientoParrafoVariableEntityRepository.Insertar(entidadPlantillaParrafoVariable);
                            }
                            else
                            {
                                var entidadSincronizarVariable = plantillaRequerimientoParrafoVariableEntityRepository.GetById(plantillaParrafoVariable.CodigoPlantillaParrafoVariable);
                                entidadSincronizarVariable.Orden = Convert.ToInt16(orden);

                                plantillaRequerimientoParrafoVariableEntityRepository.Editar(entidadSincronizarVariable);
                            }
                            orden++;
                        }
                    }

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

            return(resultado);
        }