Esempio n. 1
0
        public ValidarXMLResponse Validar(ValidarXMLRequest request)
        {
            ValidarXMLResponse response = new ValidarXMLResponse();

            response.Situacao = SituacaoEnum.Validando.Descricao();
            response.Nome     = request.XML.FileName;
            response.Data     = DateTime.Now;

            try
            {
                if (!Path.GetExtension(request.XML.FileName).Equals(".XML", StringComparison.CurrentCultureIgnoreCase))
                {
                    throw new Exception("O arquivo compactado não é de extensão XML.");
                }

                var versao = RecuperaVersao(request.XML.OpenReadStream());

                if (String.IsNullOrEmpty(versao))
                {
                    throw new Exception("Não foi possível identificar a versão TISS do arquivo ou o mesmo não está nas versões aceitas.");
                }

                var validar = Tiss.Versao.ValidarFactory.Validar(versao);
                validar.ValidarXML(request.XML.OpenReadStream(), versao);

                response.Transacao = validar.Transacao;
                response.Versao    = validar.versao;
                response.Xml       = validar.Xml;
                response.Situacao  = SituacaoEnum.Concluido.Descricao();

                if (!String.IsNullOrEmpty(validar.Ocorrencia))
                {
                    response.Situacao   = SituacaoEnum.ConcluidoComAlerta.Descricao();
                    response.Ocorrencia = validar.Ocorrencia;
                }
            }
            catch (System.Exception e)
            {
                response.Situacao   = SituacaoEnum.Erro.Descricao();
                response.Ocorrencia = e.Message;
            }

            return(response);
        }
Esempio n. 2
0
        public ValidarXMLResponse Post([FromForm] ValidarXMLRequest request)
        {
            ValidarXMLResponse response;

            try
            {
                _logger.LogInformation("Iniciando o processo de validação...");

                response = new Business.Tiss.ValidarXML().Validar(request);

                _logger.LogInformation("Concluíndo o processo de validação...");
            }
            catch (System.Exception e)
            {
                _logger.LogError(e.Message);
                throw new Exception(e.Message);
            }

            return(response);
        }