private void contextEliminar_Click(object sender, EventArgs e) { foreach (ListViewItem i in lstvFechasFalta.SelectedItems) { cnx = new SqlConnection(cdn); cmd = new SqlCommand(); cmd.Connection = cnx; Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper(); fh.Command = cmd; try { cnx.Open(); fh.eliminaFalta(idTrabajador, DateTime.Parse(i.Text).Date); cnx.Close(); cnx.Dispose(); muestraFaltas(); } catch { MessageBox.Show("Error: Al eliminar la falta.", "Error"); cnx.Dispose(); } } }
private void btnEliminar_Click(object sender, EventArgs e) { cnx = new SqlConnection(cdn); cmd = new SqlCommand(); cmd.Connection = cnx; Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper(); fh.Command = cmd; try { cnx.Open(); fh.eliminaFalta(idTrabajador, dtpFecha.Value.Date); cnx.Close(); cnx.Dispose(); muestraFaltas(); } catch { MessageBox.Show("Error: Al eliminar la falta.", "Error"); cnx.Dispose(); } }
private void toolGuardar_Click(object sender, EventArgs e) { int existe = 0; if (_idEmpleado == 0) { MessageBox.Show("No ha seleccionado al Empleado.", "Información"); return; } //SE VALIDA SI TODOS LOS CAMPOS HAN SIDO LLENADOS. string control = GLOBALES.VALIDAR(this, typeof(TextBox)); if (!control.Equals("")) { MessageBox.Show("Falta el campo: " + control, "Información"); return; } cnx = new SqlConnection(cdn); cmd = new SqlCommand(); bulk = new SqlBulkCopy(cnx); cmd.Connection = cnx; Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper(); fh.Command = cmd; DateTime finIncapacidad = dtpFechaInicio.Value.AddDays(double.Parse(txtDiasIncapacidad.Text) - 1); int a = 0; int existeFalta = 0; bool FLAGFALTAS = false; Incidencias.Core.IncidenciasHelper incidenciah = new Incidencias.Core.IncidenciasHelper(); incidenciah.Command = cmd; DateTime fii, ffi; bool FLAG_FINICIO = false, FLAG_FFIN = false; List<Incidencias.Core.Incidencias> datoFechas = new List<Incidencias.Core.Incidencias>(); try { cnx.Open(); datoFechas = incidenciah.finIncapacidad(_idEmpleado); cnx.Close(); } catch { MessageBox.Show("Error: Al obtener la ultima fecha de incapacidad.", "Error"); cnx.Dispose(); return; } if (datoFechas.Count != 0) { fii = dtpFechaInicio.Value.Date; ffi = dtpFechaInicio.Value.AddDays(int.Parse(txtDiasIncapacidad.Text) - 1); for (int i = 0; i < datoFechas.Count; i++) { if (fii.Date <= datoFechas[i].finincapacidad.Date) { FLAG_FINICIO = true; } if (ffi.Date >= datoFechas[i].inicioincapacidad.Date) { FLAG_FFIN = true; } } //ffi = DateTime.Parse(datoFecha.ToString()); if (FLAG_FINICIO && FLAG_FFIN) { MessageBox.Show("Las fechas de la incapacidad se empalman con una ya existente.", "Información"); return; } else if (FLAG_FINICIO) { MessageBox.Show("Las fechas de la incapacidad se empalman con una ya existente.", "Información"); return; } } while (dtpFechaInicio.Value.AddDays(a).Date <= finIncapacidad.Date) { try { cnx.Open(); existeFalta = (int)fh.existeFalta(_idEmpleado, dtpFechaInicio.Value.AddDays(a).Date); cnx.Close(); } catch { MessageBox.Show("Error: Al obtener la existencia de faltas.", "Error"); cnx.Dispose(); return; } if (existeFalta != 0) { try { cnx.Open(); fh.eliminaFalta(_idEmpleado, dtpFechaInicio.Value.AddDays(a).Date); FLAGFALTAS = true; cnx.Close(); } catch { MessageBox.Show("Error: Al eliminar la falta existente.", "Error"); cnx.Dispose(); return; } } a++; } if (FLAGFALTAS) MessageBox.Show("Se encontraron faltas al momento de ingresar la incapacidad. \r\n \r\n Estas se quitaron.", "Confirmación"); ih = new Incidencias.Core.IncidenciasHelper(); ih.Command = cmd; ih.bulkCommand = bulk; Incidencias.Core.Incidencias incidencia = new Incidencias.Core.Incidencias(); incidencia.certificado = txtCertificado.Text.Trim(); List<Incidencias.Core.Incidencias> lstIncidencias; try { cnx.Open(); existe = int.Parse(ih.existeCertificado(incidencia).ToString()); cnx.Close(); } catch (Exception error) { MessageBox.Show("Error al consultar el certificado. \r\n \r\n Descripcion: " + error.Message, "Error"); } if (existe == 0) { PeriodoFechaAplicacion(); DateTime fechaInicioIncapacidad = dtpFechaInicio.Value.Date; DateTime fechaFinIncapacidad = dtpFechaInicio.Value.AddDays(double.Parse(txtDiasIncapacidad.Text) - 1).Date; //DateTime fechaFinPeriodo = dtpFinPeriodo.Value.Date; DateTime fechaFinPeriodo = periodoFin.Date; int diasRestantes = int.Parse(txtDiasIncapacidad.Text); int dias = 0; bool FLAG = false; lstIncidencias = new List<Incidencias.Core.Incidencias>(); int i = 1; while (diasRestantes != 0) { if (fechaFinIncapacidad <= fechaFinPeriodo) { Incidencias.Core.Incidencias incidencia2 = new Incidencias.Core.Incidencias(); incidencia2.id = i; incidencia2.idtrabajador = _idEmpleado; incidencia2.idempresa = GLOBALES.IDEMPRESA; incidencia2.certificado = txtCertificado.Text.Trim(); incidencia2.inicioincapacidad = dtpFechaInicio.Value; incidencia2.finincapacidad = dtpFechaInicio.Value.AddDays(double.Parse(txtDiasIncapacidad.Text) - 1); incidencia2.periodoinicio = periodoInicio.Date; incidencia2.periodofin = periodoFin.Date; incidencia2.idcontrol = int.Parse(cmbTipoCaso.SelectedValue.ToString()); incidencia2.idincapacidad = int.Parse(cmbTipoIncapacidad.SelectedValue.ToString()); dias = diasRestantes; incidencia2.dias = dias; incidencia2.fechainicio = fechaInicioIncapacidad.Date; incidencia2.fechafin = fechaFinIncapacidad.Date; lstIncidencias.Add(incidencia2); } else { Incidencias.Core.Incidencias incidencia2 = new Incidencias.Core.Incidencias(); incidencia2.id = i; incidencia2.idtrabajador = _idEmpleado; incidencia2.idempresa = GLOBALES.IDEMPRESA; incidencia2.certificado = txtCertificado.Text.Trim(); incidencia2.inicioincapacidad = dtpFechaInicio.Value; incidencia2.finincapacidad = dtpFechaInicio.Value.AddDays(double.Parse(txtDiasIncapacidad.Text) - 1); incidencia2.periodoinicio = periodoInicio.Date; incidencia2.periodofin = periodoFin.Date; incidencia2.idcontrol = int.Parse(cmbTipoCaso.SelectedValue.ToString()); incidencia2.idincapacidad = int.Parse(cmbTipoIncapacidad.SelectedValue.ToString()); if (!FLAG) { dias = (int)(fechaFinPeriodo - fechaInicioIncapacidad).TotalDays + 1; incidencia2.dias = dias; incidencia2.fechainicio = fechaInicioIncapacidad.Date; incidencia2.fechafin = fechaFinPeriodo.Date; fechaInicioIncapacidad = fechaFinPeriodo.AddDays(1); if (periodo == 7) fechaFinPeriodo = fechaFinPeriodo.AddDays(periodo); else { if (fechaInicioIncapacidad.Day <= 15) { fechaFinPeriodo = fechaFinPeriodo.AddDays(periodo); } else { fechaFinPeriodo = new DateTime(fechaFinPeriodo.Year, fechaFinPeriodo.Month, DateTime.DaysInMonth(fechaFinPeriodo.Year, fechaFinPeriodo.Month)); } } FLAG = true; } else { if (diasRestantes > periodo) { dias = (int)(fechaFinPeriodo - fechaInicioIncapacidad).TotalDays + 1; incidencia2.dias = dias; incidencia2.fechainicio = fechaInicioIncapacidad.Date; incidencia2.fechafin = fechaFinPeriodo.Date; fechaInicioIncapacidad = fechaFinPeriodo.AddDays(1); if (periodo == 7) fechaFinPeriodo = fechaFinPeriodo.AddDays(periodo); else { if (fechaInicioIncapacidad.Day <= 15) { fechaFinPeriodo = fechaFinPeriodo.AddDays(periodo); } else { fechaFinPeriodo = new DateTime(fechaFinPeriodo.Year, fechaFinPeriodo.Month, DateTime.DaysInMonth(fechaFinPeriodo.Year, fechaFinPeriodo.Month)); } } } } lstIncidencias.Add(incidencia2); } diasRestantes = diasRestantes - dias; i++; } } else { MessageBox.Show("El certificado que intenta guardar ya existe.", "Error"); return; } switch (_tipoForma) { case 0://ALTA EN BASE DE DATOS DataTable dt = new DataTable(); DataRow dtFila; dt.Columns.Add("id", typeof(Int32)); dt.Columns.Add("idtrabajador", typeof(Int32)); dt.Columns.Add("idempresa", typeof(Int32)); dt.Columns.Add("dias", typeof(Int32)); dt.Columns.Add("certificado", typeof(String)); dt.Columns.Add("inicioincapacidad", typeof(DateTime)); dt.Columns.Add("finincapacidad", typeof(DateTime)); dt.Columns.Add("fechainicio", typeof(DateTime)); dt.Columns.Add("fechafin", typeof(DateTime)); dt.Columns.Add("periodoinicio", typeof(DateTime)); dt.Columns.Add("periodofin", typeof(DateTime)); dt.Columns.Add("idcontrol", typeof(Int32)); dt.Columns.Add("idincapacidad", typeof(Int32)); for (int i = 0; i < lstIncidencias.Count; i++) { dtFila = dt.NewRow(); dtFila["id"] = lstIncidencias[i].id; dtFila["idtrabajador"] = lstIncidencias[i].idtrabajador; dtFila["idempresa"] = lstIncidencias[i].idempresa; dtFila["dias"] = lstIncidencias[i].dias; dtFila["certificado"] = lstIncidencias[i].certificado; dtFila["inicioincapacidad"] = lstIncidencias[i].inicioincapacidad; dtFila["finincapacidad"] = lstIncidencias[i].finincapacidad; dtFila["fechainicio"] = lstIncidencias[i].fechainicio; dtFila["fechafin"] = lstIncidencias[i].fechafin; dtFila["periodoinicio"] = lstIncidencias[i].periodoinicio; dtFila["periodofin"] = lstIncidencias[i].periodofin; dtFila["idcontrol"] = lstIncidencias[i].idcontrol; dtFila["idincapacidad"] = lstIncidencias[i].idincapacidad; dt.Rows.Add(dtFila); } try { cnx.Open(); ih.bulkIncidencia(dt, "tmpIncidencias"); ih.stpIncidencia(dtpInicioPeriodo.Value.Date, dtpFinPeriodo.Value.Date); cnx.Close(); cnx.Dispose(); if (OnIncapacidad != null) OnIncapacidad(); } catch (Exception error) { MessageBox.Show("Error al ingresar la incapacidad. \r\n \r\n Descripcion: " + error.Message, "Error"); } this.Dispose(); break; //case 1://ALTA EN DATAGRIDVIEW // try // { // cnx.Open(); // lstEmpleado = eh.obtenerEmpleado(empleado); // cnx.Close(); // cnx.Dispose(); // if (OnIncapacidad != null) // OnIncapacidad(lstEmpleado[0].noempleado, // lstEmpleado[0].nombres, // lstEmpleado[0].paterno, // lstEmpleado[0].materno, // int.Parse(txtDiasIncapacidad.Text), // dtpFechaInicio.Value, // dtpInicioPeriodo.Value, // dtpFinPeriodo.Value); // } // catch (Exception error) // { // MessageBox.Show("Error al ingresar la incapacidad. \r\n \r\n Descripcion: " + error.Message, "Error"); // } // break; } }