コード例 #1
0
        public bool Build()
        {
            ToolStripProgressBar bar = new ToolStripProgressBar();

            bar.Maximum = _projects.Count;

            ToolStripLabel label = new ToolStripLabel();

            _hostWindow.StatusStrip.Items.Add(bar);
            _hostWindow.StatusStrip.Items.Add(label);
            foreach (KeyValuePair <string, Project> project in _projects)
            {
                ILogger logger = new ConsoleLogger();
                label.Text = "Building... " + project.Key;
                if (!project.Value.Build(logger))
                {
                    MessageBox.Show("Build Failed");
                    _hostWindow.StatusStrip.Items.Remove(bar);
                    _hostWindow.StatusStrip.Items.Remove(label);
                    bar.Dispose();
                    label.Dispose();
                    return(false);
                }

                ++bar.Value;
            }

            _hostWindow.StatusStrip.Items.Remove(bar);
            _hostWindow.StatusStrip.Items.Remove(label);
            bar.Dispose();
            label.Dispose();

            return(true);
        }
コード例 #2
0
        private void DntOpenerWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            var  stream       = e.Argument as Stream;
            var  worker       = sender as BackgroundWorker;
            bool IsFileStream = (stream is FileStream) ? true : false;

            ToolStripProgressBar bar = new ToolStripProgressBar()
            {
                Style = ProgressBarStyle.Continuous, Maximum = 100, Value = 0
            };
            ToolStripLabel label = new ToolStripLabel("Loading : " + ((IsFileStream) ? ((FileStream)stream).Name : "File"));

            ToolStripItem[] items = { label, bar };

            DntViewer viewer = new DntViewer();

            viewer.StatusChanged += (s, a) => Invoke(new Action(() => bar.Value = viewer.Status));
            Invoke(new Action(() => statusStrip1.Items.AddRange(items)));
            viewer.LoadDntStream(stream);
            Invoke(new Action(() =>
            {
                viewer.Show(dockPanel1, DockState.Document);
                statusStrip1.Items.Remove(label);
                statusStrip1.Items.Remove(bar);
                stream.Dispose();
                label.Dispose();
                bar.Dispose();
            }));
        }
コード例 #3
0
ファイル: frmImportarPosicoes.cs プロジェクト: EdersF/sinp
        private void bgwImportaExcel_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            BarraProgresso.Dispose();
            lblStripImportar.Dispose();

            dgvPos.DataSource          = output.Tables[0];
            dgvPos.AutoGenerateColumns = true;
        }
