public bool anularDB(ro_horario_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_horario Entity = Context.ro_horario.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdHorario == info.IdHorario); if (Entity == null) { return(false); } Entity.Estado = "I"; Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu; Entity.Fecha_UltAnu = info.Fecha_UltAnu = DateTime.Now; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(ro_horario_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_horario Entity = new ro_horario { IdEmpresa = info.IdEmpresa, IdHorario = get_id(info.IdEmpresa), HoraFin = info.HoraFin, HoraIni = info.HoraIni, SalLunch = info.SalLunch, RegLunch = info.RegLunch, ToleranciaEnt = info.ToleranciaEnt, ToleranciaReg_lunh = info.ToleranciaReg_lunh, Descripcion = info.Descripcion, Estado = "A", IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.ro_horario.Add(Entity); Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool modificarDB(ro_horario_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_horario Entity = Context.ro_horario.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdHorario == info.IdHorario); if (Entity == null) { return(false); } Entity.HoraFin = info.HoraFin; Entity.HoraIni = info.HoraIni; Entity.SalLunch = info.SalLunch; Entity.RegLunch = info.RegLunch; Entity.ToleranciaEnt = info.ToleranciaEnt; Entity.ToleranciaReg_lunh = info.ToleranciaReg_lunh; Entity.Descripcion = info.Descripcion; Entity.IdUsuarioUltMod = info.IdUsuarioUltMod; Entity.Fecha_UltMod = info.Fecha_UltMod = DateTime.Now; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public ActionResult Modificar(ro_horario_Info info) { try { if (ModelState.IsValid) { info.IdUsuarioUltMod = SessionFixed.IdUsuario; if (!bus_horario.modificarDB(info)) { return(View(info)); } else { return(RedirectToAction("Index")); } } else { return(View(info)); } } catch (Exception) { throw; } }
public ActionResult Modificar(ro_horario_Info info) { try { if (ModelState.IsValid) { info.IdEmpresa = GetIdEmpresa(); info.IdUsuarioUltMod = Session["IdUsuario"].ToString(); if (!bus_cargo.modificarDB(info)) { return(View(info)); } else { return(RedirectToAction("Index")); } } else { return(View(info)); } } catch (Exception) { throw; } }
public bool anularDB(ro_horario_Info info) { try { return(odata.anularDB(info)); } catch (Exception) { throw; } }
public ActionResult Nuevo() { try { ro_horario_Info info = new ro_horario_Info(); return(View(info)); } catch (Exception) { throw; } }
public ActionResult Nuevo(int IdEmpresa = 0) { try { ro_horario_Info info = new ro_horario_Info(); info.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); return(View(info)); } catch (Exception) { throw; } }
public ActionResult Anular(ro_horario_Info info) { try { info.IdUsuarioUltAnu = SessionFixed.IdUsuario; if (!bus_horario.anularDB(info)) { return(View(info)); } else { return(RedirectToAction("Index")); } } catch (Exception) { throw; } }
public ActionResult Anular(ro_horario_Info info) { try { info.IdEmpresa = GetIdEmpresa(); info.IdUsuarioUltAnu = Session["IdUsuario"].ToString(); if (!bus_cargo.anularDB(info)) { return(View(info)); } else { return(RedirectToAction("Index")); } } catch (Exception) { throw; } }
public ActionResult Index() { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ro_horario_Info model = new ro_horario_Info { IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa), IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession) }; List <ro_horario_Info> lista = bus_horario.get_list(model.IdEmpresa, true); Lista_Horario.set_list(lista, Convert.ToDecimal(SessionFixed.IdTransaccionSession)); return(View(model)); }
public ro_horario_Info get_info(int IdEmpresa, int IdHorario) { try { ro_horario_Info info = new ro_horario_Info(); using (Entities_rrhh Context = new Entities_rrhh()) { ro_horario Entity = Context.ro_horario.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdHorario == IdHorario); if (Entity == null) { return(null); } info = new ro_horario_Info { IdEmpresa = Entity.IdEmpresa, IdHorario = Entity.IdHorario, HoraFin = Entity.HoraFin, HoraIni = Entity.HoraIni, SalLunch = Entity.SalLunch, RegLunch = Entity.RegLunch, ToleranciaEnt = Entity.ToleranciaEnt, ToleranciaReg_lunh = Entity.ToleranciaReg_lunh, Estado = Entity.Estado, Descripcion = Entity.Descripcion }; } return(info); } catch (Exception) { throw; } }
public bool calcular_horas_extras(int IdEmpresa, int IdNomina, int IdNominaTipo, int IdPeriodo) { try { int IdHorasExtras = 0; ro_horario_Info horarioActual = null; ro_turno_Info info_turno = null; lst_horaio = odata_horario.get_list(IdEmpresa, false); lsr_turnos = odata_turno.get_list(IdEmpresa, false); lst_nomina_horas_extras = odata.get_lis_calcular_horas_extras(IdEmpresa, IdNomina, IdNominaTipo, IdPeriodo); bool banderaHorario = false; foreach (var item in lst_nomina_horas_extras) { horaExtra25 = 0; horaExtra50 = 0; horaExtra100 = 0; double minutos_lunch = 0; IdHorasExtras = item.IdHorasExtras; // obteniendo el horario por empleado y por idcalendario horarioActual = lst_horaio.Where(v => v.IdHorario == item.IdHorario).FirstOrDefault(); // obteniendo el turno por empleado y por idcalendario info_turno = lsr_turnos.Where(v => v.IdTurno == item.IdTurno).FirstOrDefault(); if (horarioActual != null && info_turno != null) { #region calculo horas tabajadas //CALCULA LAS HORAS TRABAJADAS if (item.time_salida1 >= item.time_entrada1) { if (item.time_salida1 > item.time_entrada1 && item.time_salida1 < item.time_entrada1) { horaTrabajada = ((TimeSpan)(item.time_salida1 - item.time_entrada1)).TotalHours + ((TimeSpan)(item.time_salida2 - item.time_entrada2)).TotalHours; } else { horaTrabajada = ((TimeSpan)(item.time_salida1 - item.time_entrada1)).TotalHours; } } else { if (item.time_salida1 > item.time_entrada1 && item.time_salida1 < item.time_entrada1) { horaTrabajada = ((TimeSpan)(item.time_salida1 - item.time_entrada1)).TotalHours + ((TimeSpan)(unDia - item.time_entrada1)).TotalHours + ((TimeSpan)item.time_salida2).TotalHours; } else { horaTrabajada = ((TimeSpan)(unDia - item.time_entrada1)).TotalHours + ((TimeSpan)item.time_salida1).TotalHours; } } #endregion #region variables de calculos item.hora_trabajada = horaTrabajada; minutos_lunch = ((TimeSpan)((TimeSpan)horarioActual.RegLunch) - horarioActual.SalLunch).TotalHours; // obtengo los minutos de descanso //VERIFICAR HORARIO DEL MISMO DIA VS. HORARIO DEL DIA SIGUIENTE if (horarioActual.HoraIni <= horarioActual.HoraFin) //CORRESPONDE AL MISMO DIA { banderaHorario = false; } else { //CORRESPONDE A PARTE DEL MISMO DIA, Y PARTE DEL DIA SIGUIENTE banderaHorario = true; } int dia_semana = Convert.ToInt32(item.FechaRegistro.DayOfWeek); #endregion #region turno diurno if (banderaHorario == false)//TURNO DIURNO { if ((dia_semana == 7 | dia_semana == 6) && (info_turno.Domingo == false | info_turno.Sabado == false)) { item.hora_trabajada = ((TimeSpan)(item.time_salida1 - item.time_entrada1)).TotalHours - ((TimeSpan)(horarioActual.RegLunch - horarioActual.SalLunch)).TotalHours; item.hora_extra100 = item.hora_trabajada; } else { if (item.hora_trabajada > 8) { //VERIFICA QUE LA SALIDA CORRESPONDA A HORAS EXTRAS DEL MISMO DIA if (item.time_salida1 > (TimeSpan)horarioActual.HoraFin && item.time_salida1 > item.time_entrada1) { //VERIFICA SI TIENE HORAS EXTRAS 100 if (item.time_salida1 > inicioHora100 && item.time_salida1 <= finalHora100) { horaExtra100 = ((TimeSpan)(item.time_salida1 - finalHora100)).TotalHours; //TOTAL DE HORAS EXTRAS 100 } else { //VERIFICA SI TIENE HORAS EXTRAS 50% if (item.time_salida1 > inicioHora50 && item.time_salida1 < finalHora50) { horaExtra50 = ((TimeSpan)(item.time_salida1 - (TimeSpan)horarioActual.HoraFin)).TotalHours; //TOTAL DE HORAS EXTRAS 50% horaExtra50 = horaExtra50 - minutos_lunch; item.hora_extra50 = horaExtra50; } } } else { if (item.time_salida1 < (TimeSpan)horarioActual.HoraIni) { horaExtra50 = (finalHora50 - (TimeSpan)horarioActual.HoraFin).TotalHours; //TOTAL DE HORAS EXTRAS 50% horaExtra100 = ((TimeSpan)(item.time_salida1 - inicioHora100)).TotalHours; //TOTAL DE HORAS EXTRAS 100 } } } } } #endregion #region turno nocturno else { //VERIFICA SI ES JORNADA NOCTURNA if (item.time_entrada1 >= inicioHora25 && item.time_entrada1 <= (unDia + finalHora25) && banderaHorario) { horaExtra25 = ((TimeSpan)((unDia + item.time_salida2) - item.time_entrada1)).TotalHours; //TOTAL DE HORAS DE JORNADA NOCTURNA } //CALCULO DE HORAS EXTRAS if (item.time_salida2 > item.time_entrada1 && item.time_salida2 < finalHora50) { horaTrabajada = (((TimeSpan)item.time_salida2).TotalHours - ((TimeSpan)item.time_entrada1).TotalHours); } else { if (item.time_salida1 > inicioHora100) { horaTrabajada = ((TimeSpan)(unDia + item.time_salida1)).TotalHours - ((TimeSpan)item.time_entrada1).TotalHours; if (item.time_salida1 > (TimeSpan)horarioActual.HoraFin && item.time_salida1 <= finalHora100) { horaExtra100 = ((TimeSpan)(item.time_salida1 - (TimeSpan)horarioActual.HoraFin)).TotalHours; } else { if (item.time_salida1 > (TimeSpan)horarioActual.HoraFin && item.time_salida1 > inicioHora50 && item.time_salida1 <= finalHora50) { horaExtra100 = (inicioHora50 - (TimeSpan)horarioActual.HoraFin).TotalHours; horaExtra50 = ((TimeSpan)(item.time_salida2 - inicioHora50)).TotalHours; } } } } } #endregion } item.hora_trabajada = horaTrabajada - minutos_lunch; item.hora_extra25 = horaExtra25; item.hora_extra50 = horaExtra50; item.hora_extra100 = horaExtra100; item.Valor25 = ((item.Sueldo_base / 240) * 1.25) * horaExtra25; item.Valor50 = ((item.Sueldo_base / 240) * 1.5) * horaExtra50; item.Valor100 = ((item.Sueldo_base / 240) * 2) * horaExtra100; } return(odata.guardarDB(IdEmpresa, IdHorasExtras, lst_nomina_horas_extras)); } catch (Exception) { throw; } }