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); }
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); }