コード例 #4
0
        //::Salva pos do DataGrid para o BD::
        public void salvarInvent()
        {
            int      cont = 0;                                              // Contador de linhas
            int      contEx = 0;                                            // Contador de exceções
            string   posicao, produto, descricao, umb, referencia, metodo_inv, uc, tipo_dep, status_inv;
            string   data_criacao2, hora_criacao2, data_ativacao2, hora_ativacao2, data_contagem2, tempo_contagem2, data_lancamento2, hora_registro2;
            double   qtd_registrada, qtd_cont_inv, qtd_dif;
            DateTime data_criacao, hora_criacao, data_ativacao, hora_ativacao, data_contagem, tempo_contagem, data_lancamento, hora_registro;
            int      doc_inv, ordem, contador;
            LiteBD   LiteBD = new LiteBD();

            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();

            lblStripSalvar.Text = "Salvando Inventários:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            BarraProgresso.Maximum = dgvPos.RowCount;
            lblStripPorcent.Text   = "0%";
            frmPrincipal.statusStrip1.Items.Add(lblStripPorcent);

            Thread backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                LiteBD.AbrirConexao();
                LiteBD.InsertDeleteUpdate("DELETE FROM Inventarios");
                for (cont = 0; cont < dgvPos.RowCount; cont++)
                {
                    try
                    {
                        doc_inv        = Convert.ToInt32(string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[0].Value.ToString()) ? 0 : dgvPos.Rows[cont].Cells[0].Value);
                        ordem          = Convert.ToInt32(string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[1].Value.ToString()) ? 0 : dgvPos.Rows[cont].Cells[1].Value);
                        posicao        = dgvPos.Rows[cont].Cells[2].Value.ToString();
                        produto        = dgvPos.Rows[cont].Cells[3].Value.ToString();
                        descricao      = dgvPos.Rows[cont].Cells[4].Value.ToString().Replace("\"", "").Replace("'", "");
                        qtd_registrada = Convert.ToDouble(dgvPos.Rows[cont].Cells[5].Value.ToString());
                        qtd_cont_inv   = Convert.ToDouble(dgvPos.Rows[cont].Cells[6].Value.ToString());
                        qtd_dif        = Convert.ToDouble(dgvPos.Rows[cont].Cells[7].Value.ToString());
                        umb            = dgvPos.Rows[cont].Cells[8].Value.ToString();
                        referencia     = dgvPos.Rows[cont].Cells[9].Value.ToString();
                        metodo_inv     = dgvPos.Rows[cont].Cells[10].Value.ToString();
                        data_criacao   = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[11].Value.ToString()) ? "01/01/9999": dgvPos.Rows[cont].Cells[11].Value.ToString().Substring(0, 10));
                        hora_criacao = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[12].Value.ToString()) ? "99:99" : dgvPos.Rows[cont].Cells[12].Value.ToString());
                        data_ativacao = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[13].Value.ToString()) ? "01/01/9999" : dgvPos.Rows[cont].Cells[13].Value.ToString().Substring(0, 10));
                        hora_ativacao = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[14].Value.ToString()) ? "99:99" : dgvPos.Rows[cont].Cells[14].Value.ToString());
                        data_contagem = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[15].Value.ToString()) ? "01/01/9999" : dgvPos.Rows[cont].Cells[15].Value.ToString().Substring(0, 10));
                        tempo_contagem = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[16].Value.ToString()) ? "99:99" : dgvPos.Rows[cont].Cells[16].Value.ToString());
                        contador = Convert.ToInt32(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[17].Value.ToString()) ? 0 : dgvPos.Rows[cont].Cells[17].Value);     // se a célula for vazia então 0
                        data_lancamento = DateTime.Parse(
                            string.IsNullOrEmpty(dgvPos.Rows[cont].Cells[18].Value.ToString()) ? "01/01/9999" : dgvPos.Rows[cont].Cells[18].Value.ToString());
                        hora_registro = DateTime.Parse(dgvPos.Rows[cont].Cells[19].Value.ToString());
                        uc            = dgvPos.Rows[cont].Cells[20].Value.ToString();
                        tipo_dep      = dgvPos.Rows[cont].Cells[21].Value.ToString();
                        status_inv    = dgvPos.Rows[cont].Cells[22].Value.ToString();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Dado inconsistente, por favor, importe a planilha novamente!" + "\n \n" + "Detalhe: " + ex.Message, "Erro na importação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    //Convertendo datas para o formato do banco de dados
                    data_criacao2    = (string.Format("{0,2:00}", data_criacao.Year) + "-" + string.Format("{0,2:00}", data_criacao.Month) + "-" + string.Format("{0,2:00}", data_criacao.Day));
                    data_ativacao2   = data_ativacao.Year.ToString() + "-" + string.Format("{0,2:00}", data_ativacao.Month) + "-" + string.Format("{0,2:00}", data_ativacao.Day);
                    data_contagem2   = string.Format("{0,2:00}", data_contagem.Year) + "-" + string.Format("{0,2:00}", data_contagem.Month) + "-" + string.Format("{0,2:00}", data_contagem.Day);
                    data_lancamento2 = data_lancamento.Year.ToString() + "-" + string.Format("{0,2:00}", data_lancamento.Month) + "-" + string.Format("{0,2:00}", data_lancamento.Day);
                    hora_criacao2    = hora_criacao.Hour.ToString("00") + ":" + hora_ativacao.Minute.ToString("00");
                    hora_ativacao2   = hora_ativacao.Hour.ToString("00") + ":" + hora_ativacao.Minute.ToString("00");
                    tempo_contagem2  = tempo_contagem.Hour.ToString("00") + ":" + tempo_contagem.Minute.ToString("00");
                    hora_registro2   = hora_registro.Hour.ToString("00") + ":" + hora_registro.Minute.ToString("00");

                    SQL = "INSERT INTO Inventarios (doc_inv, ordem, posicao, produto, descricao_produto, qtd_registrada, qtd_cont_inv, qtd_dif, umb, " +
                          "referencia, metodo_inv, data_criacao, hora_criacao, data_ativacao, hora_ativacao, data_contagem, tempo_contagem, contador, data_lancamento, hora_registro, uc, tipo_dep, status_inv)" +
                          "values ("
                          + doc_inv + ", " + ordem + ",'" + posicao + "','"
                          + produto + "','" + descricao + "',REPLACE('" + qtd_registrada + "',',', '.'), REPLACE('" + qtd_cont_inv + "',',','.'), REPLACE('" + qtd_dif + "', ',', '.'),'"
                          + umb + "','" + referencia + "', '" + metodo_inv + "','" + data_criacao2 + "','" + hora_criacao2 + "','"
                          + data_ativacao2 + "','" + hora_ativacao2 + "','" + data_contagem2 + "', '" + tempo_contagem2 + "'," + contador + ",'" + data_lancamento2 + "','"
                          + hora_registro2 + "','" + uc + "', '" + tipo_dep + "', '" + status_inv + "' )";
                    try
                    {
                        LiteBD.InsertDeleteUpdate(SQL);
                    }
                    catch (OleDbException)
                    {
                        contEx += 1;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Erro desconhecido, contate o administrador do sistema! \n" + ex.Message, "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    BarraProgresso.Value = cont;
                    lblStripPorcent.Text = Math.Round(((decimal)cont / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%";

                    if (produto == "")
                    {
                        produto = "0";
                    }

                    if (cont == dgvPos.RowCount - 1)
                    {    // Se a thread já finalizou, destrói a Progressbar
                        BarraProgresso.Dispose();
                        lblStripSalvar.Dispose();
                        lblStripPorcent.Dispose();
                        if (contEx == 0)
                        {
                            MessageBox.Show("Inventários salvo com sucesso!!!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("Não foi possível salvar " + contEx + " linhas!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                        //txtUltimoInventario.Text = Conexao.consultaScalar("SELECT DAT_post & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post");
                    } //if
                }     //for
                LiteBD.FecharConexao();
            }
                                ));//thread

            backgroundThread.Start();
        }
