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