private void button1_Click(object sender, EventArgs e) { if (funcionarioTB.Text == "" || salarioTB.Text == "") { MessageBox.Show("Valores dos campos estão nulos!"); } else { if (saldoTB.Text == " :" || (Positivo.Checked == false && Negativo.Checked == false)) { MessageBox.Show("Informe o valor do saldo anterior do funcionário"); } else { int horaSaldo = ControladorHoras.ConverteTextHora(saldoTB.Text); int minutoSaldo = ControladorHoras.ConverteTextMinuto(saldoTB.Text); int saldo = horaSaldo * 60 + minutoSaldo; if (Negativo.Checked) { saldo *= -1; } string text1 = horaTB.Text; _panel1.Controls.Clear(); string horaA = text1.Split(':')[0]; string minutoA = text1.Split(':')[1]; int hora1 = Int32.Parse(horaA); int minuto1 = 0; if (minutoA == "") { minuto1 = 0; } else { minuto1 = Int32.Parse(minutoA); } minuto1 += hora1 * 60; CadastroHoras a = new CadastroHoras(funcionarioTB.Text, Convert.ToDouble(salarioTB.Text), Convert.ToDouble(primeiraHETB.Text), Convert.ToDouble(heTB.Text), Convert.ToDouble(hnTB.Text), minuto1, Convert.ToInt32(horasMensais.Text), Convert.ToDouble(henTB.Text), Convert.ToDouble(fdsTB.Text), saldo, _panel1); _panel1.Controls.Add(a); } } }
private void button2_Click(object sender, EventArgs e) { double valorSalario = 0; double valorSalarioExtra = 0; double valorSalarioNoturno = 0; int saldo = _saldo; double horasExtrasTotais = 0; double horasNoturnasTotais = 0; double horasTrabalhadasTotais = 0; // Calcula o valor do salario para cada dia que foi cadastrado foreach (var t in _diasRegistrados) { var valorHoraExtra = ControladorHoras.CalculaValorHoraExtra(t.HorasExtras, _p1, _p2, _minutoExtra, _salario); //Calcula valor do salário das horas que foram horasExtrasTotais += t.HorasExtras; //Armazena valor das horas extras totais que foram trabalhadas valorSalarioExtra += valorHoraExtra; //Incrementa o valor do salario total extra //Realiza os mesmo passos para as horas noturnas var valorHoraNoturna = ControladorHoras.CalculaValorHoraNoturna(t.HorasNoturnas, _pN, _salario, _pEn, t.HorasExtrasNoturnas); horasNoturnasTotais += t.HorasNoturnas; valorSalarioNoturno += valorHoraNoturna; //Incrementa o valor do salario total baseados nos valores calculados do dia em questão. Utiliza o //valor da hora pura, sem o extra e o noturno var valorSalarioAux = ControladorHoras.CalculaValorSalario(_salario, valorHoraExtra, valorHoraNoturna, t.HorasNormais); if (!t.HorasTrabalhasFDS) { valorSalarioAux = ControladorHoras.BonusFDS(valorSalarioAux, _pFds); } valorSalario += valorSalarioAux; horasTrabalhadasTotais += t.HorasTotaisTrabalhadas; //Incrementa o total de horas trabalhadas int day = monthCalendar1.SelectionRange.Start.Day; int month = monthCalendar1.SelectionRange.Start.Month; int year = monthCalendar1.SelectionRange.Start.Year;; DateTime dateIni = new DateTime(yearPeriod, monthPeriod, dayPeriod, 0, 0, 0); DateTime dateFin = new DateTime(year, month, day, 0, 0, 0); _panel1.Controls.Clear(); Relatorio a = new Relatorio(labelNome.Text, saldo, _horasMensais, diasUteis, horasTrabalhadasTotais, horasExtrasTotais, horasNoturnasTotais, valorSalario, valorSalarioExtra, valorSalarioNoturno, dateIni, dateFin); _panel1.Controls.Add(a); } }
private void button1_Click_1(object sender, EventArgs e) { var horasTrabalhadasInicial = 0; var horasTrabalhadasNoite = 0; var horasNoturnas = 0.0; var horasExtras = 0.0; var horasTrabalhadasNormais = 0.0; var horasTrabalhadasFDS = false; var horasCompensadas = 0.0; if (EntradaTB.Text == " :" || SaidaTB.Text == " :") { _horasExtrasNoturnas = 0; } else { _horasExtrasNoturnas = 0; if (EntradaIntervalo.Text != " :") //HOUVE INTERVALO { horasTrabalhadasInicial = ControladorHoras.CalculaHoras(EntradaTB.Text, EntradaIntervalo.Text, SaidaIntervalo.Text, SaidaTB.Text); //MessageBox.Show("Horas totais trabalhadas"+horasTrabalhadasInicial); horasTrabalhadasNoite = ControladorHoras.IdentificaHorasNoturnas(EntradaTB.Text, EntradaIntervalo.Text, SaidaIntervalo.Text, SaidaTB.Text); // MessageBox.Show("Horas noturnas trabalhadas"+horasTrabalhadasNoite); horasNoturnas = ControladorHoras.CalculaHorasNoturnas(horasTrabalhadasNoite); // MessageBox.Show("Horas noturnas após transformação" + horasNoturnas); horasExtras = ControladorHoras.CalculaHorasExtras(horasTrabalhadasInicial, _minutoExtra, EntradaTB.Text, EntradaIntervalo.Text, SaidaIntervalo.Text, SaidaTB.Text); if (saldoAux < 0) { horasCompensadas = horasExtras; saldoAux += horasCompensadas; horasExtras = 0 - saldoAux; } // MessageBox.Show("Horas extras trabalhas" + horasExtras); if (horasExtras > 0) { _horasExtrasNoturnas = ControladorHoras.CalculaHorasExtrasNoturnas(EntradaTB.Text, EntradaIntervalo.Text, SaidaIntervalo.Text, SaidaTB.Text); } if (_horasExtrasNoturnas != 0) { horasExtras += _horasExtrasNoturnas - horasExtras; } // MessageBox.Show("Horas extras noturnas" + _horasExtrasNoturnas); horasTrabalhadasNormais = (horasTrabalhadasInicial - horasTrabalhadasNoite) - horasExtras; if (horasTrabalhadasNormais < 0) { horasTrabalhadasNormais = 0; } } else //NAO HOUVE INTERVALO { horasTrabalhadasInicial = ControladorHoras.CalculaHoras(EntradaTB.Text, SaidaTB.Text); //MessageBox.Show("Horas totais trabalhadas"+horasTrabalhadasInicial); horasTrabalhadasNoite = ControladorHoras.IdentificaHorasNoturnas(EntradaTB.Text, SaidaTB.Text); //MessageBox.Show("Horas noturnas trabalhadas"+horasTrabalhadasNoite); horasNoturnas = ControladorHoras.CalculaHorasNoturnas(horasTrabalhadasNoite); //MessageBox.Show("Horas noturnas após transformação" + horasNoturnas); horasExtras = ControladorHoras.CalculaHorasExtras(horasTrabalhadasInicial, _minutoExtra); //MessageBox.Show("Horas extras trabalhas"+horasExtras); if (saldoAux < 0 && horasExtras > 0) { saldoAux = horasExtras + saldoAux; if (saldoAux < 0) { horasCompensadas = horasExtras; horasExtras = 0; } else { horasCompensadas = horasExtras - saldoAux; horasExtras = horasExtras - horasCompensadas; } } if (horasExtras > 0) { _horasExtrasNoturnas = ControladorHoras.CalculaHorasExtrasNoturnas(EntradaTB.Text, SaidaTB.Text); } if (_horasExtrasNoturnas != 0) { horasExtras += _horasExtrasNoturnas - horasExtras; } //MessageBox.Show("Horas extras noturnas" + _horasExtrasNoturnas); horasTrabalhadasNormais = (horasTrabalhadasInicial - horasTrabalhadasNoite) - horasExtras; if (horasTrabalhadasNormais < 0) { horasTrabalhadasNormais = 0; } } } var horasTotais = (horasTrabalhadasInicial - horasTrabalhadasNoite) + horasNoturnas; int day = monthCalendar1.SelectionRange.Start.Day; int month = monthCalendar1.SelectionRange.Start.Month; int year = monthCalendar1.SelectionRange.Start.Year; if (flagPeriod == true) { flagPeriod = false; monthPeriod = month; dayPeriod = day; yearPeriod = year; } string data = day + "/" + month + "/" + year; //Horas totais trabalhadas int horas = (int)(((horasTrabalhadasInicial - horasTrabalhadasNoite) + horasNoturnas) / 60); double a = ((horasTrabalhadasInicial - horasTrabalhadasNoite) + horasNoturnas) / 60; a = a - horas; int minutos = (int)Math.Ceiling(a / 0.016667); DateTime date1 = new DateTime(year, month, day, horas, minutos, 0); var horaNormal = date1.ToString("t", CultureInfo.CreateSpecificCulture("pt-br")); //Horas extras trabalhadas horas = (int)(horasExtras / 60); a = (horasExtras / 60); a = a - horas; minutos = (int)Math.Ceiling(a / 0.016667); DateTime date2 = new DateTime(year, month, day, horas, minutos, 0); var horaExtra = date2.ToString("t", CultureInfo.CreateSpecificCulture("pt-br")); //Horas compensadas horas = (int)(horasCompensadas / 60); a = (horasCompensadas / 60); a = a - horas; minutos = (int)Math.Ceiling(a / 0.016667); DateTime date5 = new DateTime(year, month, day, horas, minutos, 0); var horaCompensada = date5.ToString("t", CultureInfo.CreateSpecificCulture("pt-br")); //Horas noturnas trabalhadas horas = (int)(horasNoturnas / 60); a = (horasNoturnas / 60); a = a - horas; minutos = (int)Math.Ceiling(a / 0.016667); DateTime date3 = new DateTime(year, month, day, horas, minutos, 0); var horaNoite = date3.ToString("t", CultureInfo.CreateSpecificCulture("pt-br")); //Adiciona ao calendario dataGridView1.Rows.Add(data, horaNormal, horaExtra, horaNoite, horaCompensada); if (month == 2 && year % 4 == 0) { if (day == 29) { day = 1; month++; } else { day++; } } else if (month == 2 && year % 4 != 0) { if (day == 28) { day = 1; month++; } else { day++; } } else if (month == 4 || month == 6 || month == 9 || month == 11) { if (day == 30) { day = 1; month++; } else { day++; } } else { if (day == 31) { day = 1; if (month == 12) { month = 1; year++; } else { month++; } } else { day++; } } DateTime date4 = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); if (date4.DayOfWeek != DayOfWeek.Saturday && date4.DayOfWeek != DayOfWeek.Sunday && !feriados.Contains(date4)) { horasTrabalhadasFDS = true; } diasUteis++; _diasRegistrados.Add(new DiaTrabalhado(horasTotais, horasExtras, horasTrabalhadasNormais, horasNoturnas, _horasExtrasNoturnas, horasTrabalhadasFDS)); DateTime d = new DateTime(year, month, day); monthCalendar1.SetDate(d); SetCaixa(); }