コード例 #5
0
        private void ImportarExcel()
        {
            if (ofd.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            // ======================IMPORTANDO PLANILHA PARA DATASET
            AccessBD conex = new AccessBD();

            conex.AbrirConexao();
            conex.insert_Delete_Update("DELETE * FROM ESTOQUE");
            conex.FecharConexao();

            string          arquivo = ofd.FileName;
            OleDbConnection conn    = new OleDbConnection(("Provider=Microsoft.ACE.OLEDB.12.0; " + ("data source=" + arquivo + "; " + "Extended Properties=Excel 12.0;")));
            // Select the data from Sheet1 of the workbook.

            OleDbDataAdapter ada = new OleDbDataAdapter("select * from [Sheet1$]", conn);
            DataSet          ds  = new DataSet();

            ada.Fill(ds);
            conn.Close();
            //====================== SALVANDO DATASET NO ACCESS
            string SQL, posicao, lm, descricao, umb, tipo_estoque, uma, uc;
            int    tipo_pos, qtd_umb, qtd_uma;
            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();
            ToolStripLabel       lblStripSalvar = new ToolStripLabel();

            BarraProgresso.Maximum = ds.Tables[0].Rows.Count;
            BarraProgresso.Value   = 0;

            lblStripSalvar.Text = "Salvando Estoque:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            conex.AbrirConexao();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                tipo_pos     = Convert.ToInt32(ds.Tables[0].Rows[i][0]);
                posicao      = ds.Tables[0].Rows[i][1].ToString();
                lm           = ds.Tables[0].Rows[i][2].ToString();
                descricao    = ds.Tables[0].Rows[i][3].ToString().Replace("\"", "").Replace("'", "");
                qtd_umb      = Convert.ToInt32(ds.Tables[0].Rows[i][4]);
                umb          = ds.Tables[0].Rows[i][5].ToString();
                tipo_estoque = ds.Tables[0].Rows[i][6].ToString();
                qtd_uma      = Convert.ToInt32(ds.Tables[0].Rows[i][7]);
                uma          = ds.Tables[0].Rows[i][8].ToString();
                uc           = ds.Tables[0].Rows[i][9].ToString();

                SQL = "INSERT INTO ESTOQUE (TIPO_POS, POSICAO, PRODUTO, DESCRICAO, QTD_UMB, UMB, TIPO_ESTOQUE, QTD_UMA, UC) " +
                      "VALUES(" + tipo_pos + ", '" + posicao + "', '" + lm + "', '" + descricao + "', " + qtd_umb + ", '" + umb + "', '" + tipo_estoque + "', " + qtd_uma + ", '" + uc + "')";

                conex.insert_Delete_Update(SQL);
                BarraProgresso.Value = i;
            }
            BarraProgresso.Value = 0;
            BarraProgresso.Dispose();
            lblStripSalvar.Dispose();
            //==================== PREENCHENDO tabela VALOR ESTOQUE e DATA GRID
            string[] mes = new string[12];
            int      mes2;
            int      qtdItens         = Convert.ToInt32(conex.consultaScalar("SELECT COUNT(PRODUTO) FROM (SELECT DISTINCT PRODUTO FROM ESTOQUE)"));
            int      valorEstoque     = Convert.ToInt32(conex.consultaScalar("SELECT SUM(VALOR2) FROM (SELECT A.PRODUTO, A.QTD_UMB * B.VALOR as Valor2 FROM ESTOQUE AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO)"));
            int      qtdItensSemPreco = Convert.ToInt32(conex.consultaScalar("SELECT COUNT(PRODUTO) FROM (SELECT A.PRODUTO, A.QTD_UMB, B.VALOR FROM ESTOQUE AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO) WHERE VALOR  IS NULL"));
            string   data             = DateTime.Now.ToString();

            //Preenchendo array
            mes[0]  = "JANEIRO";
            mes[1]  = "FEVEREIRO";
            mes[2]  = "MARÇO";
            mes[3]  = "ABRIL";
            mes[4]  = "MAIO";
            mes[5]  = "JUNHO";
            mes[6]  = "JULHO";
            mes[7]  = "AGOSTO";
            mes[8]  = "SETEMBRO";
            mes[9]  = "OUTUBRO";
            mes[10] = "NOVEMBRO";
            mes[11] = "DEZEMBRO";

            for (int i = 0; i < 12; i++)
            {
                if (mes[i] == dgvImportarEstoque.CurrentRow.Cells[0].Value.ToString())
                {
                    mes2 = i + 1;
                    conex.insert_Delete_Update("UPDATE VALOR_ESTOQUE SET valorestoque = " + valorEstoque + ", qtditens = " + qtdItens + ", atualizado = '" + data + "' WHERE MES = " + mes2.ToString() + DateTime.Now.Year);
                }
            }
            if (qtdItensSemPreco > 0)
            {
                MessageBox.Show(qtdItensSemPreco.ToString() + " itens estão sem preço! favor importar planilha com o preço dos itens atualizados!", "ATENÇÃO!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            conex.FecharConexao();
            atualizarGrid();
        }
コード例 #6
0
ファイル: frmImportarInventario.cs プロジェクト: EdersF/sinp
        //::Salva pos do DataGrid para o BD::
        public void salvarInvent()
        {
            int      cont = 0;                                              // Contador de linhas
            int      contEx = 0;                                            // Contador de exceções
            string   posicao, descProd, umb, referencia, metodo, chave, produto, uc, contador, qtdRegistrada, qtdContada, qtdDif, ordem, docInv1, tipoDep;
            string   hrCriacao, hrAtivacao, hrContagem, hrPostagem;
            int      datCriacao2, datAtivacao2, datContagem2, datPostagem2;
            DateTime datContagem, datPostagem, datAtivacao, datCriacao;
            AccessBD AccessBD = new AccessBD();

            AccessBD.AbrirConexao();

            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();

            lblStripSalvar.Text = "Salvando Inventários:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            BarraProgresso.Maximum = dgvPos.RowCount;
            lblStripPorcent.Text   = "0%";
            frmPrincipal.statusStrip1.Items.Add(lblStripPorcent);

            Thread backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                for (cont = 0; cont < dgvPos.RowCount; cont++)
                {
                    try
                    {
                        docInv1       = dgvPos.Rows[cont].Cells[0].Value.ToString();
                        ordem         = dgvPos.Rows[cont].Cells[1].Value.ToString();
                        posicao       = dgvPos.Rows[cont].Cells[2].Value.ToString();
                        produto       = dgvPos.Rows[cont].Cells[3].Value.ToString();
                        descProd      = dgvPos.Rows[cont].Cells[4].Value.ToString().Replace("\"", "").Replace("'", "");
                        qtdRegistrada = dgvPos.Rows[cont].Cells[5].Value.ToString().Replace(",", ".");
                        qtdContada    = dgvPos.Rows[cont].Cells[6].Value.ToString().Replace(",", ".");
                        qtdDif        = dgvPos.Rows[cont].Cells[7].Value.ToString().Replace(",", ".");
                        umb           = dgvPos.Rows[cont].Cells[8].Value.ToString();
                        referencia    = dgvPos.Rows[cont].Cells[9].Value.ToString();
                        metodo        = dgvPos.Rows[cont].Cells[10].Value.ToString();
                        datCriacao    = DateTime.Parse(dgvPos.Rows[cont].Cells[11].Value.ToString().Substring(0, 10));
                        hrCriacao     = dgvPos.Rows[cont].Cells[12].Value.ToString().Substring(11, 5);
                        datAtivacao   = DateTime.Parse(dgvPos.Rows[cont].Cells[13].Value.ToString().Substring(0, 10));
                        hrAtivacao    = dgvPos.Rows[cont].Cells[14].Value.ToString().Substring(11, 5);
                        datContagem   = DateTime.Parse(dgvPos.Rows[cont].Cells[15].Value.ToString().Substring(0, 10));
                        hrContagem    = dgvPos.Rows[cont].Cells[16].Value.ToString().Substring(11, 5);
                        contador      = dgvPos.Rows[cont].Cells[17].Value.ToString();
                        datPostagem   = DateTime.Parse(dgvPos.Rows[cont].Cells[18].Value.ToString().Substring(0, 10));
                        hrPostagem    = dgvPos.Rows[cont].Cells[19].Value.ToString().Substring(11, 5);
                        uc            = dgvPos.Rows[cont].Cells[20].Value.ToString();
                        tipoDep       = dgvPos.Rows[cont].Cells[21].Value.ToString();
                        chave         = docInv1 + posicao + produto + qtdDif;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Dado inconsistente, por favor, importe a planilha novamente!" + "\n \n" + "Detalhe: " + ex.Message, "Erro na importação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    //Convertendo datas para o formato do banco de dados
                    datPostagem2 = Convert.ToInt32(datPostagem.Year.ToString() + string.Format("{0,2:00}", datPostagem.Month) + string.Format("{0,2:00}", datPostagem.Day));
                    datAtivacao2 = Convert.ToInt32(datAtivacao.Year.ToString() + string.Format("{0,2:00}", datAtivacao.Month) + string.Format("{0,2:00}", datAtivacao.Day));
                    datContagem2 = Convert.ToInt32(string.Format("{0,2:00}", datContagem.Year) + string.Format("{0,2:00}", datContagem.Month) + string.Format("{0,2:00}", datContagem.Day));
                    datCriacao2  = Convert.ToInt32(string.Format("{0,2:00}", datCriacao.Year) + string.Format("{0,2:00}", datCriacao.Month) + string.Format("{0,2:00}", datCriacao.Day));

                    SQL = "INSERT INTO inventario (chave, doc_inv1, ordem, pos_dep, produto, desc_prod, qtd_regist, qtd_cont, qtd_difer, umb, " +
                          "ref, metodo, dat_criacao, hr_criacao, dat_ativ, hr_ativ, dat_cont, hr_cont, contador, dat_post, hr_post, uc, tipo_dep)" +
                          "values ('"
                          + chave + "', " + docInv1 + "," + ordem + ",'"
                          + posicao + "','" + produto + "','" + descProd + "', " + qtdRegistrada + "," + qtdContada + ","
                          + qtdDif + ",'" + umb + "','" + referencia + "', '" + metodo + "'," + datCriacao2 + ",#" + hrCriacao + "#,"
                          + datAtivacao2 + ",#" + hrAtivacao + "#," + datContagem2 + ", #" + hrContagem + "#," + contador + "," + datPostagem2 + ",#"
                          + hrPostagem + "#,'" + uc + "', " + tipoDep + " )";
                    try
                    {
                        AccessBD.insert_Delete_Update(SQL);
                    }
                    catch (OleDbException)
                    {
                        contEx += 1;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Erro desconhecido, contate o administrador do sistema! n/n/ " + ex.Message, "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    BarraProgresso.Value = cont;
                    lblStripPorcent.Text = Math.Round(((decimal)cont / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%";

                    if (produto == "")
                    {
                        produto = "0";
                    }

                    if (cont == dgvPos.RowCount - 1)
                    {    // Se a thread já finalizou, destrói a Progressbar
                        BarraProgresso.Dispose();
                        lblStripSalvar.Dispose();
                        lblStripPorcent.Dispose();
                        if (contEx == 0)
                        {
                            MessageBox.Show("Inventários salvo com sucesso!!!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("Não foi possível salvar " + contEx + " linhas!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                        txtUltimoInventario.Text = AccessBD.consultaScalar("SELECT DAT_post & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post");
                    } //if
                }     //for
                atualizaFirebase();
            }
                                ));//thread

            backgroundThread.Start();
        }
コード例 #7
0
ファイル: frmImportarPosicoes.cs プロジェクト: EdersF/sinp
        //::Salva pos do DataGrid para o BD::
        public void salvarPos()
        {
            int    contador = 0;
            int    datCont2 = 0;
            string posicao, vazia, bloqueioSaida, bloqueioEntrada, bloqueioInvent, tipoPos,
                   unidadePeso, pesoMax, pesoOcupado, qtdUcs, tipoDep;
            DateTime datCont;


            AccessBD Conexao = new AccessBD();

            Conexao.AbrirConexao();
            Conexao.insert_Delete_Update("DELETE * FROM POSICAO");

            ToolStripLabel lblStripSalvar = new ToolStripLabel();

            lblStripSalvar.Text = "Salvando Posições:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();

            BarraProgresso.Maximum = dgvPos.RowCount;
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            ToolStripLabel lblStripPorcent = new ToolStripLabel();

            lblStripPorcent.Text = "0";
            frmPrincipal.statusStrip1.Items.Add(lblStripPorcent);


            Thread backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                try
                {
                    for (contador = 0; contador < dgvPos.RowCount; contador++)
                    {
                        posicao         = dgvPos.Rows[contador].Cells[0].Value.ToString();
                        vazia           = dgvPos.Rows[contador].Cells[1].Value.ToString();
                        bloqueioSaida   = dgvPos.Rows[contador].Cells[2].Value.ToString();
                        bloqueioEntrada = dgvPos.Rows[contador].Cells[3].Value.ToString();
                        bloqueioInvent  = dgvPos.Rows[contador].Cells[4].Value.ToString();
                        tipoPos         = dgvPos.Rows[contador].Cells[5].Value.ToString();
                        qtdUcs          = dgvPos.Rows[contador].Cells[6].Value.ToString();
                        pesoMax         = dgvPos.Rows[contador].Cells[7].Value.ToString().Replace(",", ".");
                        unidadePeso     = dgvPos.Rows[contador].Cells[8].Value.ToString();
                        pesoOcupado     = dgvPos.Rows[contador].Cells[9].Value.ToString().Replace(",", ".");
                        //datCont2 = Convert.ToInt32(dgvPos.Rows[contador].Cells[10].Value);
                        tipoDep = dgvPos.Rows[contador].Cells[11].Value.ToString();

                        if (dgvPos.Rows[contador].Cells[10].Value.ToString() == "")
                        {    // Se a data da contagem estiver vazia
                            datCont2 = 0;
                        }
                        else
                        {    //Se não, converte a data para o formato do banco de dados
                            datCont  = DateTime.Parse(dgvPos.Rows[contador].Cells[10].Value.ToString());
                            datCont2 = Convert.ToInt32(datCont.Year.ToString() + string.Format("{0,2:00}", datCont.Month) + string.Format("{0,2:00}", datCont.Day));
                        }

                        Conexao.insert_Delete_Update("INSERT INTO POSICAO (Posicao, vazia, bloqueio_saida, bloqueio_entrada, bloqueio_invent, tipo_posicao, qtd_uc, peso_max, uni_peso, peso_ocupado, dat_cont, tipo_dep) values ('"
                                                     + posicao + "', '" + vazia + "','" + bloqueioSaida + "','" + bloqueioEntrada + "','"
                                                     + bloqueioInvent + "','" + tipoPos + "'," + qtdUcs + ", " + pesoMax + ",'" + unidadePeso + "'," + pesoOcupado + ", " + datCont2 + ", " + tipoDep + ")");

                        BarraProgresso.Value = contador;
                        lblStripPorcent.Text = Math.Round(((decimal)contador / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%";

                        if (contador == dgvPos.RowCount - 1)
                        {    // Se a thread já finalizou, destrói a Progressbar
                            BarraProgresso.Dispose();
                            lblStripSalvar.Dispose();
                            lblStripPorcent.Dispose();
                        }
                    } //for
                }     // try
                catch (Exception ex)
                {
                    MessageBox.Show("Parece que o arquivo não está no formato esperado. Verifique!!! /n" + ex, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    BarraProgresso.Dispose();
                    lblStripSalvar.Dispose();
                    lblStripPorcent.Dispose();
                }
            }
                                ));

            backgroundThread.Start();
        }