Ejemplo n.º 1
0
        public void TesteEnvioPedido()
        {
            Domain.Model.Pedido pedido = new Domain.Model.Pedido(this.OrganizationName, this.IsOffline);

            pedido = new Domain.Servicos.PedidoService(this.OrganizationName, this.IsOffline).BuscaPedido(new Guid("5D5FE3E4-A5DB-E311-B278-00155D01330E"));

            MSG0091 pedidoXml = new MSG0091(itb.RetornaSistema(itb.Sistema.Pollux), "MSG0091");


            #region Propriedades - Pedido pedidoXml->pedido

            if (!String.IsNullOrEmpty(pedido.UsuarioAprovacao))
            {
                pedidoXml.UsuarioAprovacao = pedido.UsuarioAprovacao;
            }

            pedidoXml.FaturamentoParcial = pedido.FaturamentoParcial;

            if (pedido.Modalidade.HasValue)
            {
                // if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Util.Utilitario pedidoXml2013.Domain.Enum.Pedido.Modalidade), pedido.ModalidadeCobranca))
                pedidoXml.ModalidadeCobranca = pedido.Modalidade;
                //else
                //{
                //    resultadoPersistencia.Sucesso = false;
                //    resultadoPersistencia.Mensagem = "Modalidade Cobranca não encontrada!";
                //    return pedidoXml;
                //}
            }

            //if (pedido.CanalVendaID.HasValue)
            //{
            CanaldeVenda canalDeVenda = new CanaldeVenda(this.OrganizationName, this.IsOffline);
            canalDeVenda = new Intelbras.CRM2013.Domain.Servicos.CanalDeVendaService(this.OrganizationName, this.IsOffline).BuscaCanalDeVenda(pedido.CanalVendaID.Id);
            //if (canalDeVenda != null)
            pedidoXml.CanalVenda = canalDeVenda.CodigoVenda;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Canal de Venda não encontrado.";
            //    return pedidoXml;
            //}
            //}

            if (!String.IsNullOrEmpty(pedido.PedidoCliente))
            {
                pedidoXml.NumeroPedidoCliente = pedido.PedidoCliente;
            }
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "NumeroPedidoCliente não enviado.";
            //    return pedidoXml;
            //}

            //if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.SituacaoAlocacao), pedido.SituacaoAlocacao))
            pedidoXml.SituacaoAlocacao = pedido.SituacaoAlocacao;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Situacao Alocacao não encontrado!";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.MotivoBloqueioCredito))
            pedidoXml.MotivoBloqueioCredito = pedido.MotivoBloqueioCredito;

            //if (pedido.TotalSubstituicaoTributaria.HasValue)
            pedidoXml.TotalSubstituicaoTributaria = pedido.TotalSubstituicaoTributaria;

            //pedidoXml.DataImplantacao = pedido.DataImplantacao;

            //if (!String.IsNullOrEmpty(pedido.UsuarioAlteracao))
            pedidoXml.UsuarioAlteracao = pedido.UsuarioAlteracao;

            //if (pedido.CondicaoPagamento.HasValue)

            //    pedidoXml.CondicaoPagamento = pedido.CondicaoPagamento;

            ////CondicaoPagamento

            //if (xml.CondicaoPagamento.HasValue)
            //{
            CondicaoPagamento condPgto = new Domain.Servicos.CondicaoPagamentoService(this.OrganizationName, this.IsOffline).BuscaCondicaoPagamento(pedido.CondicaoPagamento.Id);
            pedidoXml.CondicaoPagamento = condPgto.Codigo;
            //    if (condPgto != null)
            //    {
            //        crm.CondicaoPagamento = new Lookup(condPgto.ID.Value, "");
            //    }
            //}



            //if (!String.IsNullOrEmpty(pedido.CodigoEntregaTriangular))
            pedidoXml.CodigoEntregaTriangular = pedido.CodigoEntregaTriangular;

            //if (!String.IsNullOrEmpty(pedido.UsuarioCancelamento))
            pedidoXml.UsuarioCancelamento = pedido.UsuarioCancelamento;

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Telefone))
            pedidoXml.EnderecoEntrega.Telefone = pedido.TelefoneEntrega;


            //if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.DestinoMercadoria), pedido.DestinoMercadoria))
            if (pedido.DestinoMercadoria.HasValue)
            {
                pedidoXml.DestinoMercadoria = pedido.DestinoMercadoria.Value;
            }
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Destino Mercadoria não encontrado!";
            //    return pedidoXml;
            //}


            //if (pedido.PercentualDescontoICMS.HasValue)
            //    pedidoXml.PercentualDescontoICMS = pedido.PercentualDescontoICMS;

            //if (!String.IsNullOrEmpty(pedido.UsuarioReativacao))
            //    pedidoXml.UsuarioReativacao = pedido.UsuarioReativacao;

            //if (!String.IsNullOrEmpty(pedido.ObservacaoRedespacho))
            //    pedidoXml.CondicoesRedespacho = pedido.ObservacaoRedespacho;

            //pedidoXml.RazaoStatus = pedido.SituacaoPedido;

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Estado))
            //{
            //    Model.Estado estado = new Model.Estado(this.Organizacao, this.IsOffline);
            //    estado = new Intelbras.pedidoXml2013.Domain.Servicos.EnderecoServices(this.Organizacao, this.IsOffline).BuscaEstado(pedido.EnderecoEntrega.Estado);

            //    if (estado != null && estado.ID.HasValue)
            //        pedidoXml.EnderecoEntregaEstado = new Lookup(estado.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Estado não encontrado!";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Estado não enviado.";
            //    return pedidoXml;
            //}

            //Estabelecimento estabelecimento = new Estabelecimento(this.Organizacao, this.IsOffline);
            //estabelecimento = new Intelbras.pedidoXml2013.Domain.Servicos.EstabelecimentoService(this.Organizacao, this.IsOffline).BuscaEstabelecimentoPorCodigo(pedido.Estabelecimento);
            //if (estabelecimento != null)
            //{
            //    pedidoXml.Estabelecimento = new Lookup(estabelecimento.ID.Value, "");
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Estabelecimento não encontrado.";
            //    return pedidoXml;
            //}


            //if (pedido.ValorTotalAberto.HasValue)
            //    pedidoXml.ValorTotalAberto = pedido.ValorTotalAberto;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Valor Total Aberto não enviado.";
            //    return pedidoXml;
            //}

            //pedidoXml.CPFCNPJ = !String.IsNullOrEmpty(pedido.CPF) ? pedido.CPF : !String.IsNullOrEmpty(pedido.CNPJ) ? pedido.CNPJ : String.Empty;
            //if (String.IsNullOrEmpty(pedidoXml.CPFCNPJ))
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "CPF/CNPJ não enviado.";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.NumeroPedidoRepresentante))
            //    pedidoXml.PedidoRepresentante = pedido.NumeroPedidoRepresentante;

            //if (pedido.DataCancelamento.HasValue)
            //    pedidoXml.DataCancelamento = pedido.DataCancelamento;

            //pedidoXml.DataEmissao = pedido.DataEmissao;

            //if (pedido.TipoPreco.HasValue)
            //{
            //    if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.TipoPreco), pedido.TipoPreco))
            //        pedidoXml.TipoPreco = pedido.TipoPreco;
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Tipo Preco não encontrado!";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.MotivoLiberacaoCredito))
            //    pedidoXml.MotivoLiberacaoCredito = pedido.MotivoLiberacaoCredito;

            //if (pedido.CondicaoPagamento.HasValue)
            //{
            //    CondicaoPagamento condicaoPagamento = new CondicaoPagamento(this.Organizacao, this.IsOffline);
            //    condicaoPagamento = new Intelbras.pedidoXml2013.Domain.Servicos.CondicaoPagamentoService(this.Organizacao, this.IsOffline).BuscaCondicaoPagamentoPorCodigo(pedido.CondicaoPagamento.Value);
            //    if (condicaoPagamento != null)
            //        pedidoXml.CondicaoPagamento = new Lookup(condicaoPagamento.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "CondicaoPagamento não encontrado.";
            //        return pedidoXml;
            //    }
            //}

            //if (pedido.CondicaoFrete.HasValue)
            //{
            //    if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.CondicoesFrete), pedido.CondicaoFrete))
            //        pedidoXml.CondicoesFrete = pedido.CondicaoFrete;
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Condições de frete não encontrado!";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.TabelaFinanciamento))
            //{
            //    TabelaFinanciamento tabelaFinanciamento = new TabelaFinanciamento(this.Organizacao, this.IsOffline);
            //    tabelaFinanciamento = new Intelbras.pedidoXml2013.Domain.Servicos.TabelaFinanciamentoService(this.Organizacao, this.IsOffline).ObterTabelaFinanciamento(pedido.TabelaFinanciamento);
            //    if (tabelaFinanciamento != null)
            //        pedidoXml.TabelaFinanciamento = new Lookup(tabelaFinanciamento.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Tabela Financiamento não encontrada.";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.CidadeCIF))
            //    pedidoXml.CidadeCIF = pedido.CidadeCIF;

            //if (!String.IsNullOrEmpty(pedido.InscricaoEstadual))
            //    pedidoXml.InscricaoEstadual = pedido.InscricaoEstadual;

            //if (pedido.IndicacaoAprovacao.HasValue)
            //    pedidoXml.Aprovacao = pedido.IndicacaoAprovacao;

            //if (!String.IsNullOrEmpty(pedido.UsuarioAprovacao))
            //    pedidoXml.Aprovador = pedido.UsuarioAprovacao;

            //if (!String.IsNullOrEmpty(pedido.AprovacaoForcada))
            //    pedidoXml.AprovacaoForcadoPedido = pedido.AprovacaoForcada;

            //if (pedido.ValorMercadoriaAberto.HasValue)
            //    pedidoXml.ValorMercadoriaAberto = pedido.ValorMercadoriaAberto;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Valor Mercadoria Aberto não enviado.";
            //    return pedidoXml;
            //}

            //if (pedido.TipoFrete.HasValue)
            //    pedidoXml.CondicoesFreteEntrega = pedido.TipoFrete;

            //if (pedido.DataReativacaoUsuario.HasValue)
            //    pedidoXml.DataReativacaoUsuario = pedido.DataReativacaoUsuario;

            //if (pedido.DataCancelamentoUsuario.HasValue)
            //    pedidoXml.DataCancelamentoUsuario = pedido.DataCancelamentoUsuario;

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.CaixaPostal))
            //    pedidoXml.EnderecoEntregaCaixaPostal = pedido.EnderecoEntrega.CaixaPostal;

            //if (pedido.ValorTotalLiquido.HasValue)
            //    pedidoXml.ValorTotalProdutosSemIPI = pedido.ValorTotalLiquido;

            //if (!String.IsNullOrEmpty(pedido.Descricao))
            //    pedidoXml.Descricao = pedido.Descricao;


            //if (!String.IsNullOrEmpty(pedido.NaturezaOperacao))
            //{
            //    NaturezaOperacao naturezaOperacao = new NaturezaOperacao(this.Organizacao, this.IsOffline);
            //    naturezaOperacao = new Intelbras.pedidoXml2013.Domain.Servicos.NaturezaOperacaoService(this.Organizacao, this.IsOffline).BuscaNaturezaOperacaoPorCodigo(pedido.NaturezaOperacao);

            //    if (naturezaOperacao != null)
            //        pedidoXml.NaturezaOperacao = new Lookup(naturezaOperacao.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Natureza Operacao não encontrada.";
            //        return pedidoXml;
            //    }
            //}

            //if (pedido.PercentualDesconto2.HasValue)
            //    pedidoXml.PercentualDesconto2 = pedido.PercentualDesconto2;


            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.NomeContato))
            //    pedidoXml.NomeContatoEntrega = pedido.EnderecoEntrega.NomeContato;


            //if (!String.IsNullOrEmpty(pedido.Rota))
            //{
            //    Rota rota = new Rota(this.Organizacao, this.IsOffline);
            //    rota = new Intelbras.pedidoXml2013.Domain.Servicos.RotaService(this.Organizacao, this.IsOffline).BuscaRotaPorCodigo(pedido.Rota);

            //    if (rota != null)
            //        pedidoXml.Rota = new Lookup(rota.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Rota não encontrada.";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.UsuarioSuspensao))
            //    pedidoXml.UsuarioSuspensao = pedido.UsuarioSuspensao;

            //if (pedido.Representante.HasValue)
            //{
            //    Contato contato = new Contato(this.Organizacao, this.IsOffline);
            //    contato = new Intelbras.pedidoXml2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContatoPorCodigoRepresentante(pedido.Representante.Value.ToString());

            //    if (contato != null)
            //        pedidoXml.KeyAccountRepresentante = new Lookup(contato.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Representante não encontrado.";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.UsuarioImplantacao))
            //    pedidoXml.UsuarioIntegracao = pedido.UsuarioImplantacao;

            //if (pedido.ValorFrete.HasValue)
            //    pedidoXml.ValorFrete = pedido.ValorFrete;

            //if (pedido.DataAprovacao.HasValue)
            //    pedidoXml.DataAprovacao = pedido.DataAprovacao;

            //if (!String.IsNullOrEmpty(pedido.Nome))
            //    pedidoXml.Nome = pedido.Nome;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Nome não enviado.";
            //    return pedidoXml;
            //}

            //if (pedido.RetiraNoLocal.HasValue)
            //    pedidoXml.Remessa = pedido.RetiraNoLocal.Value;

            //if (!String.IsNullOrEmpty(pedido.DescricaoSuspensao))
            //    pedidoXml.DescricaoSuspensao = pedido.DescricaoSuspensao;

            //pedidoXml.DataEntregaSolicitada = pedido.DataEntregaSolicitada;

            //pedidoXml.DataImplantacaoUsuario = pedido.DataImplantacaoUsuario;

            //if (pedido.SituacaoAvaliacao.HasValue)
            //{
            //    if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.SituacaoAvaliacao), pedido.SituacaoAvaliacao))
            //        pedidoXml.CodigoSituacaoAvaliacao = pedido.SituacaoAvaliacao;
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Situacao Avaliacao não encontrada!";
            //        return pedidoXml;
            //    }

            //}
            //if (!String.IsNullOrEmpty(pedido.TipoObjetoCliente) && !String.IsNullOrEmpty(pedido.CodigoClientepedidoXml))
            //{
            //    String tipoObjetoCliente;
            //    if (pedido.TipoObjetoCliente == "account" || pedido.TipoObjetoCliente == "contact")
            //    {
            //        tipoObjetoCliente = pedido.TipoObjetoCliente;
            //        pedidoXml.ClienteID = new Lookup(new Guid(pedido.CodigoClientepedidoXml), pedido.TipoObjetoCliente);
            //    }
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "TipoObjetoCliente ou CodigoCliente fora do padrão.";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "TipoObjetoCliente ou CodigoCliente não enviado.";
            //    return pedidoXml;
            //}

            //if (pedido.Prioridade.HasValue)
            //    pedidoXml.Prioridade = pedido.Prioridade;

            //if (pedido.Transportadora.HasValue)
            //{
            //    Transportadora transportadora = new Transportadora(this.Organizacao, this.IsOffline);
            //    transportadora = new Intelbras.pedidoXml2013.Domain.Servicos.TransportadoraService(this.Organizacao, this.IsOffline).ObterPorCodigoTransportadora(pedido.Transportadora.Value);
            //    if (transportadora != null)
            //        pedidoXml.Transportadora = new Lookup(transportadora.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Transportadora não encontrada.";
            //        return pedidoXml;
            //    }
            //}

            //if (!String.IsNullOrEmpty(pedido.Oportunidade))
            //    pedidoXml.Oportunidade = new Lookup(new Guid(pedido.Oportunidade), "");
            ////Não obrigatorio
            ////else
            ////{
            ////    resultadoPersistencia.Sucesso = false;
            ////    resultadoPersistencia.Mensagem = "Oportunidade não Enviada.";
            ////    return pedidoXml;
            ////}

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Bairro))
            //    pedidoXml.BairroEntrega = pedido.EnderecoEntrega.Bairro;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Bairro não enviado.";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.CondicaoEspecial))
            //    pedidoXml.CondicoesEspeciais = pedido.CondicaoEspecial;

            ////Removido Pollux
            ////if (pedido.TabelaPreco.HasValue)
            ////{
            ////    TabelaPreco tabelaPreco = new TabelaPreco(this.Organizacao, this.IsOffline);
            ////    tabelaPreco = new Intelbras.pedidoXml2013.Domain.Servicos.TabelaPrecoService(this.Organizacao, this.IsOffline).BuscaTabelaPrecoPorCodigo(pedido.TabelaPreco.Value);
            ////    if (tabelaPreco != null)
            ////        pedidoXml.TabelaPreco = new Lookup(tabelaPreco.ID.Value, "");
            ////}


            //if (pedido.DataAlteracao.HasValue)
            //    pedidoXml.DataAlteracao = pedido.DataAlteracao;

            //// Moeda - service
            //if (!String.IsNullOrEmpty(pedido.Moeda))
            //{
            //    Model.Moeda moeda = new Model.Moeda(this.Organizacao, this.IsOffline);
            //    moeda = new Intelbras.pedidoXml2013.Domain.Servicos.MoedaService(this.Organizacao, this.IsOffline).BuscaMoedaPorNome(pedido.Moeda);

            //    if (moeda != null && moeda.ID.HasValue)
            //        pedidoXml.Moeda = new Lookup(moeda.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Moeda não encontrada!";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Moeda não enviada.";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.CEP))
            //    pedidoXml.CEPEntrega = pedido.EnderecoEntrega.CEP;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "CEP não enviado.";
            //    return pedidoXml;
            //}

            ////if (!String.IsNullOrEmpty(pedido.CampanhaOrigem))
            //// pedidoXml.CampanhaID = pedido.CampanhaOrigem;

            //if (pedido.Mensagem.HasValue)
            //{
            //    Mensagem mensagem = new Mensagem(this.Organizacao, this.IsOffline);
            //    mensagem = new Intelbras.pedidoXml2013.Domain.Servicos.MensagemService(this.Organizacao, this.IsOffline).BuscaMensagemPorCodigo(pedido.Mensagem.Value);
            //    if (mensagem != null)
            //        pedidoXml.Mensagem = new Lookup(mensagem.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Mensagem do pedido não encontrada.";
            //        return pedidoXml;
            //    }
            //}

            //if (pedido.PrecoBloqueado.HasValue)
            //    pedidoXml.PrecoBloqueado = pedido.PrecoBloqueado;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Preco Bloqueado não enviado.";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.NumeroPedido))
            //{
            //    pedidoXml.PedidoEMS = pedido.NumeroPedido;
            //    pedidoXml.IDPedido = pedido.NumeroPedido;
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "NumeroPedido não enviado.";
            //    return pedidoXml;
            //}

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Logradouro))
            //    pedidoXml.EnderecoEntregaRua = pedido.EnderecoEntrega.Logradouro;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Logradouro não enviado.";
            //    return pedidoXml;
            //}
            //if (pedido.PedidoCompleto.HasValue)
            //    pedidoXml.Completo = pedido.PedidoCompleto;

            //if (pedido.DataLimiteFaturamento.HasValue)
            //    pedidoXml.DataLimiteFaturamento = pedido.DataLimiteFaturamento;

            //if (!String.IsNullOrEmpty(pedido.CodigoEntrega))
            //    pedidoXml.CodigoEntrega = pedido.CodigoEntrega;

            //if (!String.IsNullOrEmpty(pedido.NomeAbreviadoCliente))
            //    pedidoXml.NomeAbreviado = pedido.NomeAbreviadoCliente;

            //if (!String.IsNullOrEmpty(pedido.ClienteTriangular))
            //{
            //    pedidoXml.ClienteTriangular = new Lookup(new Guid(pedido.ClienteTriangular), "account");
            //}

            //if (pedido.DiasNegociacao.HasValue)
            //    pedidoXml.DiasNegociacao = pedido.DiasNegociacao;

            //if (pedido.DataNegociacao.HasValue)
            //    pedidoXml.DataNegociacao = pedido.DataNegociacao;

            //if (pedido.DataCumprimento.HasValue)
            //    pedidoXml.DataCumprimento = pedido.DataCumprimento;

            //if (!String.IsNullOrEmpty(pedido.Classificacao))
            //{
            //    pedidoXml.Classificacao = new Lookup(new Guid(pedido.Classificacao), "");
            //}

            //if (!String.IsNullOrEmpty(pedido.DescricaoCancelamento))
            //    pedidoXml.DescricaoCancelamento = pedido.DescricaoCancelamento;

            //if (pedido.OrigemPedido.HasValue)
            //{
            //    if (System.Enum.IsDefined(typeof(Intelbras.pedidoXml2013.Domain.Enum.Pedido.OrigemPedido), pedido.OrigemPedido))
            //        pedidoXml.Origem = pedido.OrigemPedido;
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Origem Pedido não encontrado!";
            //        return pedidoXml;
            //    }
            //}
            //if (pedido.DataReativacao.HasValue)
            //    pedidoXml.DataReativacao = pedido.DataReativacao;

            //if (pedido.ValorCreditoLiberado.HasValue)
            //    pedidoXml.ValorCreditoLiberado = pedido.ValorCreditoLiberado;

            ////Nao preencher tabelaprecoEMS - orientado por Jose.

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Complemento))
            //    pedidoXml.ComplementoEntrega = pedido.EnderecoEntrega.Complemento;

            //if (pedido.TotalIPI.HasValue)
            //    pedidoXml.TotalIPI = pedido.TotalIPI;

            //if (pedido.DataMinimaFaturamento.HasValue)
            //    pedidoXml.DataMinimaFaturamento = pedido.DataMinimaFaturamento;

            //if (pedido.DataSuspensao.HasValue)
            //    pedidoXml.DataSuspensao = pedido.DataSuspensao;

            //if (pedido.PercentualDesconto1.HasValue)
            //    pedidoXml.PercentualDesconto1 = pedido.PercentualDesconto1;


            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Cidade))
            //{
            //    Model.Municipio cidade = new Model.Municipio(this.Organizacao, this.IsOffline);
            //    cidade = new Intelbras.pedidoXml2013.Domain.Servicos.EnderecoServices(this.Organizacao, this.IsOffline).BuscaMunicipio(pedido.EnderecoEntrega.Cidade);

            //    if (cidade != null && cidade.ID.HasValue)
            //        pedidoXml.EnderecoEntregaCidade = new Lookup(cidade.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Cidade não encontrada!";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Município não enviado.";
            //    return pedidoXml;
            //}


            ////if (!String.IsNullOrEmpty(pedido.Cotacao))
            ////    pedidoXml.Cotacao = pedido.Cotacao;

            //if (pedido.ValorTotalDesconto.HasValue)
            //    pedidoXml.DescontoGlobalAdicional = pedido.ValorTotalDesconto.ToString();

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Fax))
            //    pedidoXml.FaxEntrega = pedido.EnderecoEntrega.Fax;

            //if (pedido.DataEntrega.HasValue)
            //    pedidoXml.DataEntrega = pedido.DataEntrega;

            //// País
            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Pais))
            //{
            //    Model.Pais pais = new Model.Pais(this.Organizacao, this.IsOffline);
            //    pais = new Intelbras.pedidoXml2013.Domain.Servicos.EnderecoServices(this.Organizacao, this.IsOffline).BuscaPais(pedido.EnderecoEntrega.Pais);

            //    if (pais != null && pais.ID.HasValue)
            //        pedidoXml.EnderecoEntregaPais = new Lookup(pais.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "País não encontrado.";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "País não enviado.";
            //    return pedidoXml;
            //}

            ////if (!String.IsNullOrEmpty(pedido.PedidoOriginal))
            ////{
            ////    pedidoXml.PedidoEMS = pedido.PedidoOriginal;
            ////}

            //if (!String.IsNullOrEmpty(pedido.EnderecoEntrega.Numero))
            //    pedidoXml.EnderecoEntregaNumero = pedido.EnderecoEntrega.Numero;
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Numero endereco do pedido não enviado.";
            //    return pedidoXml;
            //}

            //if (pedido.Portador.HasValue)
            //{
            //    Portador portador = new Portador(this.Organizacao, this.IsOffline);
            //    portador = new Intelbras.pedidoXml2013.Domain.Servicos.PortadorService(this.Organizacao, this.IsOffline).BuscaPorCodigo(pedido.Portador.Value);
            //    if (portador != null)
            //        pedidoXml.Portador = new Lookup(portador.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Portador do pedido não encontrado.";
            //        return pedidoXml;
            //    }
            //}

            //pedidoXml.DataEntregaOriginal = pedido.DataEntregaSolicitada;

            //if (!String.IsNullOrEmpty(pedido.TipoPedido))
            //    pedidoXml.TipoPedido = pedido.TipoPedido;

            //if (pedido.PercentualDesconto.HasValue)
            //    pedidoXml.DescontoGlobalAdicional = pedido.PercentualDesconto.ToString();

            //pedidoXml.Status = pedido.Situacao;

            //if (!String.IsNullOrEmpty(pedido.CodigoPedido))
            //{
            //    Pedido pedido = new Pedido(this.Organizacao, this.IsOffline);
            //    pedido = new Intelbras.pedidoXml2013.Domain.Servicos.PedidoService(this.Organizacao, this.IsOffline).BuscaPedidoEMS(pedido.CodigoPedido);
            //    if (pedido != null)
            //        pedidoXml.ID = pedido.ID;
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "Pedido não encontrado.";
            //        return pedidoXml;
            //    }

            //}

            //// ListaPreco
            //if (!String.IsNullOrEmpty(pedido.ListaPreco))
            //{
            //    Model.ListaPreco listaPreco = new Model.ListaPreco(this.Organizacao, this.IsOffline);
            //    listaPreco = new Intelbras.pedidoXml2013.Domain.Servicos.ListaPrecoService(this.Organizacao, this.IsOffline).BuscaListaPreco(pedido.ListaPreco);

            //    if (listaPreco != null && listaPreco.ID.HasValue)
            //        pedidoXml.ListaPreco = new Lookup(listaPreco.ID.Value, "");
            //    else
            //    {
            //        resultadoPersistencia.Sucesso = false;
            //        resultadoPersistencia.Mensagem = "ListaPreco não encontrado!";
            //        return pedidoXml;
            //    }
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "ListaPreco não enviada.";
            //    return pedidoXml;
            //}


            //if (!String.IsNullOrEmpty(pedido.Proprietario) && !String.IsNullOrEmpty(pedido.TipoProprietario))
            //{
            //    if ((!String.IsNullOrEmpty(pedido.TipoProprietario) && (pedido.TipoProprietario == "team" || pedido.TipoProprietario == "systemuser")))
            //        tipoProprietario = pedido.TipoProprietario;
            //    else
            //        tipoProprietario = "systemuser";

            //    pedidoXml.Proprietario = new Lookup(new Guid(pedido.Proprietario), tipoProprietario);
            //}
            //else
            //{
            //    resultadoPersistencia.Sucesso = false;
            //    resultadoPersistencia.Mensagem = "Proprietário ou Tipo Proprietário não enviado.";
            //    return pedidoXml;
            //}
            //pedidoXml.IntegradoEm = DateTime.Now;
            //pedidoXml.IntegradoPor = usuarioIntegracao.NomeCompleto;
            //pedidoXml.UsuarioIntegracao = pedido.LoginUsuario;

            #endregion
        }
