private void dtpSeleccionaFecha_ValueChanged(object sender, EventArgs e) { cnx = new SqlConnection(cdn); cmd = new SqlCommand(); cmd.Connection = cnx; int existe = 0; CalculoNomina.Core.NominaHelper nh = new CalculoNomina.Core.NominaHelper(); nh.Command = cmd; if (_tipoNomina != GLOBALES.EXTRAORDINARIO_NORMAL) { if (_periodo == 7) { DateTime dt = dtpSeleccionaFecha.Value.Date; while (dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1); dtpPeriodoInicio.Value = dt; dtpPeriodoFin.Value = dt.AddDays(6); periodoInicio = dtpPeriodoInicio.Value.Date; periodoFin = dtpPeriodoFin.Value.Date; } else { if (dtpSeleccionaFecha.Value.Day <= 15) { dtpPeriodoInicio.Value = new DateTime(dtpSeleccionaFecha.Value.Year, dtpSeleccionaFecha.Value.Month, 1); dtpPeriodoFin.Value = new DateTime(dtpSeleccionaFecha.Value.Year, dtpSeleccionaFecha.Value.Month, 15); } else { dtpPeriodoInicio.Value = new DateTime(dtpSeleccionaFecha.Value.Year, dtpSeleccionaFecha.Value.Month, 16); dtpPeriodoFin.Value = new DateTime(dtpSeleccionaFecha.Value.Year, dtpSeleccionaFecha.Value.Month, DateTime.DaysInMonth(dtpSeleccionaFecha.Value.Year, dtpSeleccionaFecha.Value.Month)); } periodoInicio = dtpPeriodoInicio.Value.Date; periodoFin = dtpPeriodoFin.Value.Date; } try { cnx.Open(); existe = (int)nh.existeNomina(GLOBALES.IDEMPRESA, periodoInicio.Date, periodoFin.Date, _periodo); cnx.Close(); if (existe != 0) { MessageBox.Show("NOMINA CALCULADA \r\n \r\n " + "El periodo seleccionado se encuenta: \r\n " + "Calculado y Autorizado.", "Información"); btnAceptar.Enabled = false; } else { btnAceptar.Enabled = true; } } catch (Exception error) { MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error"); } } else { periodoInicio = dtpSeleccionaFecha.Value.Date; periodoFin = dtpSeleccionaFecha.Value.Date; btnAceptar.Enabled = true; } }
void cp_OnNuevoPeriodo(DateTime inicio, DateTime fin) { periodoInicio = inicio; periodoFin = fin; borraGridFaltas(); disenoGridFaltas(); cargaEmpleadosFaltas(); if (_tipoNomina != GLOBALES.EXTRAORDINARIO_NORMAL) { this.Text = String.Format("Periodo de Pago: Del {0} al {1}.", periodoInicio.ToShortDateString(), periodoFin.ToShortDateString()); toolPeriodo.Text = String.Format("Periodo de Pago: Del {0} al {1}.", periodoInicio.ToShortDateString(), periodoFin.ToShortDateString()); } else { cnx = new SqlConnection(cdn); cmd = new SqlCommand(); cmd.Connection = cnx; nh = new CalculoNomina.Core.NominaHelper(); nh.Command = cmd; int existeNominaExtraordinaria = 0; try { cnx.Open(); existeNominaExtraordinaria = (int)nh.existeNomina(GLOBALES.IDEMPRESA, periodoInicio, periodoFin, _periodo); cnx.Close(); cnx.Dispose(); } catch (Exception) { MessageBox.Show("Error: Al obtener la existencia de la nomina extraordinaria.\r\n \r\n SE CERRARÁ LA VENTANA.", "Error"); cnx.Dispose(); this.Dispose(); } if (existeNominaExtraordinaria == 0) { this.Text = String.Format("Pago extraordinario: Del {0}.", periodoInicio.ToShortDateString()); toolPeriodo.Text = String.Format("Pago extraordinario: Del {0}.", periodoInicio.ToShortDateString()); movimientosEspeciales(); } else { MessageBox.Show("La fecha seleccionada ya ha sido calculada. \r\n \r\n SE CERRARÁ LA VENTANA.", "Información"); this.Dispose(); } } }