private List <ProdutoDTO> ObterListagemProdutos(string p_sBusca) { List <ProdutoDTO> lstProdDTO; ProdutoBO prodBO = new ProdutoBO(); if (string.IsNullOrEmpty(p_sBusca)) { p_sBusca = string.Empty; } if (!BuscarOffline) { if (Util.SomenteNumero(p_sBusca)) { lstProdDTO = prodBO.ObterProdutos(p_sCodigoBarra: p_sBusca); } else if (p_sBusca.Length > 3) { lstProdDTO = prodBO.ObterProdutos(p_sNome: p_sBusca); } else { lstProdDTO = prodBO.ObterProdutos(true, 0, 128); } } else { if (Util.SomenteNumero(p_sBusca)) { lstProdDTO = prodBO.ObterProdutos_Localhost(p_sCodigoBarra: p_sBusca); } else if (p_sBusca.Length > 3) { lstProdDTO = prodBO.ObterProdutos_Localhost(p_sNome: p_sBusca); } else { lstProdDTO = prodBO.ObterProdutos_Localhost(p_iLimit_APartir: 0, p_iLimit_Qtd: 128); } } return(lstProdDTO); }
private void IniciarSincronizacaoDeProdutos_Thread() { ProdutoBO pBO = new ProdutoBO(); QtdErro = 0; RunOnUiThread(() => { pPgbStatusGeral.Visibility = ViewStates.Visible; pPgbStatusGeral.Indeterminate = true; pTxtAviso.Text = "Atenção!\r\nNão interrompa este procedimento.\r\n\r\nPreparando a sincronização."; }); List <ProdutoDTO> lstProdutosOnline = new List <ProdutoDTO>(); lstProdutosOnline = pBO.ObterProdutos(true, 0, 100000); if (lstProdutosOnline == null || lstProdutosOnline.Count == 0) { RunOnUiThread(() => { string sMensagem = "Nenhum produto para sincronizar"; pPgbStatusGeral.Indeterminate = false; pTxtAviso.Text = string.Empty; Toast.MakeText(this, sMensagem, ToastLength.Short).Show(); }); return; } RunOnUiThread(() => { pTxtAviso.Text = "Preparando sincronização."; pBO.DeletarTodos_Localhost(); }); int Cont = 0; double dPercConcluido; int iTotalDeRegistros = lstProdutosOnline.Count; foreach (ProdutoDTO DTO in lstProdutosOnline) { if (!pBO.Salvar_Localhost(DTO)) { QtdErro++; } Cont++; dPercConcluido = (Cont * 100) / iTotalDeRegistros; RunOnUiThread(() => { pPgbStatusGeral.Progress = Cont; pTxtAviso.Text = string.Format("{0} - {1}\r\n{2}%\r\nAguarde...", Cont, iTotalDeRegistros, dPercConcluido); }); } RunOnUiThread(() => { pBtnSincronizar.Enabled = true; pPgbStatusGeral.Visibility = ViewStates.Invisible; pTxtAviso.Text = string.Format("Sincronização finalizada.\r\n{0} erros ocorridos de {1} produto(s) sincronizado(s).", QtdErro, iTotalDeRegistros); }); }