private void opçãoPrefetch_Click(object sender, EventArgs e) { CacheMiniaturas cache = Entidades.Álbum.CacheMiniaturas.Instância; Aguarde janela = new Aguarde("Aguarde enquanto o arquivo de miniaturas é construído. Este processo pode demorar.", 1, "Processamento de miniaturas", cache.arquivoXml); janela.Abrir(); cache.CarregarCacheMiniaturas(); janela.Close(); }
private void opçãoRefazerÍcones_Click(object sender, EventArgs e) { Entidades.Álbum.Foto[] lstFotos = Entidades.Álbum.Foto.ObterFotosSemÍcone(); // Obtem todas as fotos sem ícone // Gera o ícone e salva. Aguarde janela = new Aguarde("Gerando ícones", lstFotos.Length); janela.Show(); foreach (Foto f in lstFotos) { f.RefazÍcone(); f.Atualizar(); janela.Passo(f.ReferênciaFormatada); } janela.Close(); }
private void btnExcluir_Click(object sender, EventArgs e) { Aguarde janela = new Aguarde("Exclusão de classificação", afetadas.Count); janela.Show(); foreach (Entidades.Pessoa.Pessoa p in afetadas) { classificador.DefinirAtribuição(p, false); p.AtualizarClassificação(); janela.Passo(p.Nome); } classificador.Descadastrar(); janela.Close(); if (EventoItemExcluido != null) EventoItemExcluido(); Close(); }
private void button1_Click(object sender, EventArgs e) { Dbf dbf = new Dbf(txtArquivo.Text); DataSet dataSetDbf = new DataSet(); DataSet dataSetMysql = new DataSet(); AdicionarTabelaAoDataSet(dataSetMysql, "cadcli"); DataTable tabelaCadCliMysql = dataSetMysql.Tables["cadcli"]; dbf.AdicionarTabelaAoDataSet(dataSetDbf, "cadcli"); DataRowCollection coleção = dataSetDbf.Tables["cadcli"].Rows; Apresentação.Formulários.Aguarde janelaAguarde = new Aguarde("Transpondo", coleção.Count); janelaAguarde.Show(); foreach (DataRow item in coleção) { janelaAguarde.Passo(); DataRow novo; novo = tabelaCadCliMysql.NewRow(); novo["cod"] = item["CL_COD"]; novo["dig"] = item["CL_DIG"]; novo["nosso"] = item["CL_NOSSO"]; novo["nome"] = item["CL_NOME"]; novo["regiao"] = item["CL_REGIAO"]; novo["end"] = item["CL_END"]; novo["bairro"] = item["CL_BAIRRO"]; novo["cep"] = item["CL_CEP"]; novo["cid"] = item["CL_CID"]; novo["uf"] = item["CL_UF"]; novo["cgc"] = item["CL_CGC"]; novo["cpf"] = item["CL_CPF"]; novo["insc"] = item["CL_INSC"]; novo["endcob"] = item["CL_ENDCOB"]; novo["cidcob"] = item["CL_CIDCOB"]; novo["cepcob"] = item["CL_CEPCOB"]; novo["ufcob"] = item["CL_UFCOB"]; novo["contato"] = item["CL_CONTATO"]; novo["fone"] = item["CL_FONE"]; novo["fax"] = item["CL_FAX"]; novo["conta"] = item["CL_CONTA"]; novo["classe"] = item["CL_CLASSE"]; novo["categor"] = item["CL_CATEGOR"]; novo["obs"] = item["CL_OBS"].ToString() + "\n" + item["CL_OBS1"].ToString() + "\n" + item["CL_OBS2"].ToString() + "\n" + item["CL_OBS3"].ToString() + "\n" + item["CL_OBS4"].ToString() + "\n" + item["CL_OBS5"].ToString() + "\n" + item["CL_OBS6"].ToString() + "\n" + item["CL_OBS7"].ToString(); //novo["obs"] = "retirado no codigo fonte!"; tabelaCadCliMysql.Rows.Add(novo); } janelaAguarde.Passo("Gravando..."); GravarDataSet(dataSetMysql, "cadcli"); janelaAguarde.Close(); MessageBox.Show("Fim"); }
private void opçãoExtrairFotos_Click(object sender, EventArgs e) { if (lst.Seleção == null) { MessageBox.Show(this, "Favor selecionar um álbum.", "Escolha do álbum", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } folderBrowserDialog.Description = "Escolha o diretório destino"; if (folderBrowserDialog.ShowDialog(this) == DialogResult.OK) { Entidades.Álbum.Álbum album = lst.Seleção; List<Foto> fotos = album.Fotos.ExtrairElementos(); Aguarde aguarde = new Aguarde("Extraíndo fotos", fotos.Count); aguarde.Abrir(); string path = folderBrowserDialog.SelectedPath; if (!path.EndsWith(@"\")) path = path + @"\"; foreach (Foto f in fotos) { Image imagem = f.Imagem; Entidades.Mercadoria.Mercadoria m = f.ObterMercadoria(); if (imagem != null) imagem.Save(path + f.ReferênciaFormatada + " - " + m.Descrição + (m.DePeso ? "" : " - " + m.PesoFormatado) + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg); aguarde.Passo(); } aguarde.Close(); MessageBox.Show("As fotos foram extraídas", "Fim", MessageBoxButtons.OK, MessageBoxIcon.Information); System.Diagnostics.Process.Start(path); } }
/// <summary> /// 41|000024|2010-03-11 10:41:43| 2.05|2010-09-17 10:41:43| /// </summary> private static void GeraArquivoPreco(string caminhoCompletoPreco) { Aguarde aguarde = new Aguarde("Consultando preços", ds.Tables["mercadoria"].Rows.Count); aguarde.Show(); using (StreamWriter strPreco = new StreamWriter(caminhoCompletoPreco)) { foreach (DataRow m in ds.Tables["mercadoria"].Rows) { aguarde.Passo(); string referencia = (string)m["referencia"]; bool foraDeLinha = ((byte)m["foradelinha"]) != 0; if (foraDeLinha) continue; bool dePeso = ((byte)m["dePeso"]) != 0; string descricao = (m["nome"] is DBNull ? "" : (string)m["nome"]); double peso = (m["peso"] is DBNull ? 0 : (double)m["peso"]); strPreco.Write("001|"); EscreveReferenciaComDigito(strPreco, referencia); strPreco.Write("|"); strPreco.Write(string.Format("{0:yyyy-MM-dd hh:mm:ss}", DateTime.Now)); strPreco.Write("|"); // Preço de venda Entidades.Mercadoria.Mercadoria mercadoria; if (Entidades.Mercadoria.Mercadoria.ConferirSeÉDePeso(referencia)) { mercadoria = Entidades.Mercadoria.Mercadoria.ObterMercadoria(referencia, 1, Tabela.ObterPrimeiraTabela(Setor.ObterSetor(SetorSistema.Varejo))); } else { mercadoria = Entidades.Mercadoria.Mercadoria.ObterMercadoria(referencia, Tabela.ObterPrimeiraTabela(Setor.ObterSetor(SetorSistema.Varejo))); } Preço preçoMercadoria = mercadoria.CalcularPreço(Cotação.ObterCotaçãoVigente(Moeda.ObterMoeda(MoedaSistema.OuroVarejo))); string preçoStr = Math.Round(preçoMercadoria.Valor, 2).ToString().Replace(',', '.').Trim(); //string preçoStr = "99.99"; strPreco.Write(preçoStr); strPreco.Write("|"); strPreco.Write(string.Format("{0:yyyy-MM-dd hh:mm:ss}", DateTime.Now)); strPreco.Write("|9999|"); strPreco.Write(preçoStr); strPreco.WriteLine("|"); } } aguarde.Close(); }
public static void ExportarAtacadoBR500() { string datayyyymmdd = DateTime.Now.Date.ToString("yyyyMMdd"); // Solicita nome do arquivo using (SaveFileDialog dlgGrava = new SaveFileDialog()) { dlgGrava.Title = "Escolha onde gravar o arquivo principal (CAD1A025.TXT)"; dlgGrava.FileName = @"CAD1A025.TXT"; dlgGrava.OverwritePrompt = false; dlgGrava.DefaultExt = "TXT"; if (dlgGrava.ShowDialog() == DialogResult.OK) { nomeArquivoPrincipal = dlgGrava.FileName; } else return; dlgGrava.Dispose(); } // Solicita nome do arquivo using (System.Windows.Forms.SaveFileDialog dlgGrava = new SaveFileDialog()) { //dlgGrava.InitialDirectory = nomeArquivoPrincipal; dlgGrava.Title = "Escolha onde gravar o arquivo secundário, de código de barras EAN(CAD1A090.TXT)"; dlgGrava.FileName = @"CAD1A090.TXT"; dlgGrava.OverwritePrompt = false; dlgGrava.DefaultExt = "TXT"; if (dlgGrava.ShowDialog() == DialogResult.OK) { nomeArquivoEAN = dlgGrava.FileName; } else return; dlgGrava.Dispose(); } // Obtem a cotação de varejo cotação = Cotação.ObterCotaçãoVigente(Moeda.ObterMoeda(4)).Valor; List<IDbConnection> conexõesRemovidas = new List<IDbConnection>(); // Abre banco de dados MySQL.AdicionarTabelaAoDataSet(ds, "mercadoria", conexõesRemovidas); MySQL.AdicionarTabelaAoDataSet(ds, "tabelamercadoria", conexõesRemovidas); Aguarde janela = new Aguarde("Gerando entrada para impressora fiscal", ds.Tables["mercadoria"].Rows.Count); janela.Abrir(); using (StreamWriter arquivoPrincipal = new StreamWriter(nomeArquivoPrincipal)) { using (StreamWriter arquivoEAN = new StreamWriter(nomeArquivoEAN)) { foreach (DataRow m in ds.Tables["mercadoria"].Rows) { janela.Passo(); string referencia = (string)m["referencia"]; bool foraDeLinha = ((byte)m["foradelinha"]) != 0; if (referencia.Length >= 10 && !foraDeLinha) { arquivoPrincipal.Write("0"); string referenciaCortada = Cortar(referencia.Remove(1, 1), 10, '0', false); // Arquivo EAN // Operação: Inclusão arquivoEAN.Write("0"); // Referencia da empresa, total 13 posicoes arquivoEAN.Write(Cortar(referencia, 13, '0', false)); // Digito arquivoEAN.Write(Cortar(m["digito"].ToString(), 1)); // Código reduzido arquivoEAN.Write(referenciaCortada); // Quantidade de unidades p/ EAN - total 7 string qtdEan = new String('0', 6) + "1"; arquivoEAN.Write(qtdEan); // Uso específico arquivoEAN.Write(new String('0', 10)); // Uso Específico arquivoEAN.Write(new String(' ', 2)); // Divide preço pela EAN-QTD arquivoEAN.Write("0"); // Para uso futuro //arquivoEAN.Write(new String(' ', 23)); arquivoEAN.WriteLine(); // Arquivo Principal arquivoPrincipal.Write(referenciaCortada); // Seção grupo subgrupo arquivoPrincipal.Write("000100010001"); //Descrição - 40 string descrição = (string)m["nome"]; // Retirar os acentos descrição = Acentuação.Singleton.TirarAcentos(descrição); arquivoPrincipal.Write(Cortar(descrição, 40)); // Descrição - 20 arquivoPrincipal.Write(Cortar(descrição, 20)); // Tipo de embalagem fornecedor arquivoPrincipal.Write("UN"); // Qtd embalagem fornecedor arquivoPrincipal.Write("0001"); // Tipo de embalagem de venda arquivoPrincipal.Write("UN"); // Qtd embalagem venda arquivoPrincipal.Write("0001"); // Peso variável bool dePeso = (byte)m["depeso"] != 0; arquivoPrincipal.Write(dePeso ? "S" : "N"); // Não emite etiqueta arquivoPrincipal.Write("0"); // Tecla da balança arquivoPrincipal.Write("000"); // Validade do produto para balança arquivoPrincipal.Write("000"); // Receita do produto para balança arquivoPrincipal.Write(new String(' ', 100)); // % de IPI arquivoPrincipal.Write(new String('0', 5)); // % bonificação arquivoPrincipal.Write(new String('0', 5)); // Valor de despache acessória arquivoPrincipal.Write(new String('0', 10)); // Valor de despache acessória tributária arquivoPrincipal.Write(new String('0', 10)); // % de frete cobrado arquivoPrincipal.Write(new String('0', 5)); // Valor do ICM na fonte arquivoPrincipal.Write(new String('0', 11)); // Valor do ICM na compra arquivoPrincipal.Write(new String('0', 4)); // Data do cálculo da saída média ddmmaaaa arquivoPrincipal.Write(datayyyymmdd); // Uso exclusivo do sistema arquivoPrincipal.Write(new String('0', 5)); // Valor da saída média arquivoPrincipal.Write(new String('0', 11)); // Preço de custo do fornecedor arquivoPrincipal.Write(new String('0', 11)); // Preço de custo do fornecedor anterior arquivoPrincipal.Write(new String('0', 11)); // Data preço custo fornecedor arquivoPrincipal.Write(datayyyymmdd); // Data preço custo fornecedor anterior arquivoPrincipal.Write(datayyyymmdd); // Preço de venda unitário 8,2-> "0000000000" double preçoVenda = ObterPreço(referencia); if (preçoVenda <= 0) { //ReportarErro("Preço zero para referência " + referencia); } string preçoVenda10Digitos = preçoVenda.ToString("00000000.00").Replace(".", "").Replace(",", ""); if (preçoVenda10Digitos.Length != 10) MessageBox.Show("Erro, deveria ter 10 digitos"); arquivoPrincipal.Write(preçoVenda10Digitos); // Preço de venda 2 arquivoPrincipal.Write(preçoVenda10Digitos); // Preço de venda anterior arquivoPrincipal.Write(preçoVenda10Digitos); string preçoVenda11Digitos = preçoVenda.ToString("00000000.000").Replace(".", "").Replace(",", ""); if (preçoVenda11Digitos.Length != 11) MessageBox.Show("Erro: deveria ter 11 dígitos"); // Preço de venda (Unitário) arquivoPrincipal.Write(preçoVenda11Digitos); // Preço de venda 2 arquivoPrincipal.Write(preçoVenda11Digitos); // Preço de venda anterior arquivoPrincipal.Write(preçoVenda11Digitos); // Data preço de venda arquivoPrincipal.Write(datayyyymmdd); // Data preço de venda anterior arquivoPrincipal.Write(datayyyymmdd); // % margem de lucro arquivoPrincipal.Write("00"); // % margem de lucro anterior arquivoPrincipal.Write("00"); // Custo de reposição arquivoPrincipal.Write(new String('0', 11)); // Custo de reposição anterior arquivoPrincipal.Write(new String('0', 11)); // Preço com margem zero arquivoPrincipal.Write(new String('0', 11)); // Preço margem zero anterior arquivoPrincipal.Write(new String('0', 11)); // Preço oferta/promoção arquivoPrincipal.Write(new String('0', 10)); // Promoção anterior arquivoPrincipal.Write(new String('0', 10)); // Preço oferta/promoção arquivoPrincipal.Write(new String('0', 11)); // Preço oferta/promoção anterior arquivoPrincipal.Write(new String('0', 11)); // Data do início da oferta arquivoPrincipal.Write(datayyyymmdd); // Data do fim da oferta arquivoPrincipal.Write(datayyyymmdd); // Data do início da oferta anterior arquivoPrincipal.Write(datayyyymmdd); // Data do fim da oferta anterior arquivoPrincipal.Write(datayyyymmdd); // Código da natureza fiscal arquivoPrincipal.Write("T18"); // Estado de origem arquivoPrincipal.Write("MG"); // Código Associado arquivoPrincipal.Write(new String('0', 10)); // Comissão praticada arquivoPrincipal.Write(new String('0', 5)); // Estoque do produto no depósito arquivoPrincipal.Write(new String('0', 10)); // Estoque do produto na loja arquivoPrincipal.Write(new String('0', 10)); // Estoque mínimo arquivoPrincipal.Write(new String('0', 10)); // Barra a multiplicação do produto no PDV arquivoPrincipal.Write("0"); // Tipo de desconto arquivoPrincipal.Write("0"); // % desconto máximo arquivoPrincipal.Write(new String('0', 5)); // Venda fracionada arquivoPrincipal.Write(dePeso ? "1" : "0"); // Não tem dependencia arquivoPrincipal.Write("0"); // Título de dependencia arquivoPrincipal.Write(new String(' ', 10)); // 2o Título de dependencia arquivoPrincipal.Write(new String(' ', 10)); // 3o Título de dependencia arquivoPrincipal.Write(new String(' ', 10)); // Pode ser alterado arquivoPrincipal.Write("1"); // Produto Cesta básica arquivoPrincipal.Write("0"); // Se produto pertence a uma cesta arquivoPrincipal.Write("0"); // Se produto é diferenciado de outros arquivoPrincipal.Write("00"); // Normal // Data da última venda do produto arquivoPrincipal.Write(datayyyymmdd); // Uso exclusivo do sistema arquivoPrincipal.Write("0"); // Uso exclusivo do sistema arquivoPrincipal.Write("00"); // Uso exclusivo do sistema arquivoPrincipal.Write("0"); // Uso exclusivo do sistema arquivoPrincipal.Write(new String(' ', 8)); // Uso exclusivo do sistema arquivoPrincipal.Write(new String('0', 10)); // Modalidade hiperideal arquivoPrincipal.Write("04"); // Pontuação fidelidade arquivoPrincipal.Write(new String('0', 7)); // Pontos extra fidelidade arquivoPrincipal.Write(new String('0', 7)); // Peso a ser calculo em item unitário arquivoPrincipal.Write(new String('0', 5)); // Flag de produto unitário vendido por peso //sw.Write(dePeso ? "1" : "0"); arquivoPrincipal.Write("0"); // Quantidade máxima a ser multiplaco no pdv arquivoPrincipal.Write("000"); // Uso exclusivo do sistema arquivoPrincipal.Write(new String(' ', 3)); // Qtd maxima a ser vendido arquivoPrincipal.Write(new String('0', 5)); // Solicita senha do supervisor para venda arquivoPrincipal.Write("0"); // Para uso futuro //arquivoPrincipal.Write(new String(' ', 44)); arquivoPrincipal.WriteLine(); } } } janela.Close(); MessageBox.Show("Processo concluído.", "Exportação de arquivo fiscal", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Imprime etiquetas /// </summary> /// <param name="etiquetas">Etiquetas a serem impressas</param> /// <param name="layout">Layout de etiquetas</param> private void ImprimirEtiquetas(EtiquetaFormato [] etiquetas, LabelLayout layout) { ArrayList saquinhosImpressos = new ArrayList(); int deEtiqueta, atéEtiqueta; // Seleção de etiquetas a serem impressas int nEtiquetas; // Total de etiquetas a serem impressas int etiquetasPágina; // Etiquetas por página int iEtiqueta; // Iterador nEtiquetas = CalcularNúmeroEtiquetas(etiquetas); etiquetasPágina = layout.LabelsPerPage; printDlg.PrinterSettings.MaximumPage = (int) Math.Ceiling(nEtiquetas / (float) etiquetasPágina); printDlg.PrinterSettings.MinimumPage = 1; printDlg.PrinterSettings.DefaultPageSettings.PaperSize = layout.PaperSize; printDlg.PrinterSettings.FromPage = 1; printDlg.PrinterSettings.ToPage = printDlg.PrinterSettings.MaximumPage; if (printDlg.ShowDialog(this.ParentForm) != DialogResult.OK) { MessageBox.Show(this, "Impressão cancelada pelo usuário", "Impressão", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } aguardeImpressão = new Aguarde( "Preparando impressão...", 2 + printDlg.PrinterSettings.ToPage - printDlg.PrinterSettings.FromPage, "Imprimindo etiquetas", "Aguarde enquanto o sistema imprime as etiquetas solicitadas."); // Mostrar janela de espera aguardeImpressão.Abrir(); aguardeImpressão.Tag = 0; // Usado para numeração de página try { // Preparar impressão layout.Document = printDoc; deEtiqueta = (printDlg.PrinterSettings.FromPage - 1) * etiquetasPágina; atéEtiqueta = (printDlg.PrinterSettings.ToPage) * etiquetasPágina - 1; iEtiqueta = 0; // Inserir objetos de impressão layout.Objects = new ArrayList(); // Atualizando dados aguardeImpressão.Passo("Sincronizando dados com o banco de dados"); bandeja.AtualizaObjetosInstrínsecosDosSaquinhos(); // Formata a impressão aguardeImpressão.Passo("Formatando dados para impressão de etiquetas"); foreach (SaquinhoEtiqueta saquinho in bandeja) { /* Verificar se saquinho contém formato a ser * impresso. Não é a melhor implementação, * porém o número de formatos é bem pequeno, * levando a um pior desempenho caso utilizado * busca binária, já que deve ordenar os itens. */ for (int i = 0; i < etiquetas.Length; i++) if (saquinho.Etiqueta == etiquetas[i]) { #if DEBUG if (saquinho.Mercadoria == null) throw new NullReferenceException("Mercadoria de saquinho está nula!"); #endif if (iEtiqueta >= deEtiqueta && iEtiqueta <= atéEtiqueta) { layout.Objects.Add( new RepeatedObject( layout.Items[i], saquinho.Mercadoria, ( Convert.ToInt32(saquinho.Quantidade) > atéEtiqueta - iEtiqueta + 1 ? atéEtiqueta - iEtiqueta + 1 : Convert.ToInt32(saquinho.Quantidade)))); saquinho.Impresso = true; if (saquinhosImpressos.Contains(saquinho)) throw new Exception("Lista ja contem o item de etiqueta"); saquinhosImpressos.Add(saquinho); } else if (iEtiqueta <= atéEtiqueta && iEtiqueta + saquinho.Quantidade >= deEtiqueta) { layout.Objects.Add( new RepeatedObject( layout.Items[i], saquinho.Mercadoria, Convert.ToInt32(saquinho.Quantidade) - (deEtiqueta - iEtiqueta) > atéEtiqueta - iEtiqueta + 1 ? atéEtiqueta - iEtiqueta + 1 : Convert.ToInt32(saquinho.Quantidade) - (deEtiqueta - iEtiqueta))); saquinho.Impresso = true; if (saquinhosImpressos.Contains(saquinho)) throw new Exception("Lista ja contem o item de etiqueta"); saquinhosImpressos.Add(saquinho); } iEtiqueta += Convert.ToInt32(saquinho.Quantidade); } } bool loop; do { #if !DEBUG try #endif { printDoc.Print(); loop = false; } #if !DEBUG catch (Exception e) { loop = MessageBox.Show( this.ParentForm, "Não foi possível imprimir o documento. Verifique se a impressora está ligada e conectada corretamente ao computador.", "Impressão de etiquetas - " + e.Message, MessageBoxButtons.RetryCancel) == DialogResult.Retry; if (loop) { printDlg.AllowSomePages = false; printDlg.ShowDialog(this.ParentForm); } } #endif } while (loop); } finally { layout.Dispose(); aguardeImpressão.Close(); aguardeImpressão.Dispose(); aguardeImpressão = null; } bandeja.FoiImpresso(saquinhosImpressos); opçãoImprimir.Enabled = true; }
/// <summary> /// Ocorre ao solicitar impressão /// </summary> private void opçãoImprimir_Click(object sender, System.EventArgs e) { EtiquetaFormato [] etiquetas = ObterFormatosBandeja(); using (Aguarde aguarde = new Aguarde("Reobtendo configuração dos formatos", etiquetas.Length)) { aguarde.Abrir(); foreach (EtiquetaFormato etiqueta in etiquetas) { aguarde.Passo("Reobtendo configuração do formato " + etiqueta.Formato); etiqueta.ReobterInformações(); } aguarde.Close(); } using (ImprimirEscolha dlg = new ImprimirEscolha(etiquetas, new ImprimirEscolha.CalcularEtiquetas(CalcularNúmeroEtiquetas))) { if (dlg.ShowDialog() == DialogResult.OK) { ImprimirEtiquetas(dlg.Seleção, dlg.LayoutEtiquetas); } } }
private void bandejaAgrupada_ColarSolicitado(object sender, EventArgs e) { List<ISaquinho> lista = ÁreaDeTransferência.Instância.Lista; if (lista.Count == 0) return; if (ConferirTravamento()) return; Aguarde aguarde = new Aguarde("Colando..", lista.Count); aguarde.Abrir(); foreach (ISaquinho s in lista) { s.Mercadoria.Peso = s.Peso; Adicionar(s.Mercadoria, s.Quantidade, ModoJanelaÍndice.MostrarSeNecessário, false); aguarde.Passo(s.Mercadoria.Referência); } aguarde.Close(); }
public void Transpor(double cotaçãoVarejo, StringBuilder saída) { int maxComandosPorVez = 200; IDbConnection cn = Acesso.MySQL.ConectorMysql.Instância.CriarConexão( Acesso.MySQL.MySQLUsuários.ObterÚltimaStrConexão()); cn.Open(); IDbTransaction t = cn.BeginTransaction(); StringBuilder consulta = new StringBuilder(""); this.cotaçãoVarejo = cotaçãoVarejo; CriarHash(); int vezAtual = 0; Aguarde aguarde = new Aguarde( "Alterando indices do novo banco", cadmer.Rows.Count, "Transpondo banco de dados", "Aguarde enquanto o banco de dados é sincronizado."); aguarde.Abrir(); foreach(DataRow itemMercadoria in cadmer.Rows) { aguarde.Passo(); TransporMercadoria(itemMercadoria, consulta, saída); vezAtual++; if (vezAtual >= maxComandosPorVez && consulta.Length > 0) { vezAtual = 0; IDbCommand cmd = cn.CreateCommand(); cmd.Transaction = t; cmd.CommandText = consulta.ToString(); consulta.Clear(); cmd.ExecuteNonQuery(); } } if (vezAtual > 0 && consulta.Length > 0) { IDbCommand cmd = cn.CreateCommand(); cmd.CommandText = consulta.ToString(); cmd.Transaction = t; cmd.ExecuteNonQuery(); t.Commit(); } aguarde.Close(); }
/// <summary> /// Exibe pessoas na lista. /// </summary> /// <param name="pessoas">Pessoas a serem exibidas.</param> private void Exibir(List<Entidades.Pessoa.Pessoa> pessoas) { Aguarde janela = new Apresentação.Formulários.Aguarde("Este processo não pode demorar", pessoas.Count, "Carregando cidades", "Experimente digitar o nome seguido de qualquer sobrenome, este processo será mais rápido da próxima vez."); janela.Abrir(); // Carrega o endereços das pessoas. Entidades.Pessoa.Pessoa.CarregarEndereços(pessoas); foreach (Entidades.Pessoa.Pessoa pessoa in pessoas) { janela.Passo(); ListViewItem item = new ListViewItem(new string [lista.Columns.Count]); // Atribuir nome item.Text = (pessoa != null && pessoa.Nome != null) ? pessoa.Nome : ""; List<Entidades.Pessoa.Endereço.Endereço> endereços = pessoa.Endereços.ExtrairElementos(); if (endereços.Count > 0 && endereços[0].Localidade != null && endereços[0].Localidade.Estado != null) item.SubItems[colCidade.Index].Text = endereços[0].Localidade.Nome + " - " + endereços[0].Localidade.Estado.Sigla; // Adicionar à lista lista.Items.Add(item); itensPessoa[item] = pessoa; } if (lista.Items.Count >= 1) { lista.Items[0].Selected = true; lista.Items[0].EnsureVisible(); } janela.Close(); }