Ejemplo n.º 2
0
        public void TestarInserirPedido()
        {
            Domain.Model.Pedido pedido = new Domain.Model.Pedido();

            pedido.Cliente = new Conta()
            {
                CodigoMatriz = "113879"
            };
            pedido.TabelaDePreco = new TabelaDePreco()
            {
                CodigoDaTabelaDePreco = "123"
            };
            pedido.DiasNegociacao  = 0;
            pedido.Estabelecimento = new Lookup(id: new Guid("11397390-19E9-E311-9420-00155D013D39"), type: "itbc_estabelecimento");
            pedido.Representante   = new Contato()
            {
                Id = new Guid("2D19FE56-7BEE-E311-9420-00155D013D39")
            };
            pedido.CondicaoDePagamento = new CondicaoPagamento()
            {
                Id = new Guid("F72C5441-A61E-E511-941A-00155D013A30")
            };
            pedido.Moeda = new Lookup(id: new Guid("24B5CE59-90C5-E311-93FD-00155D013E56"), type: "transactioncurrency");
            pedido.FaturamentoParcial = false;
            pedido.DataDeEmissao      = DateTime.Now;
            pedido.DataDeFaturamento  = DateTime.Now;
            pedido.DataBaseNegociacao = DateTime.Now;
            pedido.PrecoTotalComIPI   = (decimal)100.1;
            pedido.PrecoTotal         = (decimal)100.1;
            pedido.Descricao          = "pedido";
            pedido.DescricaoNota      = "descrição Nota";
            pedido.StatusPedido       = 1;
            pedido.CanalVendaID       = new Lookup(id: new Guid("30E0D942-231F-E511-941A-00155D013A30"), type: "itbc_canaldevenda");

            //itens do pedido

            Domain.Model.ProdutoPedido item = new Domain.Model.ProdutoPedido();

            item.Produto        = new Lookup(id: new Guid("DED25120-BDED-E311-9420-00155D013D39"), type: "product");
            item.Quantidade     = 10;
            item.PrecoNegociado = 0;
            item.DescontoManual = 0;
            item.PrecoMinimo    = 10;
            item.DescontoManual = 0;
            item.AliquotaIPI    = 1;

            pedido.ItensDoPedido = new List <ProdutoPedido>();
            pedido.ItensDoPedido.Add(item);
            (new CRM2013.Domain.Servicos.RepositoryService()).Pedido.SalvarPedidoB2BnoCRM(pedido);


            /*var produto = (new CRM2013.Domain.Servicos.RepositoryService()).Produto.Retrieve(new Guid("DED25120-BDED-E311-9420-00155D013D39"));
             * ProdutoPedido item = new ProdutoPedido();
             * item.NullableProperties = new List<string>();
             * item.Quantidade = 10;
             * item.Produto = new Lookup(id: new Guid("DED25120-BDED-E311-9420-00155D013D39"), type: "product");
             * item.PrecoNegociado = 10;
             * item.DescontoManual = 0;
             * item.PrecoMinimo = 10;
             * item.ValorLiquidoSemIpiSt = 10;
             * item.Precificacao = true;
             * item.AliquotaIPI = 5;
             * item.Pedido = new Lookup(id: new Guid("DF817A5B-EEC1-443B-8791-967D220A6946"), type: "salesorder");
             * item.Unidade = produto.UnidadePadrao;
             * item.UnidadeNegocio = produto.UnidadeNegocio;
             * item.IntegradoEm = DateTime.Now;
             * item.IntegradoPor = "teste";
             * item.UsuarioIntegracao = "teste";
             * item.ChaveIntegracao = "teste";
             * item.Descricao = "teste";
             * item.TaxaCambio = 0;
             * item.SelecionarProduto = false;
             * item.DataAlteracao = DateTime.Now;
             * item.AddNullProperty("DataCancelamentoUsuario");
             * item.AddNullProperty("DataCancelamentoSequencia");
             * item.AddNullProperty("DataDevolucao");
             * item.AddNullProperty("DataDevolucaoUsuario");
             * item.DataEntrega = DateTime.Now;
             * item.DataEntregaOriginal = DateTime.Now;
             * item.DataImplantacao = DateTime.Now;
             * item.UsuarioImplantacao = "teste";
             * item.CalcularRebate = true;
             * item.AddNullProperty("DataMaximaFaturamento");
             * item.AddNullProperty("DataMinimaFaturamento");
             * item.AddNullProperty("DataReativacao");
             * item.AddNullProperty("DataReativacaoUsuario");
             * item.AddNullProperty("DataSuspensao");
             * item.AddNullProperty("DataSuspensaoUsuario");
             * item.AddNullProperty("DescricaoCancelamento");
             * item.AddNullProperty("DescricaoDevolucao");
             * item.AddNullProperty("FaturaQtdeFamilia");
             * item.RepresentanteOriginal = "teste";
             * item.Representante = new Lookup(id: new Guid("2D19FE56-7BEE-E311-9420-00155D013D39"), type: "contact");
             * item.IntegradoRepresentanteComErro = false;
             * item.NaturezaOperacao = new Lookup(new Guid("A57BD840-701E-E511-941A-00155D013A30"), "");
             * item.NomeAbreviado = "teste";
             * item.AddNullProperty("Observacao");
             * item.PedidoCliente = "54545";
             * item.AddNullProperty("PercentualDescontoICMS");
             * item.AddNullProperty("PercentualMinimoFaturamento");
             * item.AddNullProperty("QtdeAlocada");
             * item.AddNullProperty("QtdeAlocadaLogica");
             * item.AddNullProperty("QtdeDevolvida");
             * //item.AddNullProperty("RetemICMSFonte");
             * item.RetemICMSFonte = false;
             * item.AddNullProperty("SituacaoAlocacao");
             * //item.AddNullProperty("SituacaoItem");
             * item.SituacaoItem = 993520002;
             * item.TipoPreco = 993520000;
             * item.AddNullProperty("UsuarioAlteracao");
             * item.AddNullProperty("UsuarioCancelamento");
             * item.AddNullProperty("UsuarioDevolucao");
             * item.UsuarioImplantacao = "teste";
             * item.AddNullProperty("UsuarioReativacao");
             * item.AddNullProperty("UsuarioSuspensao");
             * item.ValorLiquidoAberto = 100;
             * item.ValorLiquidoItem = 100;
             * item.ValorMercadoriaAberto = 100;
             * item.ValorOriginal = 10;
             * item.ValorTabela = 10;
             * item.ValorTotalItem = 100;
             * item.ValorSubstTributaria = 0;
             * item.ValorIPI = 1;
             * item.DescontoManual = 0;
             * item.AddNullProperty("ProdutoForaCatalogo");
             * item.AddNullProperty("QtdePedidoPendente");
             * item.AddNullProperty("QtdeCancelada");
             * item.AddNullProperty("QtdeEntregue");
             * item.DateEntregaSolicitada = DateTime.Now;
             * item.NumeroSequencia = 10;
             * item.CidadeEntrega = "skfskjf";
             * item.NomeContatoEntrega = "shfshfg";
             * item.PaisEntrega = "jghjg";
             * item.AddNullProperty("FAXEntrega");
             * item.AddNullProperty("CondicoesFrete");
             * item.RuaEntrega = "hgjhg";
             * item.BairroEntrega = "jhjhg";
             * item.AddNullProperty("ComplementoEntrega");
             * item.AddNullProperty("NomeEntrega");
             * item.CEPEntrega = "65656";
             * item.EstadoEntrega = "as";
             * item.AddNullProperty("TelefoneEntrega");
             * item.TotalImposto = 10;
             * item.Moeda = new Lookup(new Guid("24B5CE59-90C5-E311-93FD-00155D013E56"), "");
             *
             *
             * //(new CRM2013.Domain.Servicos.RepositoryService()).ProdutoPedido.Create(item);
             *
             * var organizacao = SDKore.Configuration.ConfigurationManager.GetSettingValue("OrganizacaoIntelbras");
             *
             * new Intelbras.CRM2013.Domain.Servicos.PedidoService(organizacao, false).Persistir(item);*/
        }