예제 #1
0
        private static void ValidarSchemaEventoContainer(EventoContainer container, versao versao)
        {
            if (container.GetType() == typeof(evCancCTe))
            {
                var evCancCTe = (evCancCTe)container;

                var xmlEventoCancelamento = evCancCTe.ObterXmlString();

                switch (versao)
                {
                case versao.ve200:
                    Validador.Valida(xmlEventoCancelamento, "evCancCTe_v2.00.xsd");
                    break;

                case versao.ve300:
                    Validador.Valida(xmlEventoCancelamento, "evCancCTe_v3.00.xsd");
                    break;

                default:
                    throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
                                                        "a versão está inválida, somente é permitido " +
                                                        "versão 2.00 é 3.00");
                }
            }

            if (container.GetType() == typeof(evCCeCTe))
            {
                var evCCeCTe = (evCCeCTe)container;

                var xmlEventoCCe = evCCeCTe.ObterXmlString();

                switch (versao)
                {
                case versao.ve200:
                    Validador.Valida(xmlEventoCCe, "evCCeCTe_v2.00.xsd");
                    break;

                case versao.ve300:
                    Validador.Valida(xmlEventoCCe, "evCCeCTe_v3.00.xsd");
                    break;

                default:
                    throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
                                                        "a versão está inválida, somente é permitido " +
                                                        "versão 2.00 é 3.00");
                }
            }
        }