コード例 #1
0
        internal Guid UnidadeMedida(string nomeUnidadeMedida, ref Pollux.Entities.Resultado resultadoPersistencia)
        {
            Model.Unidade unidadeMedida = new Intelbras.CRM2013.Domain.Servicos.UnidadeService(this.Organizacao, this.IsOffline).BuscaUnidadePorNome(nomeUnidadeMedida);

            if (unidadeMedida != null && unidadeMedida.ID.HasValue)
            {
                //crm.Segmento = new Lookup(segmento.ID.Value, "");
                return((Guid)unidadeMedida.ID);
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Unidade de Medida não encontrada!";
                return(Guid.Empty);
            }
        }
コード例 #2
0
        public ItemListaPreco DefinirPropriedades(Intelbras.Message.Helper.MSG0082 xml)
        {
            var crm = new ItemListaPreco(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!String.IsNullOrEmpty(xml.CodigoItemListaPreco))
            {
                crm.ID = new Guid(xml.CodigoItemListaPreco);
            }

            if (!String.IsNullOrEmpty(xml.Produto))
            {
                Product produto = new Product(this.Organizacao, this.IsOffline);
                produto = new Intelbras.CRM2013.Domain.Servicos.ProdutoService(this.Organizacao, this.IsOffline).BuscaPorCodigo(xml.Produto);
                if (produto != null)
                {
                    crm.ProdutoID = new Lookup(produto.ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Produto não encontrado.";
                    return(crm);
                }
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Produto não enviado.";
                return(crm);
            }


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

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

            crm.Valor = xml.Valor;

            crm.Porcentual = xml.Porcentagem;

            if (!String.IsNullOrEmpty(xml.ListaDesconto))
            {
                ListaDesconto listaDesconto = new ListaDesconto(this.Organizacao, this.IsOffline);
                listaDesconto = new Intelbras.CRM2013.Domain.Servicos.ListaDescontoService(this.Organizacao, this.IsOffline).BuscaListaDesconto(xml.ListaDesconto);

                if (listaDesconto != null)
                {
                    crm.ListaDesconto = new Lookup(listaDesconto.ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Lista Desconto não encontrada.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("ListaDesconto");
            }

            crm.MetodoPrecificacao = xml.MetodoPrecificacao;

            crm.OpcaoVendaParcial = xml.OpcaoVendaParcial;

            crm.ValorArredondamento = xml.ValorArredondamento;

            crm.OpcaoArredondamento = xml.OpcaoArredondamento;

            crm.PoliticaArredondamento = xml.PoliticaArredondamento;

            if (!String.IsNullOrEmpty(xml.Moeda))
            {
                Model.Moeda moeda = new Model.Moeda(this.Organizacao, this.IsOffline);
                moeda = new Intelbras.CRM2013.Domain.Servicos.MoedaService(this.Organizacao, this.IsOffline).BuscaMoedaPorNome(xml.Moeda);

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


            if (!String.IsNullOrEmpty(xml.UnidadeMedida))
            {
                Unidade unidade = new Unidade(this.Organizacao, this.IsOffline);
                unidade = new Intelbras.CRM2013.Domain.Servicos.UnidadeService(this.Organizacao, this.IsOffline).BuscaUnidadePorNome(xml.UnidadeMedida);
                if (unidade != null)
                {
                    crm.Unidade = new Lookup(unidade.ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "UnidadeMedida não encontrada.";
                    return(crm);
                }
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "UnidadeMedida não enviada.";
                return(crm);
            }
            //Entidade não tem ownerid
            //crm.Proprietario = new SDKore.DomainModel.Lookup((Guid)usuarioIntegracao.ID, "systemuser");
            //crm.IntegradoEm = DateTime.Now;
            //crm.IntegradoPor = usuarioIntegracao.NomeCompleto;
            //crm.UsuarioIntegracao = xml.LoginUsuario;


            #endregion

            return(crm);
        }
コード例 #3
0
ファイル: MSG0094.cs プロジェクト: ertprs/crm_fonte
        private void DefinirPropriedadesProdutoFatura(Intelbras.Message.Helper.MSG0094 xml, Guid FaturaID)
        {
            ProdutoFatura crmProdFatura = null;

            foreach (Pollux.Entities.NotaFiscalItem item in xml.NotaFiscalItens)
            {
                crmProdFatura = new ProdutoFatura(this.Organizacao, this.IsOffline);

                crmProdFatura.ChaveIntegracao = item.ChaveIntegracao;
                crmProdFatura.Fatura          = new Lookup(FaturaID, "");

                if (!String.IsNullOrEmpty(item.CodigoProduto))
                {
                    Model.Product ObjProduto = new Product(this.Organizacao, this.IsOffline);
                    ObjProduto = new Intelbras.CRM2013.Domain.Servicos.ProdutoService(this.Organizacao, this.IsOffline).BuscaPorCodigo(item.CodigoProduto);

                    if (ObjProduto != null && ObjProduto.ID.HasValue)
                    {
                        crmProdFatura.ProdutoId = new Lookup(ObjProduto.ID.Value, "");
                    }
                    else
                    {
                        resultadoPersistencia.Sucesso  = false;
                        resultadoPersistencia.Mensagem = "Identificador do Produto não encontrado.";
                        return;
                    }
                }

                if (!String.IsNullOrEmpty(item.Descricao))
                {
                    crmProdFatura.Descricao = item.Descricao;
                }
                else
                {
                    crmProdFatura.AddNullProperty("Descricao");
                }

                crmProdFatura.PrecoOriginal           = item.PrecoOriginal;
                crmProdFatura.ValorLiquido            = item.PrecoUnitario;
                crmProdFatura.PrecoLiquido            = item.PrecoLiquido;
                crmProdFatura.ValorMercadoriaTabela   = item.ValorMercadoriaTabela;
                crmProdFatura.ValorMercadoriaOriginal = item.ValorMercadoriaOriginal;
                crmProdFatura.ValorMercadoriaLiquida  = item.ValorMercadoriaLiquido;
                crmProdFatura.Precificacao            = item.PermiteSubstituirPreco;

                //Service Natureza Operação
                NaturezaOperacao ObjNaturezaOperacao = new Intelbras.CRM2013.Domain.Servicos.NaturezaOperacaoService(this.Organizacao, this.IsOffline).BuscaNaturezaOperacaoPorCodigo(item.CodigoNaturezaOperacao);

                if (ObjNaturezaOperacao != null)
                {
                    crmProdFatura.NaturezaOperacao = new Lookup((Guid)ObjNaturezaOperacao.ID, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Identificador da Natureza de Operação não encontrado.";
                    return;
                }

                crmProdFatura.SelecionarProduto = item.ProdutoForaCatalogo;

                if (!String.IsNullOrEmpty(item.DescricaoProdutoForaCatalogo))
                {
                    crmProdFatura.DescricaoProdutoSemCatalogo = item.DescricaoProdutoForaCatalogo;
                }
                else
                {
                    crmProdFatura.AddNullProperty("DescricaoProdutoSemCatalogo");
                }

                crmProdFatura.Precificacao = item.PermiteSubstituirPreco;

                //Service Unidade Medida
                Unidade ObjUnidadeMedida = new Intelbras.CRM2013.Domain.Servicos.UnidadeService(this.Organizacao, this.IsOffline).BuscaUnidadePorNome(item.UnidadeMedida);

                if (ObjUnidadeMedida != null)
                {
                    crmProdFatura.Unidade = new Lookup((Guid)ObjUnidadeMedida.ID, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Identificador da Unidade de Medida não encontrado.";
                    return;
                }

                if (item.ValorBaseICMS.HasValue)
                {
                    crmProdFatura.ValorBaseICMS = item.ValorBaseICMS;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorBaseICMS");
                }

                if (item.ValorBaseICMSSubstituicao.HasValue)
                {
                    crmProdFatura.ValorSubstTributaria = item.ValorBaseICMSSubstituicao;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorSubstTributaria");
                }

                if (item.ValorICMS.HasValue)
                {
                    crmProdFatura.ValorICMSItem = item.ValorICMS;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorICMSItem");
                }

                if (item.ValorICMSSubstituicao.HasValue)
                {
                    crmProdFatura.ValorICMSSubstTributaria = item.ValorICMSSubstituicao;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorICMSSubstTributaria");
                }

                if (item.ValorICMSNaoTributado.HasValue)
                {
                    crmProdFatura.ValorICMSNaoTributado = item.ValorICMSNaoTributado;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorICMSNaoTributado");
                }

                if (item.ValorICMSOutras.HasValue)
                {
                    crmProdFatura.ValorICMSOutras = item.ValorICMSOutras;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorICMSOutras");
                }

                crmProdFatura.CodigoTributarioICMS = item.CodigoTributarioICMS;

                if (!String.IsNullOrEmpty(item.CodigoTributarioISS))
                {
                    crmProdFatura.CodigoTributarioISS = item.CodigoTributarioISS;
                }
                else
                {
                    crmProdFatura.AddNullProperty("CodigoTributarioISS");
                }

                crmProdFatura.CodigoTributarioIPI = item.CodigoTributarioIPI;

                if (item.ValorBaseIPI.HasValue)
                {
                    crmProdFatura.ValorBaseIPI = item.ValorBaseIPI;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorBaseIPI");
                }

                if (item.AliquotaISS.HasValue)
                {
                    crmProdFatura.AliquotaISS = (double)item.AliquotaISS;
                }
                else
                {
                    crmProdFatura.AddNullProperty("AliquotaISS");
                }

                crmProdFatura.CodigoTributarioIPI  = item.CodigoTributarioIPI;
                crmProdFatura.ValorBaseISS         = item.ValorBaseISS;
                crmProdFatura.AliquotaIPI          = (double)item.AliquotaIPI;
                crmProdFatura.AliquotaICMS         = (double)item.AliquotaICMS;
                crmProdFatura.ValorISSItem         = item.ValorISS;
                crmProdFatura.ValorISSNaoTributado = item.ValorISSNaoTributado;
                crmProdFatura.ValorISSOutras       = item.ValorISSOutras;

                crmProdFatura.CalcularRebate = item.CalcularRebate;

                if (item.ValorIPI.HasValue)
                {
                    crmProdFatura.ValorIPIItem = item.ValorIPI;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorIPIItem");
                }

                if (item.ValorIPINaoTributado.HasValue)
                {
                    crmProdFatura.ValorIPINaoTributado = item.ValorIPINaoTributado;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorIPINaoTributado");
                }

                if (item.ValorIPIOutras.HasValue)
                {
                    crmProdFatura.ValorIPIOutras = item.ValorIPIOutras;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorIPIOutras");
                }

                if (item.PrecoConsumidor.HasValue)
                {
                    crmProdFatura.PrecoConsumidor = item.PrecoConsumidor;
                }
                else
                {
                    crmProdFatura.AddNullProperty("PrecoConsumidor");
                }

                if (item.QuantidadeCancelada.HasValue)
                {
                    crmProdFatura.QtdeCancelada = item.QuantidadeCancelada;
                }
                else
                {
                    crmProdFatura.AddNullProperty("QtdeCancelada");
                }

                if (item.QuantidadePendente.HasValue)
                {
                    crmProdFatura.QtdePedidoPendente = item.QuantidadePendente;
                }
                else
                {
                    crmProdFatura.AddNullProperty("QtdePedidoPendente");
                }

                if (item.DataEntrega.HasValue)
                {
                    crmProdFatura.Entregueem = item.DataEntrega;
                }
                else
                {
                    crmProdFatura.AddNullProperty("Entregueem");
                }

                if (item.CondicaoFrete.HasValue)
                {
                    crmProdFatura.CondicoesFrete = item.CondicaoFrete;
                }
                else
                {
                    crmProdFatura.AddNullProperty("CondicoesFrete");
                }

                if (item.CalcularRebate.HasValue)
                {
                    //TODO: Registrar valor de CalcularRebate no Item da nota
                }

                if (item.ValorOriginal.HasValue)
                {
                    crmProdFatura.ValorOriginal = item.ValorOriginal;
                }
                else
                {
                    crmProdFatura.AddNullProperty("ValorOriginal");
                }

                crmProdFatura.TotalImpostos  = item.ValorTotalImposto;
                crmProdFatura.DescontoManual = item.ValorDescontoManual;
                crmProdFatura.Quantidade     = item.Quantidade;
                crmProdFatura.Remessa        = item.RetiraNoLocal;

                if (item.QuantidadeEntregue.HasValue)
                {
                    crmProdFatura.QtdeEntregue = item.QuantidadeEntregue;
                }
                else
                {
                    crmProdFatura.AddNullProperty("QtdeEntregue");
                }

                if (item.NumeroSequencia.HasValue)
                {
                    crmProdFatura.NumeroSequencia = item.NumeroSequencia;
                }
                else
                {
                    crmProdFatura.AddNullProperty("NumeroSequencia");
                }

                //Service Unidade Negócio
                UnidadeNegocio ObjUnidadeNegocio = new Intelbras.CRM2013.Domain.Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocioPorChaveIntegracao(item.CodigoUnidadeNegocio);

                if (ObjUnidadeNegocio != null)
                {
                    crmProdFatura.UnidadeNegocio = new Lookup((Guid)ObjUnidadeNegocio.ID, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Identificador da Unidade de Negócio não encontrado.";
                    return;
                }

                #region Representante

                crmProdFatura.IntegradoRepresentanteComErro = false;
                crmProdFatura.RepresentanteOriginal         = item.CodigoRepresentante.ToString();

                Contato ObjRepresentante = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline)
                                           .BuscaContatoPorCodigoRepresentante(item.CodigoRepresentante.ToString());

                if (ObjRepresentante != null)
                {
                    crmProdFatura.Representante = new Lookup(ObjRepresentante.ID.Value, "");
                }
                else
                {
                    crmProdFatura.IntegradoRepresentanteComErro = true;
                    crmProdFatura.Representante = new Lookup(ObterRepresentatePadrao(), string.Empty);
                }

                #endregion

                //Service Moeda
                Moeda ObjMoeda = new Intelbras.CRM2013.Domain.Servicos.MoedaService(this.Organizacao, this.IsOffline).BuscaMoedaPorCodigo(xml.Moeda);

                if (ObjMoeda != null)
                {
                    crmProdFatura.Moeda = new Lookup((Guid)ObjMoeda.ID, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Identificador da Moeda não encontrado.";
                    return;
                }

                crmProdFatura.RazaoStatus = 1;

                string acaoItemFatura = item.Acao;

                if (!string.IsNullOrEmpty(item.EnderecoEntrega.NomeEndereco))
                {
                    crmProdFatura.NomeEntrega = item.EnderecoEntrega.NomeEndereco;
                }
                else
                {
                    crmProdFatura.AddNullProperty("NomeEntrega");
                }

                crmProdFatura.CEPEntrega  = item.EnderecoEntrega.CEP;
                crmProdFatura.Rua1Entrega = item.EnderecoEntrega.Logradouro;

                if (!string.IsNullOrEmpty(item.EnderecoEntrega.Complemento))
                {
                    crmProdFatura.Rua2Entrega = item.EnderecoEntrega.Complemento;
                }
                else
                {
                    crmProdFatura.AddNullProperty("Rua2Entrega");
                }

                crmProdFatura.Rua3Entrega   = item.EnderecoEntrega.Bairro;
                crmProdFatura.CidadeEntrega = item.EnderecoEntrega.NomeCidade;

                if (!String.IsNullOrEmpty(item.EnderecoEntrega.Estado))
                {
                    crmProdFatura.EstadoEntrega = item.EnderecoEntrega.Estado;
                }

                if (!String.IsNullOrEmpty(item.EnderecoEntrega.Pais))
                {
                    crmProdFatura.PaisEntrega = item.EnderecoEntrega.Pais;
                }

                if (!String.IsNullOrEmpty(item.EnderecoEntrega.Telefone))
                {
                    crmProdFatura.TelefoneEntrega = item.EnderecoEntrega.Telefone;
                }
                else
                {
                    crmProdFatura.AddNullProperty("TelefoneEntrega");
                }

                if (!String.IsNullOrEmpty(item.EnderecoEntrega.Fax))
                {
                    crmProdFatura.FAXEntrega = item.EnderecoEntrega.Fax;
                }
                else
                {
                    crmProdFatura.AddNullProperty("FAXEntrega");
                }

                if (acaoItemFatura == "A" || acaoItemFatura == "I")
                {
                    lstProdutoFaturaUpdate.Add(crmProdFatura);
                }
                if (acaoItemFatura == "E")
                {
                    lstProdutoFaturaDelete.Add(crmProdFatura);
                }
            }
        }