示例#1
0
        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);
        }
示例#2
0
        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);
            });
        }