Пример #1
0
        protected override bool salvar(object sender, EventArgs e)
        {
            bool Retorno = epValidaDados.Validar(true);

            if (Retorno)
            {
                try
                {
                    ProdutoBLL = new ProdutoBLL();
                    ProdutoBLL.UsuarioLogado = Program.usuario_logado;
                    ProdutoProxy proxy = new ProdutoProxy();

                    Produto Produto = LoadFromControls();
                    Produto.sincronizar = "S";

                    bool IntOmie           = Convert.ToBoolean(Parametro.GetParametro("intOmie"));
                    bool updateProdutoOmie = Convert.ToBoolean(Parametro.GetParametro("updateProdutoOmie"));

                    if (Id != null)
                    {
                        ProdutoBLL.AlterarProduto(Produto);
                    }
                    else
                    {
                        Produto.codigo_produto_integracao = Sequence.GetNextVal("sq_produto_sequence").ToString();
                        ProdutoBLL.AdicionarProduto(Produto);
                        Id         = Produto.id;
                        txtId.Text = Id.ToString();
                    }

                    if (IntOmie & updateProdutoOmie)
                    {
                        if (Produto.codigo_produto == 0)
                        {
                            proxy.IncluirProduto(Produto);
                        }
                        else
                        {
                            proxy.AlterarProduto(Produto);
                        }
                    }



                    if (Produto.id != 0)
                    {
                        txtCodInt.Text = Produto.codigo_produto_integracao;
                    }

                    Retorno = true;
                }
                catch (Exception ex)
                {
                    Retorno = false;
                    throw ex;
                }
            }
            return(Retorno);
        }
Пример #2
0
        private void SyncOmieToLocal(int pagina = -1)
        {
            try
            {
                produto_servico_list_request filtro = new produto_servico_list_request();

                if (Mensagem != null)
                {
                    Mensagem.Text = "Sincronizando cadastro de  Produtos";
                    Application.DoEvents();
                }

                filtro.apenas_importado_api = "N";
                if (pagina == -1)
                {
                    filtro.pagina = "1";
                    pagina        = 1;
                }
                else
                {
                    filtro.pagina = Convert.ToString(pagina);
                }
                //filtro.pagina = "1";
                filtro.apenas_importado_api   = "N";
                filtro.filtrar_apenas_omiepdv = "N";
                filtro.registros_por_pagina   = "50";
                filtro.ordenar_por            = "codigo_produto";

                produto_servico_listfull_response resp = soapClient.ListarProdutos(filtro);

                if (ProgressBar != null)
                {
                    if (resp != null)
                    {
                        NrTotalRegistro = Convert.ToInt32(resp.total_de_registros);
                    }

                    ProgressBar.Maximum = NrTotalRegistro;
                }

                foreach (produto_servico_cadastro item in resp.produto_servico_cadastro)
                {
                    //chama o metodo que faz o inset da Produto na base.
                    int codigo_Produto_omie = Convert.ToInt32(item.codigo_produto);
                    if (ProdutoBLL.getProduto(p => p.codigo_produto == codigo_Produto_omie).Count <= 0)
                    {
                        Produto Produto = toProduto(item);
                        if (string.IsNullOrEmpty(Produto.codigo_produto_integracao))
                        {
                            Produto.codigo_produto_integracao = Sequence.GetNextVal("sq_produto_sequence").ToString();
                        }

                        ProdutoBLL.AdicionarProduto(Produto);
                    }

                    RegistroAtual++;
                    if (ProgressBar != null)
                    {
                        ProgressBar.Value = RegistroAtual;
                        ProgressBar.Refresh();
                        Application.DoEvents();
                        if (QtdRegistros != null)
                        {
                            QtdRegistros.Text = RegistroAtual.ToString() + " de " + NrTotalRegistro.ToString();
                            Application.DoEvents();
                        }
                    }
                }

                if (Convert.ToInt32(resp.total_de_paginas) > pagina)
                {
                    pagina++;
                    SyncOmieToLocal(pagina);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }