예제 #1
0
        public ResultadoValidaciones validar(string mensajeXml, ResultadoValidaciones resultadoValidaciones)
        {
            XPathDocument document = new XPathDocument(XmlReader.Create(new StringReader(mensajeXml)));

            XPathNavigator navigator = document.CreateNavigator();

            try
            {
                Double monto = Double.Parse(navigator.SelectSingleNode("/notaVenta/monto").Value);
                Double porcentajeImpuesto = Double.Parse(navigator.SelectSingleNode("/notaVenta/porcentajeImpuesto").Value);
                Double total = Double.Parse(navigator.SelectSingleNode("/notaVenta/total").Value);
                if (monto * porcentajeImpuesto != total)
                {
                    resultadoValidaciones.agregarEvento(new EventoValidacion {
                        error = "Total no cuadra con monto por impuesto", accion = "Corregir total"
                    });
                }
            }
            catch (Exception ex) {
                resultadoValidaciones.agregarEvento(new EventoValidacion {
                    error = "No se pudo evaluar los calculos", accion = "Revisar"
                });
            }
            return(resultadoValidaciones);
        }
예제 #2
0
 private void feSettingsValidationEventHandler(object sender, ValidationEventArgs e)
 {
     if (e.Severity == XmlSeverityType.Warning)
     {
         resultadoValidaciones.agregarEvento(new EventoValidacion {
             error = e.Message, accion = "WARNING"
         });
     }
     else if (e.Severity == XmlSeverityType.Error)
     {
         resultadoValidaciones.agregarEvento(new EventoValidacion {
             error = e.Message, accion = "ERROR"
         });
     }
 }
        public ResultadoValidaciones validar(string mensajeXml, ResultadoValidaciones resultadoValidaciones)
        {
            XPathDocument document = new XPathDocument(XmlReader.Create(new StringReader(mensajeXml)));

            XPathNavigator navigator = document.CreateNavigator();

            try
            {
                string categoria          = navigator.SelectSingleNode("/notaVenta/categoria").Value;
                Double monto              = Double.Parse(navigator.SelectSingleNode("/notaVenta/monto").Value);
                Double porcentajeImpuesto = Double.Parse(navigator.SelectSingleNode("/notaVenta/porcentajeImpuesto").Value);
                Double total              = Double.Parse(navigator.SelectSingleNode("/notaVenta/total").Value);
                if (categoria == "VIVERES" && porcentajeImpuesto != 0)
                {
                    resultadoValidaciones.agregarEvento(new EventoValidacion {
                        error = "Tasa no aplica a " + categoria, accion = "Corregir"
                    });
                }
                if (categoria == "LICORES" && porcentajeImpuesto != 10)
                {
                    resultadoValidaciones.agregarEvento(new EventoValidacion {
                        error = "Tasa no aplica a " + categoria, accion = "Corregir"
                    });
                }
                if (categoria == "LIMPIEZA" && porcentajeImpuesto != 7)
                {
                    resultadoValidaciones.agregarEvento(new EventoValidacion {
                        error = "Tasa no aplica a " + categoria, accion = "Corregir"
                    });
                }
                Double totalCalculado = monto + (monto * porcentajeImpuesto / 100);
                if (totalCalculado != total)
                {
                    resultadoValidaciones.agregarEvento(
                        new EventoValidacion {
                        error  = "Total no cuadra con monto por impuesto (calculado: " + totalCalculado + " total: " + total,
                        accion = "Corregir total"
                    });
                }
            }
            catch (Exception ex) {
                resultadoValidaciones.agregarEvento(new EventoValidacion {
                    error = "No se pudo evaluar los calculos" + ex.Message, accion = "Revisar"
                });
            }
            return(resultadoValidaciones);
        }