public List <PrecoProduto> DefinirPropriedadesLista(Intelbras.Message.Helper.MSG0101 xml) { List <PrecoProduto> lstPrecoProduto = new List <PrecoProduto>(); List <String> lstCodProd = new List <String>(); foreach (var item in xml.ProdutosItens) { lstCodProd.Add(item.CodigoProduto); } List <Product> lstProduto = new Servicos.ProdutoService(this.Organizacao, this.IsOffline).ListarProdutosPorCodigo(lstCodProd); Guid contaProduto = new Guid(); if (!String.IsNullOrEmpty(xml.Conta) && xml.Conta.Length == 36) { contaProduto = new Guid(xml.Conta); } else if (!String.IsNullOrEmpty(xml.Conta) && xml.Conta.Length < 36) { Conta conta = new Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaContaPorCpfCnpj(xml.Conta); if (conta != null) { contaProduto = conta.ID.Value; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Canal não encontrado."; lstPrecoProduto = null; return(lstPrecoProduto); } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Identificador do Canal não enviado."; lstPrecoProduto = null; return(lstPrecoProduto); } foreach (var item in xml.ProdutosItens) { PrecoProduto precoProduto = new PrecoProduto(this.Organizacao, this.IsOffline); if (!String.IsNullOrEmpty(item.CodigoProduto)) { precoProduto.CodigoProduto = item.CodigoProduto; Product produto = new Product(this.Organizacao, this.IsOffline); produto = lstProduto.Where(x => x.Codigo == item.CodigoProduto).FirstOrDefault <Product>(); if (produto != null) { precoProduto.ProdutoId = produto.ID.Value; precoProduto.Produto = produto; if (item.TipoPortfolio == (int)Domain.Enum.Portfolio.Tipo.CrossSelling) { precoProduto.TipoCrossSelling = true; } else { precoProduto.TipoCrossSelling = false; } precoProduto.codEstabelecimento = item.CodigoEstabelecimento.Value; precoProduto.codUnidade = item.CodigoUnidadeNegocio; precoProduto.codFamiliaComl = item.CodigoFamiliaComercial; precoProduto.tipoPortofolio = item.TipoPortfolio.Value; } else { precoProduto.Produto = null; precoProduto.ProdutoId = Guid.Empty; precoProduto.ValorProduto = 0; precoProduto.MensagemErro = "Produto não cadastrado no Crm."; } } else { precoProduto.Produto = null; precoProduto.ProdutoId = Guid.Empty; precoProduto.ValorProduto = 0; precoProduto.MensagemErro = "Identificador do Produto não enviado."; } if (!String.IsNullOrEmpty(item.Moeda)) { precoProduto.Moeda = item.Moeda; } else { precoProduto.Produto = null; precoProduto.ProdutoId = Guid.Empty; precoProduto.ValorProduto = 0; precoProduto.MensagemErro = "Moeda não enviada."; } precoProduto.ContaId = contaProduto; decimal qtd = 0; if (Decimal.TryParse(item.Quantidade.ToString(), out qtd)) { try { precoProduto.Quantidade = (int)qtd; } catch { precoProduto.Produto = null; precoProduto.ProdutoId = Guid.Empty; precoProduto.ValorProduto = 0; precoProduto.MensagemErro = "Produto com 'Quantidade' fora do padrão."; } } else { precoProduto.Produto = null; precoProduto.ProdutoId = Guid.Empty; precoProduto.ValorProduto = 0; precoProduto.MensagemErro = "Produto com 'Quantidade' fora do padrão ou não enviado."; } precoProduto.ValorProduto = 0; lstPrecoProduto.Add(precoProduto); } return(lstPrecoProduto); }
public PrecoProduto DefinirPropriedades(Intelbras.Message.Helper.MSG0101 xml) { throw new NotImplementedException(); }