private void GuardarBTN_Click(object sender, EventArgs e) { bool solapa; bool hubosolapa = false; dgEscalafon.EndEdit(); try { if (ValidarEscalafon()) { int numCli = nroClienteCargado.Value; //int numSer = int.Parse(mtServicio.Text); int numSer = nroServicioCargado.Value; int nroCon = CalcNroContrato(numCli, numSer); Escalafon es = new Escalafon(); es.Cubierto = ContCubierto; es.ListaEscalafonEmpleados = new List<EscalafonEmpleado>(); // ACA GUARDO TODOS LOS DATOS DEL DATAGRIDVIEW EscalafonEmpleado linea; HorarioEscalafon hor = null; DataGridViewCell cel = null; foreach (DataGridViewRow fila in dgEscalafon.Rows) { linea = new EscalafonEmpleado(); linea.NroEmpleado = int.Parse(fila.Cells[0].Value.ToString()); linea.CodigoPuesto = fila.Cells[2].Value.ToString(); linea.CantidadHsLlamadaAntesHoraInicio = int.Parse(fila.Cells[3].Value.ToString().Substring(0, 1)); linea.AcargoDe = fila.Cells[11].Value.ToString(); linea.Horario = new List<HorarioEscalafon>(); solapa = false; for (int i = 0; i < 7; i++) { cel = fila.Cells[dias[i]]; if (cel.Value.ToString().IndexOfAny(new Char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' }) == -1) //cel.Value.ToString() == "Descanso" || cel.Value.ToString() == "Licencia") { hor = new HorarioEscalafon(dias[i], cel.Value.ToString()); cel.Style.BackColor = Color.FromArgb(255, 255, 192);//Amarillito } else { solapa = sistema.EsHorarioSolapado(nroCon, linea.NroEmpleado, dias[i], obtHIni(cel.Value.ToString()), obtHFin(cel.Value.ToString())); hor = new HorarioEscalafon(dias[i], obtHIni(cel.Value.ToString()), obtHFin(cel.Value.ToString()), solapa); if (solapa) { hubosolapa = true; cel.Style.BackColor = Color.Red;//Rojo } else { cel.Style.BackColor = Color.FromArgb(255, 255, 192);//Amarillito } } linea.Horario.Add(hor); } es.ListaEscalafonEmpleados.Add(linea); } if (datos.existeEscalafon(nroCon)) sistema.modificarEscalafon(nroCon, es); else sistema.altaEscalafon(numCli, numSer, nroCon, es); sistema.marcarSolapados(nroCon, es); if (hubosolapa) { MessageBox.Show("Datos guardados correctamente.\nEn los horarios en rojo el empleado ya trabaja.", "Guardado de Datos", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else MessageBox.Show("Datos guardados correctamente.", "Guardado de Datos", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Utilidades.ControladorUtilidades.writeToLog(new Exception("ValidacionEscalafon ERROR")); MessageBox.Show(this, "Error en la celda seleccionada", "Línea no valida", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { Utilidades.ControladorUtilidades.writeToLog(ex); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Escalafon getEscalafon(int nroEsc) { EScalaFOn esc = datos.obtenerEscalafon(nroEsc); Escalafon aux = new Escalafon(); aux.Cubierto = esc.Cubierto == 1; aux.ListaEscalafonEmpleados = new List<EscalafonEmpleado>(); EscalafonEmpleado lhs = null; HorarioEscalafon hor = null; foreach (EScalaFOneMpLeadO lh in esc.EScalaFOneMpLeadO) { lhs = new EscalafonEmpleado(); lhs.NroEmpleado = (int)lh.NroEmpleado; lhs.CodigoPuesto = lh.CodigoPuesto; lhs.CantidadHsLlamadaAntesHoraInicio = lh.HsLlamadaAntesHoraInicio; lhs.AcargoDe = lh.AcArgoDe; lhs.Horario = new List<HorarioEscalafon>(); foreach (HoRaRioEScalaFOn h in lh.HoRaRioEScalaFOn) { if (h.IDEscalafon == lh.IDEscalafon && h.IDEscalafonEmpleado == lh.IDEscalafonEmpleado) { if (h.TipoDia == 0) hor = new HorarioEscalafon(h.DiA, h.HoRaInI, h.HoRaFIn, (h.Solapa == 1)? true:false); else hor = new HorarioEscalafon(h.DiA, (int)h.TipoDia); lhs.Horario.Add(hor); } } aux.ListaEscalafonEmpleados.Add(lhs); } return aux; }