public bool modificarDB(ro_nomina_x_horas_extras_det_Info item) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_nomina_x_horas_extras_det Entity = Context.ro_nomina_x_horas_extras_det.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdCalendario == item.IdCalendario && q.IdHorasExtras == item.IdHorasExtras); if (Entity == null) { return(false); } Entity.IdCalendario = item.IdCalendario; Entity.IdTurno = item.IdTurno; Entity.FechaRegistro = item.FechaRegistro; Entity.time_entrada1 = item.time_entrada1; Entity.time_entrada2 = item.time_entrada2; Entity.time_salida1 = item.time_salida1; Entity.time_salida2 = item.time_salida2; Entity.hora_extra25 = item.hora_extra25; Entity.hora_extra50 = item.hora_extra50; Entity.hora_extra100 = item.hora_extra100; Entity.hora_atraso = item.hora_atraso; Entity.hora_temprano = item.hora_temprano; Entity.hora_trabajada = item.hora_trabajada; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public Boolean GetExiste(ro_nomina_x_horas_extras_det_Info info, ref string msg) { try { Boolean valorRetornar = false; using (EntitiesRoles db = new EntitiesRoles()) { int cont = (from a in db.ro_nomina_x_horas_extras_det where a.IdEmpresa == info.IdEmpresa && a.IdEmpleado == info.IdEmpleado && a.IdCalendario == info.IdCalendario && a.IdTurno == info.IdTurno select a).Count(); if (cont > 0) { valorRetornar = true; } else { valorRetornar = false; } } return(valorRetornar); } catch (Exception ex) { string array = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
private bool si_existe(ro_nomina_x_horas_extras_det_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { var lst = from q in Context.ro_nomina_x_horas_extras_det where q.IdEmpresa == info.IdEmpresa && q.IdEmpleado == info.IdEmpleado && q.IdCalendario == info.IdCalendario && q.IdHorasExtras == info.IdHorasExtras select q; if (lst.Count() > 0) { return(true); } else { return(false); } } } catch (Exception) { throw; } }
public Boolean GuardarBD(ro_nomina_x_horas_extras_det_Info info, ref string msg) { try { Boolean valorRetornar = false; //MODIFICA DETALLE if (oData.GetExiste(info, ref mensaje)) { valorRetornar = oData.ModificarBD(info, ref mensaje); } else {//GRABA DETALLE valorRetornar = oData.GuardarBD(info, ref mensaje); } return(valorRetornar); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarBD", ex.Message), ex) { EntityType = typeof(ro_Nomina_X_Horas_Extras_Bus) }; } }
public void UpdateRow(ro_nomina_x_horas_extras_det_Info info_det, decimal IdTransaccionSession) { ro_nomina_x_horas_extras_det_Info edited_info = get_list(IdTransaccionSession).Where(m => m.Secuencia == info_det.Secuencia).First(); edited_info.hora_extra100 = info_det.hora_extra100; edited_info.hora_extra50 = info_det.hora_extra50; edited_info.hora_extra25 = info_det.hora_extra25; }
public ActionResult EditingDelete_apro([ModelBinder(typeof(DevExpressEditorsBinder))] ro_nomina_x_horas_extras_det_Info info_det) { ro_nomina_x_horas_extras_det_Info_list.DeleteRow(Convert.ToInt32(info_det.Secuencia), Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); ro_nomina_x_horas_extras_Info model = new ro_nomina_x_horas_extras_Info(); model.lst_nomina_horas_extras = ro_nomina_x_horas_extras_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); return(PartialView("_GridViewPartial_aprobacion_horas_extras_det", model)); }
public ActionResult EditingUpdate_apro([ModelBinder(typeof(DevExpressEditorsBinder))] ro_nomina_x_horas_extras_det_Info info_det) { if (ModelState.IsValid) { ro_nomina_x_horas_extras_det_Info_list.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } ro_nomina_x_horas_extras_Info model = new ro_nomina_x_horas_extras_Info(); model.lst_nomina_horas_extras = ro_nomina_x_horas_extras_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); return(PartialView("_GridViewPartial_aprobacion_horas_extras_det", model)); }
public bool anularDB(ro_nomina_x_horas_extras_det_Info info) { try { return(odata.anularDB(info)); } catch (Exception) { throw; } }
public void AddRow(ro_nomina_x_horas_extras_det_Info info_det, decimal IdTransaccionSession) { var IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); List <ro_nomina_x_horas_extras_det_Info> list = get_list(IdTransaccionSession); if (info_det.time_entrada1 != null && info_det.time_salida1 != null) { //var empleado = bus_empleado.get_info(IdEmpresa, info_det.IdEmpleado); var empleado = empleado_info_list.get_list(IdTransaccionSession).Where(v => v.IdEmpleado == info_det.IdEmpleado).FirstOrDefault(); info_det.pe_nombreCompleto = empleado.Empleado; List <ro_marcaciones_x_empleado_Info> lista_marcacion = new List <ro_marcaciones_x_empleado_Info>(); var info_entrada = new ro_marcaciones_x_empleado_Info { IdEmpleado = info_det.IdEmpleado, IdEmpresa = IdEmpresa, es_fechaRegistro = info_det.FechaRegistro, IdCalendadrio = Convert.ToInt32(info_det.FechaRegistro.ToString("ddMMyyyy")), IdNomina = empleado.IdTipoNomina, IdUsuario = SessionFixed.IdUsuario, es_Hora = new TimeSpan(info_det.time_entrada1_date.Hour, info_det.time_entrada1_date.Minute, 0), IdTipoMarcaciones = cl_enumeradores.eTipoMarcacionRRHH.IN1.ToString(), pe_NombreCompleato = empleado.Empleado, pe_cedula = empleado.pe_cedulaRuc, EstadoBool = true, //IdRegistro = cont++ }; lista_marcacion.Add(info_entrada); var info_salida = new ro_marcaciones_x_empleado_Info { IdEmpleado = info_det.IdEmpleado, IdEmpresa = IdEmpresa, es_fechaRegistro = info_det.FechaRegistro, IdCalendadrio = Convert.ToInt32(info_det.FechaRegistro.ToString("ddMMyyyy")), IdNomina = empleado.IdTipoNomina, IdUsuario = SessionFixed.IdUsuario, es_Hora = new TimeSpan(info_det.time_salida1_date.Hour, info_det.time_salida1_date.Minute, 0), IdTipoMarcaciones = cl_enumeradores.eTipoMarcacionRRHH.OUT1.ToString(), pe_NombreCompleato = empleado.Empleado, pe_cedula = empleado.pe_cedulaRuc, EstadoBool = true, //IdRegistro = cont++ }; lista_marcacion.Add(info_salida); if (bus_marcaciones.guardarDB(lista_marcacion, IdEmpresa)) { list.Add(info_det); } } }
public ActionResult EditingAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] ro_nomina_x_horas_extras_det_Info info_det) { info_det.time_entrada1 = new TimeSpan(info_det.time_entrada1_date.Hour, info_det.time_entrada1_date.Minute, info_det.time_entrada1_date.Second); info_det.time_salida1 = new TimeSpan(info_det.time_salida1_date.Hour, info_det.time_salida1_date.Minute, info_det.time_salida1_date.Second); if (ModelState.IsValid) { ro_nomina_x_horas_extras_det_Info_list.AddRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } ro_nomina_x_horas_extras_Info model = new ro_nomina_x_horas_extras_Info(); model.lst_nomina_horas_extras = ro_nomina_x_horas_extras_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_horas_extras_det", model)); }
public void set(ro_nomina_x_horas_extras_det_Info info) { try { //cmbnomina.EditValue = info.IdNominaTipo; //cmbnominaTipo.EditValue = info.IdNominaTipoLiqui; //cmbPeriodos.EditValue = info.IdPeriodo; lista_nomina_he = new BindingList <ro_nomina_x_horas_extras_det_Info>(bus_nomina_he.Get_Info_Nomina_X_Horas_Extras(param.IdEmpresa, Convert.ToInt32(cmbnomina.EditValue), Convert.ToInt32(cmbnominaTipo.EditValue), Convert.ToInt32(cmbPeriodos.EditValue), ref msg)); gridControl_nominahe.DataSource = lista_nomina_he; } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ro_nomina_x_horas_extras_det_Info get_info(int IdEmpresa, decimal IdHorasExtras) { try { ro_nomina_x_horas_extras_det_Info info = new ro_nomina_x_horas_extras_det_Info(); using (Entities_rrhh Context = new Entities_rrhh()) { ro_nomina_x_horas_extras_det Entity = Context.ro_nomina_x_horas_extras_det.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdHorasExtras == IdHorasExtras); if (Entity == null) { return(null); } info = new ro_nomina_x_horas_extras_det_Info { IdEmpresa = Entity.IdEmpresa, IdHorasExtras = Entity.IdHorasExtras, IdTurno = Entity.IdTurno, IdHorario = Entity.IdHorario, FechaRegistro = Entity.FechaRegistro, time_entrada1 = Entity.time_entrada1, time_entrada2 = Entity.time_entrada2, time_salida1 = Entity.time_salida1, time_salida2 = Entity.time_salida2, hora_extra25 = Entity.hora_extra25, hora_extra50 = Entity.hora_extra50, hora_extra100 = Entity.hora_extra100, hora_atraso = Entity.hora_atraso, hora_temprano = Entity.hora_temprano, hora_trabajada = Entity.hora_trabajada, IdEmpleado = Entity.IdEmpleado, time_entrada1_date = Convert.ToDateTime(Entity.time_entrada1), time_entrada2_date = Convert.ToDateTime(Entity.time_entrada2), time_salida1_date = Convert.ToDateTime(Entity.time_salida1), time_salida2_date = Convert.ToDateTime(Entity.time_salida2), }; } return(info); } catch (Exception) { throw; } }
public Boolean GuardarBD(ro_nomina_x_horas_extras_det_Info info, ref string msg) { try { using (EntitiesRoles db = new EntitiesRoles()) { ro_nomina_x_horas_extras_det item = new ro_nomina_x_horas_extras_det(); item.IdEmpresa = info.IdEmpresa; item.IdEmpleado = info.IdEmpleado; item.IdCalendario = info.IdCalendario; item.IdTurno = Convert.ToInt32(info.IdTurno); item.IdHorario = (info.IdHorario == 0 ? 1 : info.IdHorario); item.FechaRegistro = info.FechaRegistro; item.time_entrada1 = info.time_entrada1; item.time_entrada2 = info.time_entrada2; item.time_salida1 = info.time_salida1; item.time_salida2 = info.time_salida2; item.hora_extra25 = info.hora_extra25; item.hora_extra50 = info.hora_extra50; item.hora_extra100 = info.hora_extra100; item.hora_atraso = info.hora_atraso; item.hora_temprano = info.hora_temprano; item.hora_trabajada = info.hora_trabajada; db.ro_nomina_x_horas_extras_det.Add(item); db.SaveChanges(); } return(true); } catch (Exception ex) { string array = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
public Boolean ModificarBD(ro_nomina_x_horas_extras_det_Info info, ref string msg) { try { using (EntitiesRoles db = new EntitiesRoles()) { ro_nomina_x_horas_extras_det item = (from a in db.ro_nomina_x_horas_extras_det where a.IdEmpresa == info.IdEmpresa && a.IdEmpleado == info.IdEmpleado && a.IdCalendario == info.IdCalendario && a.IdTurno == info.IdTurno select a).FirstOrDefault(); item.FechaRegistro = info.FechaRegistro; item.time_entrada1 = info.time_entrada1; item.time_entrada2 = info.time_entrada2; item.time_salida1 = info.time_salida1; item.time_salida2 = info.time_salida2; item.hora_extra25 = info.hora_extra25; item.hora_extra50 = info.hora_extra50; item.hora_extra100 = info.hora_extra100; item.hora_atraso = info.hora_atraso; item.hora_temprano = info.hora_temprano; item.hora_trabajada = info.hora_trabajada; db.SaveChanges(); } return(true); } catch (Exception ex) { string array = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
private void ucGe_Menu_event_btnconsultar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { info = (ro_nomina_x_horas_extras_det_Info)gvw_efectividad.GetFocusedRow(); if (info == null) { MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Seleccione_un_registro), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmRo_Nomina_horas_extras_mant frm = new frmRo_Nomina_horas_extras_mant(); frm.Accion = Cl_Enumeradores.eTipo_action.consultar; frm.MdiParent = this.MdiParent; frm.set(info); frm.Show(); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public bool anularDB(ro_nomina_x_horas_extras_det_Info info) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_nomina_x_horas_extras_det Entity = Context.ro_nomina_x_horas_extras_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdEmpleado == info.IdEmpleado && q.IdCalendario == info.IdCalendario && q.IdHorasExtras == info.IdHorasExtras); if (Entity == null) { return(false); } Context.ro_nomina_x_horas_extras_det.Remove(Entity); Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public void AddRow(ro_nomina_x_horas_extras_det_Info info_det, decimal IdTransaccionSession) { List <ro_nomina_x_horas_extras_det_Info> list = get_list(IdTransaccionSession); list.Add(info_det); }
public Boolean pu_AgregarNovedadPorEmpleado(int idEmpresa, decimal idEmpleado, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, DateTime fechaInicial, DateTime fechaFinal, Boolean acreditaRol) { try { string idRubroHoraNocturnaExtra25 = "7"; string idRubroHoraExtra50 = "8"; string idRubroHoraExtra100 = "9"; double valorSueldo = 0; double valorHoraMes = 0; //OBTENER EL VALOR DEL SUELDO valorSueldo = oHistoricoSueldoBus.Get_List_HistoricoSueldo(idEmpresa, idEmpleado).FirstOrDefault().SueldoActual; //OBTENER EL VALOR DE LA HORA DE TRABAJO DIURNO valorHoraMes = Convert.ToDouble(valorSueldo / 240); //CORRESPONDE A UNA JORNADA DE 8 HORAS X 30 DIAS ro_nomina_x_horas_extras_det_Info info = new ro_nomina_x_horas_extras_det_Info(); ro_Empleado_Novedad_Det_Info tmp = new ro_Empleado_Novedad_Det_Info(); //OBTIENE LAS HORAS EXTRAS DEL EMPLEADO GENERADAS EN EL PROCESO DE CALCULO if (info.hora_extra25 > 0) { ro_Empleado_Novedad_Info oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info(); ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info(); decimal idNovedad = 0; oRo_Empleado_Novedad_Cab_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Cab_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo = idNominaTipo; oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui; oRo_Empleado_Novedad_Cab_Info.Fecha = fechaFinal; oRo_Empleado_Novedad_Cab_Info.TotalValor = info.hora_extra25 * valorHoraMes * 1.25; oRo_Empleado_Novedad_Cab_Info.IdUsuario = param.IdUsuario; oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac; oRo_Empleado_Novedad_Cab_Info.Estado = "A"; //BORRAR VALORES PREVIOS DE NOVEDADES tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraNocturnaExtra25, fechaFinal, ref mensaje); oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje); //BORRA EL DETALLE oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA //GUARDA LA CABECERA if (acreditaRol) { if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje)) { oRo_Empleado_Novedad_Det_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Det_Info.IdNovedad = idNovedad; oRo_Empleado_Novedad_Det_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Det_Info.Secuencia = 1; oRo_Empleado_Novedad_Det_Info.IdRubro = idRubroHoraNocturnaExtra25; oRo_Empleado_Novedad_Det_Info.FechaPago = fechaFinal.Date; oRo_Empleado_Novedad_Det_Info.Valor = info.hora_extra25 * valorHoraMes * 1.25; oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN"; oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras"; oRo_Empleado_Novedad_Det_Info.Estado = "A"; oRo_Empleado_Novedad_Det_Info.NumHoras = info.hora_extra25; //GUARDA EL DETALLE oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje); } } } if (info.hora_extra50 > 0) { ro_Empleado_Novedad_Info oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info(); ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info(); decimal idNovedad = 0; oRo_Empleado_Novedad_Cab_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Cab_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo = idNominaTipo; oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui; oRo_Empleado_Novedad_Cab_Info.Fecha = fechaFinal; oRo_Empleado_Novedad_Cab_Info.TotalValor = Math.Round(info.hora_extra50 * valorHoraMes * 1.5, 2); oRo_Empleado_Novedad_Cab_Info.IdUsuario = param.IdUsuario; oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac; oRo_Empleado_Novedad_Cab_Info.Estado = "A"; //BORRAR VALORES PREVIOS DE NOVEDADES tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraExtra50, fechaFinal, ref mensaje); oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje); oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA //GUARDA LA CABECERA if (acreditaRol) { if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje)) { oRo_Empleado_Novedad_Det_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Det_Info.IdNovedad = idNovedad; oRo_Empleado_Novedad_Det_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Det_Info.Secuencia = 1; oRo_Empleado_Novedad_Det_Info.IdRubro = idRubroHoraExtra50; oRo_Empleado_Novedad_Det_Info.FechaPago = fechaFinal.Date; oRo_Empleado_Novedad_Det_Info.Valor = Math.Round(info.hora_extra50 * valorHoraMes * 1.5, 2); oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN"; oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras"; oRo_Empleado_Novedad_Det_Info.Estado = "A"; oRo_Empleado_Novedad_Det_Info.NumHoras = info.hora_extra50; //GUARDA EL DETALLE oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje); } } } if (info.hora_extra100 > 0) { ro_Empleado_Novedad_Info oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info(); ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info(); decimal idNovedad = 0; oRo_Empleado_Novedad_Cab_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Cab_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo = idNominaTipo; oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui; oRo_Empleado_Novedad_Cab_Info.Fecha = fechaFinal; oRo_Empleado_Novedad_Cab_Info.TotalValor = info.hora_extra100 * valorHoraMes * 2; oRo_Empleado_Novedad_Cab_Info.IdUsuario = param.IdUsuario; oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac; oRo_Empleado_Novedad_Cab_Info.Estado = "A"; //BORRAR VALORES PREVIOS DE NOVEDADES tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraExtra100, fechaFinal, ref mensaje); oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje); oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA //GUARDA LA CABECERA if (acreditaRol) { if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje)) { oRo_Empleado_Novedad_Det_Info.IdEmpresa = info.IdEmpresa; oRo_Empleado_Novedad_Det_Info.IdNovedad = idNovedad; oRo_Empleado_Novedad_Det_Info.IdEmpleado = info.IdEmpleado; oRo_Empleado_Novedad_Det_Info.Secuencia = 1; oRo_Empleado_Novedad_Det_Info.IdRubro = idRubroHoraExtra100; oRo_Empleado_Novedad_Det_Info.FechaPago = fechaFinal.Date; oRo_Empleado_Novedad_Det_Info.Valor = info.hora_extra100 * valorHoraMes * 2; oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN"; oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras"; oRo_Empleado_Novedad_Det_Info.Estado = "A"; oRo_Empleado_Novedad_Det_Info.NumHoras = info.hora_extra100; //GUARDA EL DETALLE oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje); } } } return(true); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "pu_AgregarNovedadPorEmpleado", ex.Message), ex) { EntityType = typeof(ro_Nomina_X_Horas_Extras_Bus) }; } }
private Boolean Agregar_fila_copiada(string data) { try { if (string.IsNullOrWhiteSpace(data)) { return(false); } string[] rowData = data.Split(new char[] { '\r', '\x09' }); decimal IdEmpleado = 0; ro_nomina_x_horas_extras_det_Info newRow = new ro_nomina_x_horas_extras_det_Info(); if (rowData.Count() >= 3) //return false; { int hora = 0; int minuto = 0; string es_hora = ""; string cedula = Convert.ToString(rowData[0]); string empleado = Convert.ToString(rowData[1]); DateTime fecha = Convert.ToDateTime(rowData[2]); double horas25 = Convert.ToDouble(rowData[7]); double horas50 = Convert.ToDouble(rowData[8]); double horas100 = Convert.ToDouble(rowData[9]); double TotaHoras = Convert.ToDouble(rowData[10]); es_hora = Convert.ToString(rowData[3]);// primera entrada try { IdEmpleado = lista_empleado.Where(v => v.pe_cedulaRuc == cedula).FirstOrDefault().IdEmpleado; } catch (Exception) { } if (es_hora != "") { if (es_hora.Length > 0) { hora = Convert.ToInt32(es_hora.Substring(0, 2)); minuto = Convert.ToInt32(es_hora.Substring(3, 2)); newRow.time_entrada1 = new TimeSpan(hora, minuto, 0); } } es_hora = Convert.ToString(rowData[4]);// primera salia if (es_hora != "") { if (es_hora.Length > 0) { hora = Convert.ToInt32(es_hora.Substring(0, 2)); minuto = Convert.ToInt32(es_hora.Substring(3, 2)); newRow.time_salida1 = new TimeSpan(hora, minuto, 0); } } es_hora = Convert.ToString(rowData[5]);// segunda entrada if (es_hora != "") { if (es_hora.Length > 0) { hora = Convert.ToInt32(es_hora.Substring(0, 2)); minuto = Convert.ToInt32(es_hora.Substring(3, 2)); newRow.time_entrada2 = new TimeSpan(hora, minuto, 0); } } es_hora = Convert.ToString(rowData[6]);// segunda salida if (es_hora != "") { if (es_hora.Length > 0) { hora = Convert.ToInt32(es_hora.Substring(0, 2)); minuto = Convert.ToInt32(es_hora.Substring(3, 2)); newRow.time_salida2 = new TimeSpan(hora, minuto, 0); } } newRow.pe_cedulaRuc = cedula; newRow.pe_nombreCompleto = empleado; newRow.hora_extra25 = horas25; newRow.hora_extra50 = horas50; newRow.hora_extra100 = horas100; newRow.hora_trabajada = TotaHoras; newRow.FechaRegistro = fecha; newRow.IdEmpleado = IdEmpleado; newRow.IdEmpresa = param.IdEmpresa; newRow.IdTurno = 1; newRow.IdCalendario = Convert.ToInt32(fecha.Year.ToString() + fecha.Month.ToString().PadLeft(2, '0') + fecha.Day.ToString().PadLeft(2, '0')); if (lista_nomina_he.Where(v => v.IdEmpleado == newRow.IdEmpleado && v.IdCalendario == newRow.IdCalendario).Count() == 0) { lista_nomina_he.Add(newRow); } gridControl_nominahe.DataSource = lista_nomina_he; } return(true); } catch (Exception ex) { MessageBox.Show(ex.Message, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); Log_Error_bus.Log_Error(ex.ToString()); return(false); } }
public ActionResult EditingDelete([ModelBinder(typeof(DevExpressEditorsBinder))] ro_nomina_x_horas_extras_det_Info info_det) { return(PartialView("_GridViewPartial_horas_extras_det", info)); }
public Boolean pu_CalcularHorasExtras(int idEmpresa, decimal idEmpleado, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, DateTime fechaInicial, DateTime fechaFinal, Boolean acreditaRol) { try { //if (idEmpleado == 59) //{ //} //JORNADA NOCTURNA TimeSpan inicioHora25 = TimeSpan.FromHours(19); //19:00 PM TimeSpan finalHora25 = TimeSpan.FromHours(6); //06:00 AM //HORAS EXTRAS 50 TimeSpan inicioHora50 = TimeSpan.FromHours(6); //06:00 AM TimeSpan finalHora50 = TimeSpan.FromHours(24); //24:00 PM //HORAS EXTRAS 100 TimeSpan inicioHora100 = TimeSpan.FromHours(0); //00:00 PM TimeSpan finalHora100 = TimeSpan.FromHours(6); //06:00 AM int contadorIN = 0; int contadorOUT = 0; Boolean banderaHorario = false; List <ro_nomina_x_horas_extras_det_Info> listado = new List <ro_nomina_x_horas_extras_det_Info>(); List <ro_marcaciones_x_empleado_Info> oListRo_marcaciones_x_empleado_Info = new List <ro_marcaciones_x_empleado_Info>(); //OBTENER LA PLANIFICACION DE HORARIOS DEL EMPLEADO List <ro_horario_planificacion_Info> oListRo_horario_planificacion_Info = new List <ro_horario_planificacion_Info>(); oListRo_horario_planificacion_Info = oRo_horario_planificacion_Bus.Get_List_horario_planificacion(idEmpresa, idEmpleado, fechaInicial, fechaFinal); //OBTENER LISTADO DE HORARIOS EN GENERAL List <ro_Horario_Info> oListRo_Horario_Info = new List <ro_Horario_Info>(); oListRo_Horario_Info = oRo_Horario_Bus.Get_List_Horario(idEmpresa); //RECORRE LA PLANIFICACION DE HORARIOS DEL EMPLEADO - DIA X DIA foreach (ro_horario_planificacion_Info horarioEmpleado in oListRo_horario_planificacion_Info) { ro_nomina_x_horas_extras_det_Info info = new ro_nomina_x_horas_extras_det_Info(); double horaExtra25 = 0; double horaExtra50 = 0; double horaExtra100 = 0; double horaAtraso = 0; double horaTemprano = 0; double horaTrabajada = 0; TimeSpan horaEntrada1 = new TimeSpan(); TimeSpan horaSalida1 = new TimeSpan(); TimeSpan horaEntrada2 = new TimeSpan(); TimeSpan horaSalida2 = new TimeSpan(); TimeSpan unDia = TimeSpan.FromHours(24); //24:00 PM //OBTIENE LOS DATOS DEL HORARIO DEL EMPLEADO ro_Horario_Info horarioActual = oListRo_Horario_Info.Where(v => v.IdHorario == horarioEmpleado.IdHorario).FirstOrDefault(); //COMBINO FECHA + HORA string subcadena = horarioEmpleado.IdCalendario.ToString(); int YYYY = Convert.ToInt32(subcadena.Substring(0, 4)); int mm = Convert.ToInt32(subcadena.Substring(4, 2)); int dd = Convert.ToInt32(subcadena.Substring(6, 2)); DateTime f1 = new DateTime(YYYY, mm, dd); DateTime f2 = new DateTime(YYYY, mm, dd); DateTime fechaMarcacionInicial = new DateTime(YYYY, mm, dd); DateTime fechaMarcacionFinal = new DateTime(YYYY, mm, dd); //AGREGA LOS TIEMPOS f1 = f1.Add((TimeSpan)horarioActual.HoraIni); f2 = f2.Add((TimeSpan)horarioActual.HoraFin); //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 { f2 = f2.AddDays(1); banderaHorario = true; } //AQUI DEBE VERIFICAR SI TIENE VARIOS TURNOS EN EL MISMO DIA - MODALIDAD DE TURNOS DOBLES if (oRo_horario_planificacion_Bus.GetVerificarDobleTurno(horarioEmpleado.IdEmpresa, horarioEmpleado.IdEmpleado, horarioEmpleado.IdCalendario, ref mensaje)) { fechaMarcacionInicial = fechaMarcacionInicial.Add((TimeSpan)horarioActual.HoraIni); fechaMarcacionFinal = fechaMarcacionFinal.Add((TimeSpan)horarioActual.HoraFin).AddHours(11); } else { fechaMarcacionInicial = fechaMarcacionInicial.Add((TimeSpan)horarioActual.HoraIni); fechaMarcacionFinal = fechaMarcacionFinal.Add((TimeSpan)horarioActual.HoraIni).AddHours(12); } //OBTENER LAS MARCACIONES DEL EMPLEADO EN LA FECHA CORRESPONDIENTE oListRo_marcaciones_x_empleado_Info = oRo_marcaciones_x_empleado_Bus.Get_List_marcaciones_x_empleado(idEmpresa, idEmpleado, fechaMarcacionInicial, fechaMarcacionFinal); ro_marcaciones_x_empleado_Info info_entrada = new ro_marcaciones_x_empleado_Info(); ro_marcaciones_x_empleado_Info info_salida = new ro_marcaciones_x_empleado_Info(); // si marco mas de una vez try { info_entrada = oListRo_marcaciones_x_empleado_Info.Where(v => v.IdTipoMarcaciones == "IN").FirstOrDefault(); } catch (Exception) { } try { info_salida = oListRo_marcaciones_x_empleado_Info.Where(v => v.IdTipoMarcaciones == "OUT").FirstOrDefault(); } catch (Exception) { } oListRo_marcaciones_x_empleado_Info = new List <ro_marcaciones_x_empleado_Info>(); if (info_entrada != null) { oListRo_marcaciones_x_empleado_Info.Add(info_entrada); } if (info_salida != null) { oListRo_marcaciones_x_empleado_Info.Add(info_salida); } contadorIN = 0; contadorOUT = 0; //RECORRER EL LISTADO DE MARCACIONES OBTENIDO foreach (var item in oListRo_marcaciones_x_empleado_Info) { // cambio por tolerancia de horas y minutos Carlos cedeño // este cambio es exclusivo para edehsa aqui revisar con el sensei como se puede hacer // este cambio es exclusivo para edehsa aqui revisar con el sensei como se puede hacer if (item.IdTipoMarcaciones == "IN") { if (item.es_Hora > horarioActual.HoraIni) { item.es_Hora = (TimeSpan)horarioActual.HoraIni; } } // horarioActual if (item.IdTipoMarcaciones == "OUT") { int hora = Convert.ToInt32(item.es_Hora.ToString().Substring(0, 2)); int minuto = Convert.ToInt32(item.es_Hora.ToString().Substring(3, 2)); item.es_Hora = new TimeSpan(hora, minuto, 0); } if (item.IdTipoMarcaciones == "IN") { contadorIN++; } else { if (item.IdTipoMarcaciones == "OUT") { contadorOUT++; } } //ENTRADAS if (contadorIN == 1 && contadorOUT == 0) { horaEntrada1 = (TimeSpan)item.es_Hora; horaEntrada2 = (TimeSpan)item.es_Hora; } else { if (contadorIN == 2) { horaEntrada2 = (TimeSpan)item.es_Hora; contadorIN++; } } //SALIDAS if (contadorOUT == 1 && contadorIN <= 2) { horaSalida1 = (TimeSpan)item.es_Hora; horaSalida2 = (TimeSpan)item.es_Hora; } else { if (contadorOUT == 2) { horaSalida2 = (TimeSpan)item.es_Hora; contadorOUT++; } } } //PROCESAR HORAS EXTRAS info.IdEmpresa = idEmpresa; info.IdEmpleado = idEmpleado; info.IdCalendario = horarioEmpleado.IdCalendario; //info.IdNominaTipo = idNominaTipo; //info.IdNominaTipoLiqui = idNominaTipoLiqui; //info.IdPeriodo = idPeriodo; info.IdHorario = horarioActual.IdHorario; ///AQUI REVISAR PARA LOS TURNOS DOBLES info.IdTurno = horarioEmpleado.IdRegistro; info.FechaRegistro = Convert.ToDateTime(f1.ToShortDateString()); info.time_entrada1 = horaEntrada1; info.time_entrada2 = horaEntrada2; info.time_salida1 = horaSalida1; info.time_salida2 = horaSalida2; //CALCULA HORAS DE ATRASO if (horaEntrada1 > (TimeSpan)horarioActual.HoraIni) { horaAtraso = (horaEntrada1 - (TimeSpan)horarioActual.HoraIni).TotalHours; //TOTAL DE HORAS DE ATRASO horaSalida2 = horaSalida2.Subtract(horaEntrada1 - (TimeSpan)horarioActual.HoraIni); // AQUI SE RESTA EL ATRASO A LA HORA DE SALIDA } int dia_semana = ((int)f1.DayOfWeek == 0) ? 7 : (int)f1.DayOfWeek; if (dia_semana >= 1 && dia_semana <= 5) //VERIFICA QUE LOS DIAS DE TRABAJO SON DE LUNES A VIERNES { //VERIFICA QUE TURNO TIENE EL EMPLEADO (DIURNO - NOCTURNO) if (banderaHorario == false)//TURNO DIURNO { //CALCULA SALIDAS TEMPRANO if (horaSalida2 < (TimeSpan)horarioActual.HoraFin && horaSalida2 > (TimeSpan)horarioActual.HoraIni) { horaTemprano = ((TimeSpan)horarioActual.HoraFin - horaSalida2).TotalHours; } //CALCULA LAS HORAS TRABAJADAS if (horaSalida2 >= horaEntrada1) { if (horaSalida1 > horaEntrada1 && horaSalida1 < horaEntrada2) { horaTrabajada = (horaSalida1 - horaEntrada1).TotalHours + (horaSalida2 - horaEntrada2).TotalHours; } else { horaTrabajada = (horaSalida2 - horaEntrada1).TotalHours; } } else { if (horaSalida1 > horaEntrada1 && horaSalida1 < horaEntrada2) { horaTrabajada = (horaSalida1 - horaEntrada1).TotalHours + (unDia - horaEntrada2).TotalHours + horaSalida2.TotalHours; } else { horaTrabajada = (unDia - horaEntrada1).TotalHours + horaSalida2.TotalHours; } } if (horaTrabajada > 0) { //VERIFICA QUE LA SALIDA CORRESPONDA A HORAS EXTRAS DEL MISMO DIA if (horaSalida2 > (TimeSpan)horarioActual.HoraFin && horaSalida2 > horaEntrada1) { //VERIFICA SI TIENE HORAS EXTRAS 100 if (horaSalida2 > inicioHora100 && horaSalida2 <= finalHora100) { horaExtra100 = (horaSalida2 - finalHora100).TotalHours; //TOTAL DE HORAS EXTRAS 100 } else { //VERIFICA SI TIENE HORAS EXTRAS 50% if (horaSalida2 > inicioHora50 && horaSalida2 < finalHora50) { horaExtra50 = (horaSalida2 - (TimeSpan)horarioActual.HoraFin).TotalHours; //TOTAL DE HORAS EXTRAS 50% } } } else { if (horaSalida2 < (TimeSpan)horarioActual.HoraIni) { horaExtra50 = (finalHora50 - (TimeSpan)horarioActual.HoraFin).TotalHours; //TOTAL DE HORAS EXTRAS 50% horaExtra100 = (horaSalida2 - inicioHora100).TotalHours; //TOTAL DE HORAS EXTRAS 100 } } } } else { //***********************************TURNO NOCTURNO***************************************** //CALCULA SALIDAS TEMPRANO if (horaSalida2 < (TimeSpan)horarioActual.HoraFin && (unDia + horaSalida2) > (TimeSpan)horarioActual.HoraIni) { horaTemprano = ((TimeSpan)horarioActual.HoraFin - horaSalida2).TotalHours; if (horaEntrada1.TotalHours == 0 && horaEntrada2.TotalHours == 0) { horaTemprano = 0; } } //VERIFICA SI ES JORNADA NOCTURNA if (horaEntrada1 >= inicioHora25 && horaEntrada1 <= (unDia + finalHora25) && banderaHorario) { //horaExtra25 = (horaSalida2 - finalHora25).Hours; //TOTAL DE HORAS DE JORNADA NOCTURNA horaExtra25 = ((unDia + horaSalida2) - horaEntrada1).TotalHours; //TOTAL DE HORAS DE JORNADA NOCTURNA if (horaExtra25 > 8) { horaExtra25 = 8; } } //CALCULO DE HORAS EXTRAS if (horaSalida2 > horaEntrada1 && horaSalida2 < finalHora50) { horaTrabajada = (horaSalida2.TotalHours - horaEntrada1.TotalHours); } else { if (horaSalida2 > inicioHora100) { horaTrabajada = (unDia + horaSalida2).TotalHours - horaEntrada1.TotalHours; if (horaSalida2 > (TimeSpan)horarioActual.HoraFin && horaSalida2 <= finalHora100) { horaExtra100 = (horaSalida2 - (TimeSpan)horarioActual.HoraFin).TotalHours; } else { if (horaSalida2 > (TimeSpan)horarioActual.HoraFin && horaSalida2 > inicioHora50 && horaSalida2 <= finalHora50) { horaExtra100 = (inicioHora50 - (TimeSpan)horarioActual.HoraFin).TotalHours; horaExtra50 = (horaSalida2 - inicioHora50).TotalHours; } } } } } //CIERRE TURNO NOCTURNO } else { if (dia_semana == 6 | dia_semana == 7) //REPRESENTA SABADO Y DOMINGO { if (horaEntrada1 != horaSalida2) { //CALCULO DE HORAS EXTRAS if (dia_semana == 6)//SOLO SABADO { if (horaSalida2 > (TimeSpan)horarioActual.HoraIni && horaSalida2 < finalHora50) { horaExtra100 = (horaSalida2 - (TimeSpan)horarioActual.HoraIni).TotalHours; //CALCULA LA SALIDA TEMPRANA if (horaSalida2.TotalHours < (unDia + (TimeSpan)horarioActual.HoraFin).TotalHours) { horaTemprano = ((unDia + (TimeSpan)horarioActual.HoraFin) - horaSalida2).TotalHours; } //CALCULA HORAS TRABAJADAS horaTrabajada = (horaSalida2 - horaEntrada1).TotalHours; } else { if (horaSalida2.Hours > 0) { horaExtra100 = ((unDia + horaSalida2) - (TimeSpan)horarioActual.HoraIni).TotalHours; } Info_dias = List_dias.Where(v => v.Id_dia == 6).FirstOrDefault(); if (Convert.ToInt32(horaExtra100) > Info_dias.sdia_completo_a_partir_de && horaExtra100 <= 8) { horaExtra100 = 8; } //CALCULA LA SALIDA TEMPRANA if (horaSalida2 < (TimeSpan)horarioActual.HoraFin) { horaTemprano = ((TimeSpan)horarioActual.HoraFin - horaSalida2).TotalHours; } //CALCULA HORAS TRABAJADAS horaTrabajada = ((unDia + horaSalida2) - horaEntrada1).TotalHours; } } else { if (dia_semana == 7) //SOLO DOMINGO { if (horaSalida2 > (TimeSpan)horarioActual.HoraIni && horaSalida2 < finalHora50) //SALIDA ANTES DE LAS 24h00 { horaExtra100 = (horaSalida2 - (TimeSpan)horarioActual.HoraIni).TotalHours; Info_dias = List_dias.Where(v => v.Id_dia == 7).FirstOrDefault(); if (Convert.ToInt32(horaExtra100) > Info_dias.sdia_completo_a_partir_de && horaExtra100 <= 8) { horaExtra100 = 8; } //CALCULA LA SALIDA TEMPRANA if (horaSalida2 < (TimeSpan)horarioActual.HoraFin) { horaTemprano = ((TimeSpan)horarioActual.HoraFin - (horaSalida2)).TotalHours; } //CALCULA HORAS TRABAJADAS horaTrabajada = (horaSalida2 - horaEntrada1).TotalHours; } else { //SALIDA DESPUES DE LAS 24h00 } } } } } }//CIERRE DIA DE LA SEMANA //VERIFICA SI EL EMPLEADO ESTA AUTORIZADO PARA COBRAR HORAS EXTRAS if (acreditaRol) { info.hora_extra25 = horaExtra25; info.hora_extra50 = horaExtra50; info.hora_extra100 = horaExtra100; } else { info.hora_extra25 = 0; info.hora_extra50 = 0; info.hora_extra100 = 0; } info.hora_atraso = horaAtraso; info.hora_atraso = 0; info.hora_temprano = horaTemprano; info.hora_trabajada = horaTrabajada; GuardarBD(info, ref mensaje); } return(true); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "pu_CalcularHorasExtras", ex.Message), ex) { EntityType = typeof(ro_Nomina_X_Horas_Extras_Bus) }; } }
public List <ro_nomina_x_horas_extras_det_Info> Get_List_Nomina_X_Horas_Extras(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, ref string msg) { try { List <ro_nomina_x_horas_extras_det_Info> oListado = new List <ro_nomina_x_horas_extras_det_Info>(); using (EntitiesRoles db = new EntitiesRoles()) { var datos = (from a in db.vwro_nomina_x_horas_extras_det where a.IdEmpresa == idEmpresa //&& a.IdNominaTipo == idNominaTipo //&& a.IdNominaTipoLiqui == idNominaTipoLiqui //&& a.IdPeriodo == idPeriodo orderby a.pe_apellido ascending select a); foreach (var info in datos) { ro_nomina_x_horas_extras_det_Info item = new ro_nomina_x_horas_extras_det_Info(); item.IdEmpresa = info.IdEmpresa; item.IdEmpleado = info.IdEmpleado; //item.IdNominaTipo = info.IdNominaTipo; //item.IdNominaTipoLiqui = info.IdNominaTipoLiqui; //item.IdPeriodo = info.IdPeriodo; item.IdCalendario = info.IdCalendario; item.IdTurno = info.IdTurno; item.IdHorario = info.IdHorario; item.FechaRegistro = info.FechaRegistro; item.time_entrada1 = info.time_entrada1; item.time_entrada2 = info.time_entrada2; item.time_salida1 = info.time_salida1; item.time_salida2 = info.time_salida2; item.hora_extra25 = info.hora_extra25; item.hora_extra50 = info.hora_extra50; item.hora_extra100 = info.hora_extra100; item.hora_atraso = info.hora_atraso; item.hora_temprano = info.hora_temprano; item.hora_trabajada = info.hora_trabajada; //VISTA item.pe_nombreCompleto = info.pe_apellido + " " + info.pe_nombre; item.pe_cedulaRuc = info.pe_cedulaRuc; item.ca_descripcion = info.ca_descripcion; item.tu_descripcion = info.tu_descripcion; item.es_HorasExtrasAutorizadas = info.es_HorasExtrasAutorizadas; oListado.Add(item); } } return(oListado); } catch (Exception ex) { string array = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }