コード例 #1
0
        private static void PreencherEnderecos(KhanPedidoServiceReference.Pedido pedido, Data.Model.Cliente cliente)
        {
            pedido.endent             = cliente.EnderecoEntrega;
            pedido.baient             = cliente.BairroEntrega;
            pedido.cident             = cliente.CidadeEntrega;
            pedido.estent             = cliente.UfEntrega;
            pedido.endent_num         = cliente.NumeroEntrega;
            pedido.endent_complemento = cliente.ComplEntrega;
            pedido.cepent             = cliente.CepEntrega;

            if (!string.IsNullOrEmpty(cliente.EnderecoCobranca))
            {
                pedido.endfat             = cliente.EnderecoCobranca;
                pedido.baifat             = cliente.BairroCobranca;
                pedido.cidfat             = cliente.CidadeCobranca;
                pedido.estfat             = cliente.UfCobranca;
                pedido.endfat_num         = cliente.NumeroCobranca;
                pedido.endfat_complemento = cliente.ComplCobranca;
                pedido.cepfat             = cliente.CepCobranca;
            }
            else
            {
                pedido.endfat             = cliente.Endereco;
                pedido.baifat             = cliente.Bairro;
                pedido.cidfat             = cliente.Cidade;
                pedido.estfat             = cliente.Uf;
                pedido.endfat_num         = cliente.Numero;
                pedido.endfat_complemento = cliente.Compl;
                pedido.cepfat             = cliente.Cep;
            }
        }
コード例 #2
0
        private void ApagarIntegracao(int idNf)
        {
            var pedido = new KhanPedidoServiceReference.Pedido
            {
                Token      = this.configuracao.Token,
                codempresa = this.configuracao.Empresa,
                numped_int = idNf,
            };

            var situacao = this.PedidoClient.ExcluirPedido(pedido);

            if (!StringComparer.InvariantCultureIgnoreCase.Equals(situacao?.status_integracao, "Pedido Excluido com sucesso"))
            {
                throw new IntegracaoException(situacao?.status_integracao);
            }
        }
コード例 #3
0
        private KhanPedidoServiceReference.Pedido Converter(GDA.GDASession sessao, Data.Model.NotaFiscal notaFiscal)
        {
            var cliente    = Data.DAL.ClienteDAO.Instance.GetElement(sessao, notaFiscal.IdCliente.GetValueOrDefault());
            var produtosNf = Data.DAL.ProdutosNfDAO.Instance.GetByNf(sessao, notaFiscal.IdNf).ToList();
            var produtos   = Data.DAL.ProdutoDAO.Instance.ObterProdutos(sessao, produtosNf.Select(f => f.IdProd).Distinct()).ToList();
            var parcelas   = Data.DAL.ParcelaNfDAO.Instance.GetByNf(sessao, notaFiscal.IdNf);

            var pedido = new KhanPedidoServiceReference.Pedido
            {
                Token             = this.configuracao.Token,
                codempresa        = this.configuracao.Empresa,
                numped_int        = (int)notaFiscal.IdNf,
                seqped_int        = 0,
                datped            = notaFiscal.DataCad.ToString("yyyyMMdd"),
                numpedc           = string.Empty,
                nomcad            = cliente.Nome,
                tipos             = "Cliente,",
                tipodoc1          = cliente.TipoPessoa == "J" ? PessoaJuridica : PessoaFisica,
                numdoc1           = cliente.CpfCnpj.SomenteNumero(),
                tipodoc2          = cliente.TipoPessoa == "J" ? TipoDocumentoInscricaoEstadual : TipoDocumentoNenhum,
                numdoc2           = cliente.TipoPessoa == "J" ? cliente.RgEscinst : null,
                tippag            = ObterTipoPagamentoPedido(notaFiscal.FormaPagto),
                numpar            = parcelas.Count,
                statusw           = NotaFiscalEmitida,
                numped            = 0,
                seqped            = 0,
                email             = cliente.EmailFiscal,
                foneddd           = this.ObterDDD(cliente.TelCont),
                fonenum           = this.ObterTelefoneSemDDD(cliente.TelCont),
                codven            = "0",
                autoriz_comercial = string.Empty,
                contrato          = string.Empty,
                numnf             = notaFiscal.NumeroNFe.ToString(),
                serie             = notaFiscal.Serie,
                xml                    = string.Empty,
                numnf_origem           = string.Empty,
                numitens               = produtosNf.Count,
                tipes                  = notaFiscal.TipoDocumento == 2 ? "S" : "E",
                tipoEnvio              = string.Empty,
                codTipoEnvio           = string.Empty,
                nf_chave               = notaFiscal.ChaveAcesso,
                nf_contingencia        = string.Empty,
                nf_data_contingencia   = string.Empty,
                nf_justif_contingencia = string.Empty,
                nf_numprotocolo        = notaFiscal.NumProtocolo ?? string.Empty,
                nf_operador_caixa      = string.Empty,
                cp_terminal            = string.Empty,
                nf_numprotocolo_Can    = notaFiscal.NumProtocoloCanc ?? string.Empty,
                nf_dat_cancelamento    = string.Empty,
            };

            PreencherEnderecos(pedido, cliente);

            var sequenciaItem = 1;

            pedido.Itens = produtosNf
                           .Select(produtoNf => this.ConverterItemPedido(produtoNf, produtos.FirstOrDefault(produto => produto.IdProd == produtoNf.IdProd), ref sequenciaItem))
                           .ToList();

            var sequenciaParcela = 1;

            pedido.Parcelas = parcelas
                              .Select(parcelaNf => this.ConverterParcelaPedido(parcelaNf, ref sequenciaParcela))
                              .ToList();

            return(pedido);
        }