Example #1
0
        private List <Pollux.Entities.ProdutoSolicitacaoItem> RetornaListaItens(Guid solicitacaoId)
        {
            List <Pollux.Entities.ProdutoSolicitacaoItem> lstRetorno = new List <Pollux.Entities.ProdutoSolicitacaoItem>();

            List <ProdutosdaSolicitacao> lstProdutoSolicitacao = new Servicos.ProdutosdaSolicitacaoService(this.Organizacao, this.IsOffline).ListarPorSolicitacao(solicitacaoId);

            foreach (var itemProdSol in lstProdutoSolicitacao)
            {
                Pollux.Entities.ProdutoSolicitacaoItem objItemPollux = new Pollux.Entities.ProdutoSolicitacaoItem();
                if (itemProdSol.Produto != null)
                {
                    Product produto = new Servicos.ProdutoService(this.Organizacao, this.IsOffline).ObterPor(itemProdSol.Produto.Id);
                    if (produto != null)
                    {
                        objItemPollux.CodigoProduto = produto.Codigo;
                    }
                    else
                    {
                        throw new ArgumentException("(CRM) Produto do Item não preenchido");
                    }
                }
                objItemPollux.Situacao = itemProdSol.State.Value;

                objItemPollux.Proprietario     = "259A8E4F-15E9-E311-9420-00155D013D39";
                objItemPollux.TipoProprietario = "systemuser";

                if (itemProdSol.BeneficioPrograma != null)
                {
                    objItemPollux.CodigoBeneficio = itemProdSol.BeneficioPrograma.Id.ToString();
                }
                else
                {
                    throw new Exception("(CRM) Código do Benefício não preenchido.");
                }

                objItemPollux.CodigoSolicitacaoBeneficio = solicitacaoId.ToString();
                if (!itemProdSol.ValorUnitario.HasValue)
                {
                    objItemPollux.ValorUnitario = 0;
                }
                else
                {
                    objItemPollux.ValorUnitario = itemProdSol.ValorUnitario.Value;
                }

                if (!itemProdSol.ValorTotal.HasValue)
                {
                    objItemPollux.ValorTotal = 0;
                }
                else
                {
                    objItemPollux.ValorTotal = itemProdSol.ValorTotal.Value;
                }

                if (itemProdSol.Fatura != null)
                {
                    Fatura fatura = new Servicos.FaturaService(this.Organizacao, this.IsOffline).ObterPor(itemProdSol.Fatura.Id);

                    if (fatura != null)
                    {
                        objItemPollux.ChaveIntegracaoNotaFiscal = fatura.ChaveIntegracao;
                    }
                }

                if (itemProdSol.QuantidadeAprovada.HasValue)
                {
                    objItemPollux.QuantidadeAprovado = itemProdSol.QuantidadeAprovada.Value;
                }

                if (itemProdSol.ValorUnitarioAprovado.HasValue)
                {
                    objItemPollux.ValorUnitarioAprovado = itemProdSol.ValorUnitarioAprovado.Value;
                }

                if (itemProdSol.ValorTotalAprovado.HasValue)
                {
                    objItemPollux.ValorTotalAprovado = itemProdSol.ValorTotalAprovado.Value;
                }

                objItemPollux.Quantidade = itemProdSol.QuantidadeSolicitada.Value;
                //Campos Novas
                objItemPollux.CodigoProdutoSolicitacao = itemProdSol.ID.Value.ToString();
                Estabelecimento estabelecimento = new Servicos.EstabelecimentoService(this.Organizacao, this.IsOffline).BuscaEstabelecimento(itemProdSol.Estabelecimento.Id);

                if (estabelecimento != null && estabelecimento.Codigo.HasValue)
                {
                    objItemPollux.CodigoEstabelecimento = estabelecimento.Codigo.Value;
                }
                else
                {
                    throw new ArgumentException("(CRM) Estabelecimento/codigo Estabelecimento não cadastrado no Crm.");
                }

                objItemPollux.Acao = "A";

                if (itemProdSol.QuantidadeCancelada.HasValue)
                {
                    objItemPollux.QuantidadeCancelada = itemProdSol.QuantidadeCancelada.Value;
                }

                if (itemProdSol.ValorPago.HasValue)
                {
                    objItemPollux.ValorPago = itemProdSol.ValorPago.Value;
                }

                if (itemProdSol.ValorCancelado.HasValue)
                {
                    objItemPollux.ValorCancelado = itemProdSol.ValorCancelado.Value;
                }

                lstRetorno.Add(objItemPollux);
            }

            return(lstRetorno);
        }
