private void AddHoras(int id, string fecha, string horas) { #region Tandas por cada empleado if (!metodos.EsDiaFeriado(fecha)) { DataRow r = horasTrabajadas.NewRow(); r["ID"] = id; r["Fecha"] = fecha; r["horasT"] = horas; horasTrabajadas.Rows.Add(r); horasTrabajadas.AcceptChanges(); } #endregion DateTime dt = DateTime.Parse(fecha); float th = (float)TimeSpan.Parse(horas).TotalHours; #region Day of the week if (dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday) { #region Display day hours HorasTrabajadas dhwoad = new HorasTrabajadas(id, th, dt); DayHoursWithOverTimeAndDobles.Add(dhwoad); #endregion #region Dias Feriados if (metodos.EsDiaFeriado(fecha)) { var EmployeeDobleHours = Dobles.Where(x => x.ID == id).FirstOrDefault(); if (EmployeeDobleHours == null) { HorasTrabajadas ht = new HorasTrabajadas(id, th, dt); Dobles.Add(ht); } else { EmployeeDobleHours.HorasT += th; } } #endregion #region Total de horas por empleado if (!metodos.EsDiaFeriado(fecha)) { var EmployeeHours = WorkedTime.Where(x => x.ID == id).FirstOrDefault(); if (EmployeeHours == null) { HorasTrabajadas ht = new HorasTrabajadas(id, th, dt); WorkedTime.Add(ht); } else { EmployeeHours.HorasT += th; } } #endregion #region Total de horas diarias por empleados if (!metodos.EsDiaFeriado(fecha)) { var DayExist = DayHours.Where(x => x.ID == id && x.Fecha.ToShortDateString().Equals(dt.ToShortDateString())).FirstOrDefault(); var LaHoraVacana = horaVacana.Where(x => x.ID == id).FirstOrDefault(); if (DayExist != null) { float h = DayExist.HorasT + th; #region TheOverTime //if (dt.DayOfWeek != DayOfWeek.Friday) //{ // if (h > 9) // { // float delta = h - 9; // var EmployeeExtras = Extras.Where(x => x.ID == id).FirstOrDefault(); // if (EmployeeExtras == null) // { // HorasTrabajadas ht = new HorasTrabajadas(id, delta, dt); // Extras.Add(ht); // } // else // { // EmployeeExtras.HorasT += delta; // } // h = 9; // } //} //else //{ // if (h > 8) // { // float delta = h - 8; // var EmployeeExtras = Extras.Where(x => x.ID == id).FirstOrDefault(); // if (EmployeeExtras == null) // { // HorasTrabajadas ht = new HorasTrabajadas(id, delta, dt); // Extras.Add(ht); // } // else // { // EmployeeExtras.HorasT += delta; // } // h = 8; // } //} #endregion h = AddOT(id, h, dt); DayExist.HorasT = h; if (LaHoraVacana != null) { LaHoraVacana.HorasT += h; } else { HorasTrabajadas hv = new HorasTrabajadas(id, h, dt); horaVacana.Add(hv); } } else { #region TheOverTime //if (dt.DayOfWeek != DayOfWeek.Friday) //{ // if (th > 9) // { // float delta = th - 9; // var EmployeeExtras = Extras.Where(x => x.ID == id).FirstOrDefault(); // if (EmployeeExtras == null) // { // HorasTrabajadas ht = new HorasTrabajadas(id, delta, dt); // Extras.Add(ht); // } // else // { // EmployeeExtras.HorasT += delta; // } // th = 9; // } //} //else //{ // if (th > 8) // { // float delta = th - 8; // var EmployeeExtras = Extras.Where(x => x.ID == id).FirstOrDefault(); // if (EmployeeExtras == null) // { // HorasTrabajadas ht = new HorasTrabajadas(id, delta, dt); // Extras.Add(ht); // } // else // { // EmployeeExtras.HorasT += delta; // } // th = 8; // } //} #endregion th = AddOT(id, th, dt); if (LaHoraVacana != null) { LaHoraVacana.HorasT += th; } else { HorasTrabajadas hv = new HorasTrabajadas(id, th, dt); horaVacana.Add(hv); } HorasTrabajadas dh = new HorasTrabajadas(id, th, dt); DayHours.Add(dh); } } #endregion } #endregion #region SabadoDomingo else if (dt.DayOfWeek == DayOfWeek.Saturday) { AddOT(id, th, dt); //var EmployeeExtras = Extras.Where(x => x.ID == id).FirstOrDefault(); //if (EmployeeExtras == null) //{ // HorasTrabajadas ht = new HorasTrabajadas(id, th, dt); // Extras.Add(ht); //} //else //{ // EmployeeExtras.HorasT += th; //} } else { var EmployeeDobleHours = Dobles.Where(x => x.ID == id).FirstOrDefault(); if (EmployeeDobleHours == null) { HorasTrabajadas ht = new HorasTrabajadas(id, th, dt); Dobles.Add(ht); } else { EmployeeDobleHours.HorasT += th; } } #endregion }