private void cambiarHora(bool cambiarEntrada, string texto) { ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Iniciando..."); long idhge = int.Parse(dgvHoras.SelectedRows[0].Cells["IDHorasGeneradasEscalafon"].Value.ToString()); int idFuncSeleccionado = (int)listaFuncsCargados[idhge].NroEmpleado; string nombreFunc = dgvHoras.SelectedRows[0].Cells["Funcionario"].Value.ToString(); DateTime horaini = listaFuncsCargados[idhge].HoraEntrada; DateTime horafin = listaFuncsCargados[idhge].HoraSalida; CambiarHoraFuncionario changeHourForm = new CambiarHoraFuncionario(idFuncSeleccionado, nombreFunc, texto, horaini, horafin, cambiarEntrada); DialogResult dg = changeHourForm.ShowDialog(this); if (dg == DialogResult.OK) { ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "DialogResult.OK"); // Chequeamos que no existan los horarios solapados. HoRaSGeneraDaSEScalaFOn hstemp = new HoRaSGeneraDaSEScalaFOn(); hstemp.NroEmpleado = listaFuncsCargados[idhge].NroEmpleado; if (cambiarEntrada) { hstemp.HoraEntrada = changeHourForm.getFechaHoraNueva(); hstemp.HoraSalida = listaFuncsCargados[idhge].HoraSalida; } else { hstemp.HoraEntrada = listaFuncsCargados[idhge].HoraEntrada; hstemp.HoraSalida = changeHourForm.getFechaHoraNueva(); } try { ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Antes sistema.aplicarControlesAltaHoraGeneradaEscalafon"); sistema.aplicarControlesAltaHoraGeneradaEscalafon(listaFuncsCargados[idhge].FechaCorrespondiente, idhge, hstemp); ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Despues de sistema.aplicarControlesAltaHoraGeneradaEscalafon"); MotivoCambioDiarioForm mcdf = new MotivoCambioDiarioForm(DateTime.Parse(mtFecha.Text)); dg = mcdf.ShowDialog(this); ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Despues de showDialog"); if (dg == DialogResult.OK) { int numFila = dgvHoras.SelectedRows[0].Index; //long idhge = (long)dgvHoras.Rows[numFila].Cells["IdHorasGeneradasEscalafon"].Value; //int nroEmp = (int)listaFuncsCargados[idhge].NroEmpleado; ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Antes de changeHourForm.getFechaHoraNueva()"); DateTime FechaHoraNueva = changeHourForm.getFechaHoraNueva(); mcdf.motivoCambio.NroEmpleado = listaFuncsCargados[idhge].NroEmpleado; mcdf.motivoCambio.NumeroCliente = uint.Parse(ucCliente.ClienteNRO); mcdf.motivoCambio.NumeroServicio = servicio.NumeroServicio; ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Despues de mcdf.motivoCambio.NumeroServicio = servicio.NumeroServicio;"); //DateTime DateNueva = DateTime.Parse(mtFecha.Text + " " + HoraNueva); ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Antes datos.cambiarHoraFuncionarioControlDiario"); datos.cambiarHoraFuncionarioControlDiario(idhge, (int)listaFuncsCargados[idhge].NroEmpleado, FechaHoraNueva, cambiarEntrada, mcdf.motivoCambio); ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Despues datos.cambiarHoraFuncionarioControlDiario"); if (cambiarEntrada) { listaFuncsCargados[idhge].HoraEntrada = FechaHoraNueva; dgvHoras.Rows[numFila].Cells["HoraEntrada"].Value = FechaHoraNueva.ToString("HH:mm"); } else { listaFuncsCargados[idhge].HoraSalida = FechaHoraNueva; dgvHoras.Rows[numFila].Cells["HoraSalida"].Value = FechaHoraNueva.ToString("HH:mm"); } TimeSpan ts = new TimeSpan(listaFuncsCargados[idhge].HoraSalida.Ticks - listaFuncsCargados[idhge].HoraEntrada.Ticks); dgvHoras.Rows[numFila].Cells["TotalHs"].Value = impHora(ts); aplicarFormatoCeldaHora(numFila, listaFuncsCargados[idhge].HoraEntrada, listaFuncsCargados[idhge].HoraSalida); } } catch (Exception ex) { throw ex; } ControladorUtilidades.writeToLog(this.Name, "cambiarHora", "Fin."); } }
private void cambiarHoraFin_Click(object sender, EventArgs e) { if (dgvHoras.SelectedRows[0].Cells["Salida"].Value.ToString() != "") MessageBox.Show(this, "No se puede cambiar el funcionario si tiene marcada la salida.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else { try { int idFuncSeleccionado = int.Parse(dgvHoras.SelectedRows[0].Cells["Numero"].Value.ToString()); string nombreFunc = dgvHoras.SelectedRows[0].Cells["Funcionario"].Value.ToString(); string horafin = dgvHoras.SelectedRows[0].Cells["HoraFin"].Value.ToString(); CambiarHoraFuncionario changeHourForm = new CambiarHoraFuncionario(idFuncSeleccionado, nombreFunc, "Cambio de Hora de Salida", horafin); DialogResult dg = changeHourForm.ShowDialog(this); if (dg == DialogResult.OK) { cambiarHoraSalidaFuncionario(dgvHoras.SelectedRows[0].Index, changeHourForm.getHoraNueva()); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }