protected override bool salvar(object sender, EventArgs e) { bool layoutOtica = Convert.ToBoolean(Parametro.GetParametro("layoutOtica")); if (layoutOtica) { epValidaDados.SetObrigatorio(txtCNPJCPF, false); } bool Retorno = epValidaDados.Validar(true); if (Retorno) { Retorno = ValidaDadosEspecifico(); } if (Retorno) { try { ClienteBLL = new ClienteBLL(); ClienteBLL.UsuarioLogado = Program.usuario_logado; ClienteProxy proxy = new ClienteProxy(); proxy.usuario = Program.usuario_logado; bool intOmie = Convert.ToBoolean(Parametro.GetParametro("intOmie")); bool updateClienteOmie = Convert.ToBoolean(Parametro.GetParametro("updateFornecedorOmie")); Cliente Cliente = LoadFromControls(); Cliente.sincronizar = "S"; if (Id != null) { ClienteBLL.AlterarCliente(Cliente); } else { Cliente.codigo_cliente_integracao = Sequence.GetNextVal("sq_cliente_sequence").ToString(); TagBLL tagBLL = new TagBLL(); Tag tg = tagBLL.getTag("Fornecedor").FirstOrDefault(); Cliente.cliente_tag.Add(new Cliente_Tag { Id_tag = tg.Id, tag = tg.tag1 }); ClienteBLL.AdicionarCliente(Cliente); } if ((intOmie) & (updateClienteOmie)) { if (Cliente.codigo_cliente_omie <= 0) { proxy.IncluirClientes(Cliente); } else { proxy.AlterarClientes(Cliente); } } if (Cliente.Id != 0) { Id = Cliente.Id; txtId.Text = Cliente.Id.ToString(); } SalvarImagem(Cliente.Id); Retorno = true; } catch (Exception ex) { Retorno = false; throw ex; } } return(Retorno); }
private void SyncOmieToLocal(int pagina = -1) { try { clientes_list_request filtro = new clientes_list_request(); clienteBLL = new ClienteBLL(); if (Mensagem != null) { Mensagem.Text = "Sincronizando cadastro de Clientes"; Application.DoEvents(); } filtro.apenas_importado_api = "N"; filtro.filtrar_apenas_alteracao = "S"; if (pagina == -1) { filtro.pagina = "1"; pagina = 1; } else { filtro.pagina = Convert.ToString(pagina); } filtro.registros_por_pagina = "200"; clientes_listfull_response resp = soapClient.ListarClientes(filtro); if (ProgressBar != null) { if (resp != null) { NrTotalRegistro = Convert.ToInt32(resp.total_de_registros); } ProgressBar.Maximum = NrTotalRegistro; } foreach (clientes_cadastro item in resp.clientes_cadastro) { //chama o metodo que faz o inset da cliente na base. long?codigo_cliente_omie = Convert.ToInt64(item.codigo_cliente_omie); List <Cliente> ClienteList = clienteBLL.getCliente(c => c.codigo_cliente_omie == codigo_cliente_omie); if (ClienteList.Count() <= 0) { Cliente cliente = toCliente(item); clienteBLL.AdicionarCliente(cliente); } else { Cliente cliente = ClienteList.First(); cliente = toCliente(item, cliente); clienteBLL.AlterarCliente(cliente); } 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; } }