Example #2
0
        private List <Intelbras.Message.Helper.Entities.ObterSolicitacaoItem> RetornaSolicitacaoItens(Intelbras.CRM2013.Domain.Model.SolicitacaoBeneficio objSolicitacaoBeneficio)
        {
            List <Intelbras.Message.Helper.Entities.ObterSolicitacaoItem> lstSolicitacaoItens = new List <Intelbras.Message.Helper.Entities.ObterSolicitacaoItem>();
            var lstProdSolicitacao = new Servicos.ProdutosdaSolicitacaoService(this.Organizacao, this.IsOffline).ListarPorSolicitacao(objSolicitacaoBeneficio.ID.Value);

            if (lstProdSolicitacao != null && lstProdSolicitacao.Count > 0)
            {
                foreach (var produtoDaSolicitacao in lstProdSolicitacao)
                {
                    Intelbras.Message.Helper.Entities.ObterSolicitacaoItem itemSolicitacao = new Intelbras.Message.Helper.Entities.ObterSolicitacaoItem();

                    itemSolicitacao.CodigoProdutoSolicitacao   = produtoDaSolicitacao.ID.Value.ToString();
                    itemSolicitacao.CodigoSolicitacaoBeneficio = objSolicitacaoBeneficio.ID.Value.ToString();
                    Product produto = new Servicos.ProdutoService(this.Organizacao, this.IsOffline).ObterPor(produtoDaSolicitacao.Produto.Id);
                    if (produto != null)
                    {
                        itemSolicitacao.CodigoProduto   = produto.Codigo;
                        itemSolicitacao.NomeProduto     = produto.Nome;
                        itemSolicitacao.CodigoBeneficio = objSolicitacaoBeneficio.BeneficioPrograma.Id.ToString();
                        itemSolicitacao.NomeBeneficio   = objSolicitacaoBeneficio.BeneficioPrograma.Name;
                    }
                    else
                    {
                        throw new Exception("Produto ID :" + produtoDaSolicitacao.ID.Value.ToString() + "não encontrado!");
                    }
                    if (produtoDaSolicitacao.ValorUnitario.HasValue)
                    {
                        itemSolicitacao.ValorUnitario = produtoDaSolicitacao.ValorUnitario.Value;
                    }
                    else
                    {
                        itemSolicitacao.ValorUnitario = 0;
                    }

                    if (produtoDaSolicitacao.QuantidadeSolicitada.HasValue)
                    {
                        itemSolicitacao.Quantidade = Convert.ToInt32(produtoDaSolicitacao.QuantidadeSolicitada.Value);//Mudar Willer
                    }
                    else
                    {
                        itemSolicitacao.Quantidade = 0;
                    }

                    if (produtoDaSolicitacao.ValorTotal.HasValue)
                    {
                        itemSolicitacao.ValorTotal = produtoDaSolicitacao.ValorTotal.Value;
                    }
                    else
                    {
                        itemSolicitacao.ValorTotal = 0;
                    }

                    if (produtoDaSolicitacao.ValorUnitarioAprovado.HasValue)
                    {
                        itemSolicitacao.ValorUnitarioAprovado = produtoDaSolicitacao.ValorUnitarioAprovado.Value;
                    }
                    else
                    {
                        itemSolicitacao.ValorUnitarioAprovado = 0;
                    }

                    if (produtoDaSolicitacao.ValorTotalAprovado.HasValue)
                    {
                        itemSolicitacao.ValorTotalAprovado = produtoDaSolicitacao.ValorTotalAprovado.Value;
                    }
                    else
                    {
                        itemSolicitacao.ValorTotalAprovado = 0;
                    }

                    if (produtoDaSolicitacao.QuantidadeAprovada.HasValue)
                    {
                        itemSolicitacao.QuantidadeAprovado = Convert.ToInt32(produtoDaSolicitacao.QuantidadeAprovada.Value);//Mudar Willer
                    }
                    else
                    {
                        itemSolicitacao.QuantidadeAprovado = 0;
                    }

                    if (produtoDaSolicitacao.Fatura != null)
                    {
                        Fatura fatura = new Servicos.FaturaService(this.Organizacao, this.IsOffline).ObterPor(produtoDaSolicitacao.Fatura.Id);
                        if (fatura != null)
                        {
                            itemSolicitacao.ChaveIntegracaoNotaFiscal = fatura.ChaveIntegracao;
                            itemSolicitacao.NomeNotaFiscal            = fatura.NomeAbreviado;
                        }
                    }

                    itemSolicitacao.Proprietario     = usuarioIntegracao.ID.Value.ToString();
                    itemSolicitacao.NomeProprietario = usuarioIntegracao.Nome;
                    itemSolicitacao.TipoProprietario = "systemuser";

                    if (produtoDaSolicitacao.Estabelecimento != null)
                    {
                        Estabelecimento estabelecimento = new Servicos.EstabelecimentoService(this.Organizacao, this.IsOffline).BuscaEstabelecimento(produtoDaSolicitacao.Estabelecimento.Id);
                        if (estabelecimento != null && estabelecimento.Codigo.HasValue)
                        {
                            itemSolicitacao.NomeEstabelecimento   = estabelecimento.Nome;
                            itemSolicitacao.CodigoEstabelecimento = estabelecimento.Codigo.Value;
                        }
                        else
                        {
                            itemSolicitacao.NomeEstabelecimento   = "N/A";
                            itemSolicitacao.CodigoEstabelecimento = 0;
                        }
                    }
                    else
                    {
                        itemSolicitacao.NomeEstabelecimento   = "N/A";
                        itemSolicitacao.CodigoEstabelecimento = 0;
                    }

                    itemSolicitacao.Situacao = produtoDaSolicitacao.State.Value;

                    if (produtoDaSolicitacao.State.Value.Equals(0))
                    {
                        itemSolicitacao.NomeSituacao = "Ativo";
                    }
                    else if (produtoDaSolicitacao.State.Value.Equals(1))
                    {
                        itemSolicitacao.NomeSituacao = "Inativo";
                    }

                    if (produtoDaSolicitacao.QuantidadeCancelada.HasValue)
                    {
                        itemSolicitacao.QuantidadeCancelada = produtoDaSolicitacao.QuantidadeCancelada.Value;
                    }

                    if (produtoDaSolicitacao.ValorPago.HasValue)
                    {
                        itemSolicitacao.ValorPago = produtoDaSolicitacao.ValorPago.Value;
                    }

                    if (produtoDaSolicitacao.QuantidadeAjustada.HasValue)
                    {
                        itemSolicitacao.QuantidadeAjustada = produtoDaSolicitacao.QuantidadeAjustada.Value;
                    }

                    if (produtoDaSolicitacao.ValorCancelado.HasValue)
                    {
                        itemSolicitacao.ValorCancelado = produtoDaSolicitacao.ValorCancelado.Value;
                    }

                    lstSolicitacaoItens.Add(itemSolicitacao);
                }
            }

            return(lstSolicitacaoItens);
        }