Пример #1
0
        public ImprimeViaEventArgs(TefLinhaLista respostaRequisicaoAdm)
        {
            var campo737 = respostaRequisicaoAdm.BuscaLinha(737);
            var campo028 = respostaRequisicaoAdm.BuscaLinha(028);

            if (campo737 != null)
            {
                ViaDeComprovante = (ViaComprovante)int.Parse(campo737.Valor);
            }

            if (ViaDeComprovante == ViaComprovante.NaoHaComprovante && campo028 != null && campo028.Valor != "0")
            {
                ViaDeComprovante = ViaComprovante.ViaClienteIEstabelecimento;
            }

            var viaEstabelecimento = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaEstabelecimentoComprovante).ToList());
            var viaCliente         = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaClienteComprovante).ToList());
            var viaUnica           = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaUnicaComprovante).ToList());
            var viaReduzida        = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaReduzidaComprovante));


            ViaEstabelecimento = viaEstabelecimento.GetValores();
            ViaCliente         = viaCliente.GetValores();
            ViaUnica           = viaUnica.GetValores();
            ViaReduzida        = viaReduzida.GetValores();
            TefLinhaLista      = respostaRequisicaoAdm;
        }
        public TefExpressImprimeViaEventArgs(TefLinhaLista respostaRequisicaoAdm)
        {
            // FEITO ESSE IF DEBUG SOMENTE PORQUE O SIMULADOR NA OPERAÇÃO CRT NÃO RETORNA O CAMPO 028-001, EM PRODUÇÃO O MESMO EXISTE
            #if DEBUG
            var campo028001 = respostaRequisicaoAdm.BuscaLinha(AcTefIdentificadorCampos.TamanhoViaUnica, 1);
            if (campo028001 == null)
            {
                respostaRequisicaoAdm.Add(new TefLinha("028-001", 12));
                respostaRequisicaoAdm = new TefLinhaLista(respostaRequisicaoAdm.OrderBy(x => x.Identificacao).ToList());
            }
            #endif

            var tamanhoPrimeiraVia = respostaRequisicaoAdm.BuscaLinha(AcTefIdentificadorCampos.TamanhoViaUnica, 1);


            var viaCliente = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaUnicaComprovante &&
                                                                           x.Posicao <= int.Parse(tamanhoPrimeiraVia.Valor)).ToList());

            var viaEstabelecimento = new TefLinhaLista(respostaRequisicaoAdm.Where(x => x.Identificacao == AcTefIdentificadorCampos.ViaUnicaComprovante &&
                                                                                   x.Posicao > int.Parse(tamanhoPrimeiraVia.Valor)).ToList());

            ViaCliente         = viaCliente.GetValores();
            ViaEstabelecimento = viaEstabelecimento.GetValores();

            Via1 = ViaCliente;
            Via2 = ViaEstabelecimento;
        }