Пример #1
0
        /// <summary>
        /// Atualiza os produtos do fornecedor
        /// </summary>
        /// <param name="entradaFornecedor">Contrato.EntradaFornecedor </param>
        private static void SalvarProdutosFornecedor(Contrato.EntradaFornecedor entradaFornecedor)
        {
            // Define o filtro para recuperar os produtos
            Contrato.EntradaProduto entProduto = new Contrato.EntradaProduto()
            {
                Chave = entradaFornecedor.Chave,
                UsuarioLogado = entradaFornecedor.UsuarioLogado,
                EmpresaLogada = entradaFornecedor.EmpresaLogada,
                Produto = new Contrato.Produto() { Fornecedor = entradaFornecedor.Fornecedor, Ativo = true }
            };

            // Recupera todos os produtos do fornecedor
            Contrato.RetornoProduto retProduto = Negocio.Produto.ListarProduto(entProduto);

            // Se existem produtos
            if (retProduto.Produtos != null)
            {
                // Define a entrada para salvar os produtos
                Contrato.EntradaProdutos entProdutos = new Contrato.EntradaProdutos()
                {
                    Chave = entradaFornecedor.Chave,
                    UsuarioLogado = entradaFornecedor.UsuarioLogado,
                    Produtos = retProduto.Produtos,
                    Fornecedor = entradaFornecedor.Fornecedor
                };

                // Salva os produtos
                Negocio.Produto.SalvarProdutos(entProdutos);
            }
        }
        private void ListarProdutos(bool mostrarMsgVazio)
        {
            Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
            entradaProduto.Chave = Comum.Util.Chave;
            entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
            entradaProduto.Produto = new Contrato.Produto();
            entradaProduto.Paginar = true;
            entradaProduto.PosicaoUltimoItem = 0;
            entradaProduto.CantidadeItens = Comum.Parametros.QuantidadeItensPagina;

            PreencherFiltro(entradaProduto.Produto);

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListar(entradaProduto);
            servBrasilDidaticos.Close();

            if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO)
            {
                // Remove todos os produtos que não foram selecionados
                while ((from p in _lstProduto where p.Selecionado == false select p).Count() > 0)
                {
                    _lstProduto.Remove((from p in _lstProduto where p.Selecionado == false select p).First());
                }

                // Adiciona a lista os novos produtos que foram buscados
                foreach (Contrato.Produto p in retProduto.Produtos)
                    _lstProduto.Add(new Objeto.Produto { Selecionado = false, Id = p.Id, Codigo = p.Codigo, Nome = p.Nome, Fornecedor = p.Fornecedor, CodigoFornecedor = p.CodigoFornecedor, Quantidade = p.Quantidade, ValorBase = p.ValorBase, Taxas = p.Taxas, UnidadeMedidas = p.UnidadeMedidas });
            }

            // Define os novos produtos
            dgProdutos.ItemsSource = _lstProduto;

            if (mostrarMsgVazio && retProduto.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO)
                MessageBox.Show(retProduto.Mensagem, "Fornecedor", MessageBoxButton.OK, MessageBoxImage.Information);
        }
        private bool SalvarProduto()
        {
            bool salvou = true;

            StringBuilder strValidacao = ValidarCampos();

            // Verifica se as informações do usuário são válidas
            if (strValidacao.Length > 0)
            {
                MessageBox.Show(strValidacao.ToString(), "Produto", MessageBoxButton.OK, MessageBoxImage.Information);
                salvou = false;
            }
            else
            {
                Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
                entradaProduto.Chave = Comum.Util.Chave;
                entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
                if (_produto == null) entradaProduto.Novo = true;
                entradaProduto.Produto = new Contrato.Produto();

                PreencherProduto(entradaProduto.Produto);

                Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoSalvar(entradaProduto);
                servBrasilDidaticos.Close();

                if (retProduto.Codigo != Contrato.Constantes.COD_RETORNO_SUCESSO)
                {
                    MessageBox.Show(retProduto.Mensagem, "Produto", MessageBoxButton.OK, MessageBoxImage.Error);
                    salvou = false;

                    if (retProduto.Codigo == Contrato.Constantes.COD_REGISTRO_DUPLICADO)
                    {
                        gdProdutoDados.ColumnDefinitions[1].Width = new GridLength(TAM_COLUNA_CODIGO);
                    }
                }
            }

            return salvou;
        }
        private void dgProdutos_ScrollChanged(object sender, ScrollChangedEventArgs e)
        {
            try
            {
                if (e.VerticalChange != 0)
                {
                    if (e.VerticalOffset + e.ViewportHeight == e.ExtentHeight && _BuscarProduto)
                    {
                        Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
                        entradaProduto.Chave = Comum.Util.Chave;
                        entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                        entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
                        entradaProduto.Produto = new Contrato.Produto() { Ativo = true };
                        entradaProduto.Paginar = true;
                        entradaProduto.PosicaoUltimoItem = int.Parse(e.ExtentHeight.ToString());
                        entradaProduto.CantidadeItens = int.Parse(e.ViewportHeight.ToString());

                        PreencherFiltro(entradaProduto.Produto);

                        Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                        Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListar(entradaProduto);
                        servBrasilDidaticos.Close();

                        if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO)
                        {
                            // Verifica se será necessário buscar mais produtos
                            _BuscarProduto = retProduto.Produtos.Count == e.ViewportHeight;

                            // Se existem produtos preenche o grid
                            if (retProduto.Produtos.Count > Contrato.Constantes.COD_RETORNO_SUCESSO)
                            {
                                // Adiciona a lista os novos produtos que foram buscados
                                foreach (Contrato.Produto p in retProduto.Produtos)
                                    _lstProduto.Add(new Objeto.Produto { Selecionado = false, Id = p.Id, Codigo = p.Codigo, Nome = p.Nome, Fornecedor = p.Fornecedor, CodigoFornecedor = p.CodigoFornecedor, ValorBase = p.ValorBase, Taxas = p.Taxas });

                                dgProdutos.ItemsSource = _lstProduto;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Fornecedor", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                this.Cursor = Cursors.Arrow;
            }
        }
        private void ListarProdutos(bool mostrarMsgVazio)
        {
            dgProdutos.Items.Clear();

            Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
            entradaProduto.Chave = Comum.Util.Chave;
            entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
            entradaProduto.Produto = new Contrato.Produto();
            entradaProduto.Paginar = true;
            entradaProduto.PosicaoUltimoItem = 0;
            entradaProduto.CantidadeItens = Comum.Parametros.QuantidadeItensPagina;

            PreencherFiltro(entradaProduto.Produto);

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListar(entradaProduto);
            servBrasilDidaticos.Close();

            if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO)
            {
                foreach (Contrato.Produto p in retProduto.Produtos)
                    dgProdutos.Items.Add(p);
            }

            if (mostrarMsgVazio && retProduto.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO)
                MessageBox.Show(retProduto.Mensagem, "Produto", MessageBoxButton.OK, MessageBoxImage.Information);
        }
        private void dgProdutos_ScrollChanged(object sender, ScrollChangedEventArgs e)
        {
            try
             {
                 if (e.VerticalChange != 0)
                 {
                     if (e.VerticalOffset + e.ViewportHeight == e.ExtentHeight && _BuscarProduto)
                     {
                         Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
                         entradaProduto.Chave = Comum.Util.Chave;
                         entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
                         entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
                         entradaProduto.Produto = new Contrato.Produto() { Ativo = true };
                         entradaProduto.Paginar = true;
                         entradaProduto.PosicaoUltimoItem = int.Parse(e.ExtentHeight.ToString());
                         entradaProduto.CantidadeItens = int.Parse(e.ViewportHeight.ToString());

                         PreencherFiltro(entradaProduto.Produto);

                         Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
                         Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListar(entradaProduto);
                         servBrasilDidaticos.Close();

                         if (retProduto.Codigo == 0)
                         {
                             // Verifica se será necessário buscar mais produtos
                             _BuscarProduto = retProduto.Produtos.Count == e.ViewportHeight;
                             // Se existem produtos preenche o grid
                             if (retProduto.Produtos.Count > 0)
                             {
                                 foreach (Contrato.Produto p in retProduto.Produtos)
                                     dgProdutos.Items.Add(p);
                             }
                         }
                     }
                 }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Produto", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                this.Cursor = Cursors.Arrow;
            }
        }
        private void ListarProdutos()
        {
            Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
            entradaProduto.Chave = Comum.Util.Chave;
            entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
            entradaProduto.Produto = new Contrato.Produto();

            Contrato.EntradaParametro entradaParametro = new Contrato.EntradaParametro();
            entradaParametro.Chave = Comum.Util.Chave;
            entradaParametro.UsuarioLogado = Comum.Util.UsuarioLogado.Login;

            PreencherFiltro(entradaProduto.Produto);

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListarRelatorio(entradaProduto);
            servBrasilDidaticos.Close();

            if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO)
                MessageBox.Show(retProduto.Mensagem, "Relatório Atacado", MessageBoxButton.OK, MessageBoxImage.Information);
            else if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO)
            {
                WRelatorioAtacado wRelatorio = new WRelatorioAtacado();
                wRelatorio.Produtos = retProduto.Produtos;
                wRelatorio.ShowActivated = true;
                wRelatorio.Show();
            }
        }
        private void PreencherDadosProdutos(bool mostrarMsgVazio)
        {
            dgProdutos.Items.Clear();

            Contrato.EntradaProduto entradaProduto = new Contrato.EntradaProduto();
            entradaProduto.Chave = Comum.Util.Chave;
            entradaProduto.UsuarioLogado = Comum.Util.UsuarioLogado.Login;
            entradaProduto.EmpresaLogada = Comum.Parametros.EmpresaProduto;
            entradaProduto.Produto = new Contrato.Produto() { Ativo = true };
            entradaProduto.Paginar = true;
            entradaProduto.PosicaoUltimoItem = 0;
            entradaProduto.CantidadeItens = Comum.Parametros.QuantidadeItensPagina;

            PreencherFiltro(entradaProduto.Produto);

            Servico.BrasilDidaticosClient servBrasilDidaticos = new Servico.BrasilDidaticosClient(Comum.Util.RecuperarNomeEndPoint());
            Contrato.RetornoProduto retProduto = servBrasilDidaticos.ProdutoListar(entradaProduto);
            servBrasilDidaticos.Close();

            if (retProduto.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO)
            {
                List<Objeto.Produto> lstProdutos = (from p in retProduto.Produtos select new Objeto.Produto { Codigo = p.Codigo, Nome = p.Nome, Ncm = p.Ncm, ValorPercentagemAtacado = p.ValorPercentagemAtacado, ValorPercentagemVarejo = p.ValorPercentagemVarejo, CodigoFornecedor = p.CodigoFornecedor, Fornecedor = p.Fornecedor, Taxas = p.Taxas, Quantidade = p.Quantidade, ValorBase = p.ValorBase }).ToList();
                foreach (Objeto.Produto p in lstProdutos)
                    dgProdutos.Items.Add(p);
            }

            if (mostrarMsgVazio && retProduto.Codigo == Contrato.Constantes.COD_RETORNO_VAZIO)
                MessageBox.Show(retProduto.Mensagem, "Produto", MessageBoxButton.OK, MessageBoxImage.Information);

            txtCodigo.txtBox.Focus();
        }