private void BtnExcluir_Click(object sender, EventArgs e)
 {
     obj = "Excluir";
     if (MessageBox.Show("Excluindo dados, deseja continuar?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
     {
         BwProcesso.RunWorkerAsync();
     }
 }
        //Exclusao geral do calculo
        private bool ExcluirGeral()
        {
            atividadeAvaliacaoControle = new AtividadeAvaliacaoControle();
            produtividade         = new Produtividade();
            produtividadeControle = new ProdutividadeControle();
            empregadoControle     = new EmpregadoControle();
            int x = 0;

            Invoke((Action)(() =>
            {
                LblInfoCalculoExclusao.Visible = true;
            }));
            try
            {
                DataTable tblEmpregado = empregadoControle.EmpregadoTabelaCalculo(idEmpresa);
                foreach (DataRow item in tblEmpregado.Rows)
                {
                    idEmpregado = int.Parse(item["Id"].ToString());
                    produtividade.Competencia    = new Competencia();
                    produtividade.Competencia.Id = idCompetencia;
                    produtividade.Empresa        = new Empresa();
                    produtividade.Empresa.Id     = idEmpresa;

                    totalAvaliacaoPorEmpregado = atividadeAvaliacaoControle.TotalAvaliacaoEmpregado(idEmpresa, idEmpregado, idCompetencia);

                    if (totalAvaliacaoPorEmpregado != 0)
                    {
                        x++;
                        BwProcesso.ReportProgress(x);
                        produtividadeControle.Excluir(produtividade);
                    }
                    else
                    {
                        continue;
                    }
                }
                Invoke((Action)(() =>
                {
                    LblInfoCalculoExclusao.Visible = false;
                }));
                MessageBox.Show("Exclusão finalizada!!!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ListaCalculo(idCompetencia, idEmpresa);
                CompararCalculoEmpregado();
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
 private void BtnCalcular_Click(object sender, EventArgs e)
 {
     obj = "Calcular";
     BwProcesso.RunWorkerAsync();
 }
        //Calculo Geral
        private bool CalcularGeral()
        {
            calculoProdutividade       = new CalculoProdutividade();
            atividadeAvaliacaoControle = new AtividadeAvaliacaoControle();
            produtividade         = new Produtividade();
            produtividadeControle = new ProdutividadeControle();
            empregadoControle     = new EmpregadoControle();
            int x = 0;

            Invoke((Action)(() =>
            {
                LblInfoCalculoExclusao.Visible = true;
            }));
            try
            {
                DataTable tblEmpregado = empregadoControle.EmpregadoTabelaCalculo(idEmpresa);
                foreach (DataRow item in tblEmpregado.Rows)
                {
                    idEmpregado = int.Parse(item["Id"].ToString());
                    produtividade.Data_Calculo   = DateTime.Now.Date;
                    produtividade.Competencia    = new Competencia();
                    produtividade.Competencia.Id = idCompetencia;
                    produtividade.Empresa        = new Empresa();
                    produtividade.Empresa.Id     = idEmpresa;
                    produtividade.Empregado      = new Empregado();
                    produtividade.Empregado.Id   = idEmpregado;

                    totalAvaliacaoPorEmpregado = atividadeAvaliacaoControle.TotalAvaliacaoEmpregado(idEmpresa, idEmpregado, idCompetencia);

                    dbMedia     = 0;
                    totalDomFer = numDomingos + numFeriados;
                    //Calcular a media
                    if (totalAvaliacaoPorEmpregado != 0)
                    {
                        x++;
                        BwProcesso.ReportProgress(x);
                        dbMedia = atividadeAvaliacaoControle.Media(idEmpresa, idEmpregado, idCompetencia);
                    }
                    else
                    {
                        continue;
                    }

                    valor   = calculoProdutividade.Valor(valorBase, dbMedia);
                    reflexo = calculoProdutividade.Reflexo(valor, numDiasUteis, totalDomFer);

                    produtividade.Media = Math.Round(dbMedia, 2);
                    produtividade.Produtividade_Valor   = Math.Round(valor, 2);
                    produtividade.Produtividade_Reflexo = Math.Round(reflexo, 2);
                    produtividade.DiasUteis             = numDiasUteis;
                    produtividade.DomingosFeriados      = totalDomFer;

                    produtividadeControle.Gravar(produtividade);
                }
                Invoke((Action)(() =>
                {
                    LblInfoCalculoExclusao.Visible = false;
                }));
                MessageBox.Show("Calculo geral finalizado!!!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ListaCalculo(idCompetencia, idEmpresa);
                CompararCalculoEmpregado();
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }