public Boolean ModificarDB_POR_ID_CALENDARIO(ro_Empleado_Novedad_Det_Info info) { try { using (EntitiesRoles context = new EntitiesRoles()) { var contact = context.ro_empleado_novedad_det.First(v => v.IdEmpresa == info.IdEmpresa && v.IdEmpleado == info.IdEmpleado && v.IdCalendario == info.IdCalendario && v.IdRubro == info.IdRubro); contact.IdRubro = info.IdRubro; contact.FechaPago = info.FechaPago; contact.Valor = info.Valor; contact.EstadoCobro = info.EstadoCobro; contact.Estado = info.Estado; contact.Observacion = info.Observacion; contact.Num_Horas = info.NumHoras; context.SaveChanges(); mensaje = "Se ha procedido a actualizar la información exitosamente..."; } return(true); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; mensaje = "Error al grabar" + ex.InnerException; return(false); } }
public Boolean ModificarDB(ro_Empleado_Novedad_Det_Info prI, ref string mensaje) { try { using (EntitiesRoles context = new EntitiesRoles()) { var contact = context.ro_empleado_novedad_det.First(VProdu => VProdu.IdEmpresa == prI.IdEmpresa && VProdu.IdNovedad == prI.IdNovedad && VProdu.IdEmpleado == prI.IdEmpleado && VProdu.Secuencia == prI.Secuencia); contact.IdRubro = prI.IdRubro; contact.FechaPago = prI.FechaPago; contact.Valor = prI.Valor; contact.EstadoCobro = prI.EstadoCobro; contact.Estado = prI.Estado; contact.Observacion = prI.Observacion; contact.Num_Horas = prI.NumHoras; contact.IdNomina_tipo = prI.IdNominaLiqui; contact.IdNomina_Tipo_Liq = prI.IdNominaLiqui; context.SaveChanges(); mensaje = "Se ha procedido a actualizar la información exitosamente..."; } return(true); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; mensaje = "Error al grabar" + ex.InnerException; return(false); } }
public double Get_valor_rebaja_Desahucio(int idEmpresa, decimal idEmpleado, string idRubro) { try { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); EntitiesRoles db = new EntitiesRoles(); var datos = from a in db.ro_empleado_novedad_det where a.IdEmpresa == idEmpresa && a.IdEmpleado == idEmpleado && a.IdRubro == idRubro && a.EstadoCobro == "PEN" && a.Estado == "A" select a; if (datos.Count() > 0) { return(datos.FirstOrDefault().Valor); } else { return(0); } } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
private ro_Empleado_Novedad_Info Get_Novedad(ro_descuento_no_planificados_Info info) { try { int secuencia = 0; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_novedad.IdEmpresa = info.IdEmpresa; info_novedad.IdEmpleado = info.IdEmpleado; info_novedad.IdNomina_Tipo = info.IdNomina_Tipo; if (info.lista.Count() > 0) { info_novedad.IdNomina_TipoLiqui = info.lista.FirstOrDefault().IdNomina_Tipo_Liq; } if (info.IdNovedad != null) { info_novedad.IdNovedad = Convert.ToDecimal(info.IdNovedad); } info_novedad.IdUsuario = info.IdUsuario; info_novedad.Fecha = info.Fecha_Incidente; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.TotalValor = info.Valor; info_novedad.Fecha_PrimerPago = info.Fecha_Incidente; info_novedad.NumCoutas = info.lista.Count(); info_novedad.Estado = "A"; foreach (var item in info.lista) { ro_Empleado_Novedad_Det_Info info_det = new ro_Empleado_Novedad_Det_Info(); secuencia++; info_det.IdEmpresa = item.IdEmpresa; info_det.IdNomina = item.IdNomina_Tipo; info_det.IdNominaLiqui = item.IdNomina_Tipo_Liq; info_det.IdEmpleado = item.IdEmpleado; info_det.IdNovedad = info_novedad.IdNovedad; info_det.IdRubro = item.IdRubro; info_det.FechaPago = item.Fecha_Descuento; info_det.EstadoCobro = "PEN"; info_det.Valor = item.Valor; info_det.Observacion = info.Observacion; info_det.Estado = "A"; info_det.Secuencia = secuencia; info_novedad.LstDetalle.Add(info_det); } return(info_novedad); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_x_empleado_Adm_x_periodo_Det_Info> lista) { try { List <ro_Empleado_Novedad_Info> listado_novedades = new List <ro_Empleado_Novedad_Info>(); foreach (var item in lista) { if (item.valor_ganado > 0) { ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_Tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fechaPago; info_novedad.TotalValor = Convert.ToDouble(item.valor_ganado); info_novedad.Fecha_PrimerPago = DateTime.Now; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString(); // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = item.IdRubro; info_detalle.FechaPago = item.fechaPago; info_detalle.Valor = Convert.ToDouble(item.valor_ganado); info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString(); info_novedad.InfoNovedadDet = info_detalle; listado_novedades.Add(info_novedad); } } return(listado_novedades); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public List <ro_Empleado_Novedad_Det_Info> Get_List_Novedad_x_Periodo(int idEmpresa, int idNomina, int idNominaLiqui, DateTime fechaIni, DateTime fechaFin) { try { List <ro_Empleado_Novedad_Det_Info> listado = new List <ro_Empleado_Novedad_Det_Info>(); using (EntitiesRoles db = new EntitiesRoles()) { var sresult = from a in db.vwro_Empleado_Novedades where a.IdEmpresa == idEmpresa && ((a.FechaPago >= fechaIni) && (a.FechaPago <= fechaFin)) && a.IdNomina_Tipo == idNomina && a.IdNomina_TipoLiqui == idNominaLiqui && a.Estado_det == "A" && a.EstadoCobro == "PEN" select a; foreach (var item in sresult) { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); Reg.IdEmpresa = item.IdEmpresa; Reg.IdEmpleado = Convert.ToDecimal(item.IdEmpleado); Reg.IdNomina = item.IdNomina_Tipo; Reg.IdNominaLiqui = item.IdNomina_TipoLiqui; Reg.IdNovedad = item.IdNovedad; Reg.IdRubro = item.IdRubro; Reg.EstadoCobro = (item.EstadoCobro).Trim(); Reg.Fecha = Convert.ToDateTime(item.Fecha); Reg.Valor = item.Valor; Reg.Observacion = item.Observacion; Reg.Secuencia = item.IdTransaccion; Reg.Estado = item.Estado_det; if (Reg.NumHoras != null) { Reg.NumHoras = Convert.ToDouble(item.Num_Horas); } listado.Add(Reg); } } return(listado); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public List <ro_Empleado_Novedad_Det_Info> Get_List_Empleado_Novedad_Det_x_Periodo(int IdEmpresa, decimal IdEmpleado, int idNominaTipo, int idNominaTipoLiqui, string idRubro, DateTime fechaInicio, DateTime fechaFinal, ref string msg) { try { lista = new List <ro_Empleado_Novedad_Det_Info>(); EntitiesRoles db = new EntitiesRoles(); var datos = (from a in db.vwro_Empleado_Novedades join b in db.ro_nomina_tipo_liqui_orden on a.IdRubro equals b.IdRubro where a.IdEmpresa == IdEmpresa && a.IdEmpleado == IdEmpleado && a.IdNomina_Tipo == idNominaTipo && a.IdNomina_TipoLiqui == idNominaTipoLiqui && a.IdRubro == idRubro && (a.FechaPago >= fechaInicio && a.FechaPago <= fechaFinal) select a); foreach (var item in datos) { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); Reg.IdEmpresa = item.IdEmpresa; Reg.IdNovedad = item.IdNovedad; Reg.IdEmpleado = Convert.ToDecimal(item.IdEmpleado); Reg.IdRubro = item.IdRubro; Reg.FechaPago = item.FechaPago; Reg.Valor = item.Valor; Reg.Observacion = item.Observacion; Reg.Estado = item.Estado_det; Reg.EstadoCab = item.Estado; Reg.EstadoCobro = item.EstadoCobro; Reg.em_codigo = item.em_codigo; Reg.em_nombre = item.pe_nombreCompleto.Trim(); Reg.em_cedula = item.pe_cedulaRuc.Trim(); if (Reg.NumHoras != null) { Reg.NumHoras = Convert.ToDouble(item.Num_Horas); } lista.Add(Reg); } return(lista); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public List <ro_Empleado_Novedad_Det_Info> Get_List_Empleado_Novedad_Det_x_Rubro(int idEmpresa, decimal idTransaccion, string idRubro) { try { lista = new List <ro_Empleado_Novedad_Det_Info>(); EntitiesRoles ORol = new EntitiesRoles(); var sresult = (from a in ORol.vwro_Empleado_Novedades where a.IdEmpresa == idEmpresa && a.IdRubro == idRubro && a.IdTransaccion == idTransaccion select a); //where A.IdEmpresa == IdEmpresa && A.IdRubro == idrubro && A.IdNovedad == idNovedad //where A.IdEmpresa == IdEmpresa && A.IdEmpleado == idEmpleado && A.IdNovedad == idNovedad foreach (var item in sresult) { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); Reg.IdEmpresa = item.IdEmpresa; Reg.IdNovedad = item.IdNovedad; Reg.IdEmpleado = Convert.ToDecimal(item.IdEmpleado); Reg.IdRubro = item.IdRubro; Reg.FechaPago = item.FechaPago; Reg.Valor = item.Valor; Reg.Observacion = item.Observacion; Reg.Estado = item.Estado_det; Reg.EstadoCab = item.Estado; Reg.EstadoCobro = item.EstadoCobro; Reg.em_codigo = item.em_codigo; Reg.em_nombre = item.pe_nombreCompleto.Trim(); Reg.em_cedula = item.pe_cedulaRuc.Trim(); if (Reg.NumHoras != null) { Reg.NumHoras = Convert.ToDouble(item.Num_Horas); } lista.Add(Reg); } return(lista); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public bool Modificar_DB(ro_fectividad_Entrega_x_Periodo_Empleado_Info info) { bool ba = false; int idefectividad = 0; decimal id_nov = 0; try { if (data.Modificar_DB(info)) { foreach (var item in info.lista) { item.IdEmpresa = info.IdEmpresa; item.IdNomina_Tipo = info.IdNomina_Tipo; item.IdEfectividad = info.IdEfectividad; item.IdEfectividad = idefectividad; item.IdPeriodo = info.IdPeriodo; } if (data_detalle.Modificar_DB(info.lista)) { foreach (var item in Get_Novedades(info.lista)) { info_detalle = novedad_detalle_bus.get_si_existe_novedad(item.IdEmpresa, item.IdEmpleado, item.IdRubro, item.IdCalendario); if (info_detalle != null) { item.IdNovedad = info_detalle.IdNovedad; ba = bus_novedad.ModificarDB(item); } else { ba = bus_novedad.GrabarDB(item, ref id_nov); } } } } return(ba); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public List <ro_Empleado_Novedad_Det_Info> Get_List_Empleado_Novedad_Det(int IdEmpresa, decimal IdEmpleado, decimal idNovedad, decimal Secuencia) { try { lista = new List <ro_Empleado_Novedad_Det_Info>(); EntitiesRoles ORol = new EntitiesRoles(); var sresult = from A in ORol.vwro_Empleado_Novedades where A.IdEmpresa == IdEmpresa && A.IdEmpleado == IdEmpleado && A.IdNovedad == idNovedad && A.IdTransaccion == Secuencia select A; foreach (var item in sresult) { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); Reg.IdEmpresa = item.IdEmpresa; Reg.IdNovedad = item.IdNovedad; Reg.IdEmpleado = Convert.ToDecimal(item.IdEmpleado); Reg.IdRubro = item.IdRubro; Reg.EstadoCobro = (item.EstadoCobro).Trim(); Reg.ru_tipo = (item.ru_tipo == "I")?"Ingreso":"Egreso"; Reg.FechaPago = item.FechaPago; Reg.Valor = item.Valor; Reg.Observacion = item.Observacion; Reg.Secuencia = item.IdTransaccion; if (Reg.NumHoras != null) { Reg.NumHoras = Convert.ToDouble(item.Num_Horas); } Reg.Estado = item.Estado_det; lista.Add(Reg); } return(lista); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public Boolean ModificarDB_POR_ID_CALENDARIO(ro_Empleado_Novedad_Det_Info info) { try { return(oData.ModificarDB_POR_ID_CALENDARIO(info)); } 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("", "ModificarEstadoCobroDB", ex.Message), ex) { EntityType = typeof(ro_Empleado_Novedad_Det_Bus) }; } }
public Boolean AnularDB(ro_Empleado_Novedad_Det_Info info) { try { return(oData.AnularDB(info)); } 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("", "AnularDB", ex.Message), ex) { EntityType = typeof(ro_Empleado_Novedad_Det_Bus) }; } }
public Boolean ModificarDB(ro_Empleado_Novedad_Det_Info prI, ref string mensaje) { try { return(oData.ModificarDB(prI, ref mensaje)); } 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("", "ModificarDB", ex.Message), ex) { EntityType = typeof(ro_Empleado_Novedad_Det_Bus) }; } }
public ro_Empleado_Novedad_Info Get_novedad_info(ro_Remplazo_x_emplado_Info info) { try { ro_Empleado_Novedad_Info novedad_info = new ro_Empleado_Novedad_Info(); novedad_info.IdEmpresa = info.IdEmpresa; novedad_info.IdEmpleado = info.IdEmpleado; novedad_info.IdNomina_Tipo = (int)info.IdNomina_Tipo; novedad_info.Fecha = (DateTime)info.Fecha_descuenta_rol; novedad_info.TotalValor = info.Total_pagar_remplazo; novedad_info.Fecha_PrimerPago = (DateTime)info.Fecha_descuenta_rol; novedad_info.NumCoutas = 1; novedad_info.Fecha_Transac = DateTime.Now; novedad_info.IdUsuario = info.IdUsuario; novedad_info.Estado = "A"; novedad_info.IdCalendario = info.IdPeriodo.ToString(); novedad_info.IdNomina_Tipo = (int)info.IdNomina_Tipo; novedad_info.IdNomina_TipoLiqui = (int)info.IdNomina_TipoLiqui; novedad_info.IdUsuario = info.IdUsuario; if (info.IdNovedad != null) { novedad_info.IdNovedad = (decimal)info.IdNovedad; } // creo el detalle de la novedad. ro_Empleado_Novedad_Det_Info Novedad_detalle_info = new ro_Empleado_Novedad_Det_Info(); Novedad_detalle_info.IdEmpleado = info.IdEmpresa; Novedad_detalle_info.IdEmpleado = info.IdEmpleado; Novedad_detalle_info.Secuencia = 1; Novedad_detalle_info.IdRubro = info.IdRubro; Novedad_detalle_info.Valor = info.Total_pagar_remplazo; Novedad_detalle_info.EstadoCobro = "PEN"; Novedad_detalle_info.Estado = "A"; Novedad_detalle_info.IdCalendario = info.IdPeriodo.ToString(); Novedad_detalle_info.Observacion = info.Observacion; novedad_info.InfoNovedadDet = Novedad_detalle_info; // novedad_info.InfoNovedadDet return(novedad_info); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public ro_Empleado_Novedad_Det_Info get_si_existe_novedad(int idEmpresa, decimal idEmpleado, string idRubro, string idcalendario) { try { ro_Empleado_Novedad_Det_Info Reg = new ro_Empleado_Novedad_Det_Info(); EntitiesRoles db = new EntitiesRoles(); var datos = from a in db.ro_empleado_novedad_det where a.IdEmpresa == idEmpresa && a.IdEmpleado == idEmpleado && a.IdRubro == idRubro && a.IdCalendario == idcalendario select a; foreach (var item in datos) { Reg.IdEmpresa = item.IdEmpresa; Reg.IdNovedad = item.IdNovedad; Reg.IdEmpleado = Convert.ToDecimal(item.IdEmpleado); Reg.Secuencia = item.Secuencia; Reg.IdRubro = item.IdRubro; Reg.EstadoCobro = (item.EstadoCobro).Trim(); Reg.FechaPago = item.FechaPago; Reg.Valor = item.Valor; Reg.Observacion = item.Observacion; Reg.Estado = item.Estado; Reg.EstadoCobro = item.EstadoCobro; if (Reg.NumHoras != null) { Reg.NumHoras = Convert.ToDouble(item.Num_Horas); } } return(Reg); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public Boolean GrabarDB(ro_Empleado_Novedad_Det_Info ro_info, ref string mensaje) { try { using (EntitiesRoles context = new EntitiesRoles()) { EntitiesRoles EDB = new EntitiesRoles(); var address = new ro_empleado_novedad_det(); address.IdEmpresa = ro_info.IdEmpresa; address.IdNovedad = ro_info.IdNovedad; address.IdEmpleado = ro_info.IdEmpleado; address.Secuencia = ro_info.Secuencia; address.FechaPago = ro_info.FechaPago; address.Valor = ro_info.Valor; address.EstadoCobro = "PEN"; address.Estado = "A"; address.Observacion = ro_info.Observacion; address.IdRubro = ro_info.IdRubro; address.IdCalendario = ro_info.IdCalendario; address.Num_Horas = ro_info.NumHoras; address.IdNomina_tipo = ro_info.IdNomina; address.IdNomina_Tipo_Liq = ro_info.IdNominaLiqui; context.ro_empleado_novedad_det.Add(address); context.SaveChanges(); mensaje = "Se ha procedido a grabar la información exitosamente..."; return(true); } } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
private void ucGe_Menu_event_btnGuardar_y_Salir_Click(object sender, EventArgs e) { ucGe_Menu.Focus(); detalle_actaualizar = new List <ro_Empleado_Novedad_Det_Info>(); foreach (var item in detalle) { ro_Empleado_Novedad_Det_Info info = new ro_Empleado_Novedad_Det_Info(); info.IdEmpresa = item.IdEmpresa; info.IdEmpleado = item.IdEmpleado; info.IdNovedad = item.IdNovedad; info.Secuencia = Convert.ToInt32(item.Secuencia); info.FechaPago = item.InfoNovedadDet.FechaPago; info.EstadoCobro = "PEN"; bus_novedad_det.ModificarDB(info); } MessageBox.Show("Registros actualizados correctamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); }
public Boolean Modificar_Nov(ro_Empleado_Novedad_Info info) { try { using (EntitiesRoles context = new EntitiesRoles()) { double total = 0; var contact = context.ro_empleado_Novedad.First(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdNovedad == info.IdNovedad && minfo.IdEmpleado == info.IdEmpleado); var q = from C in context.ro_empleado_novedad_det where C.IdEmpresa == info.IdEmpresa && C.IdEmpleado == info.IdEmpleado && C.IdNovedad == info.IdNovedad select C; foreach (var item in q) { ro_Empleado_Novedad_Det_Info Obj = new ro_Empleado_Novedad_Det_Info(); Obj.Valor = item.Valor; total = total + Obj.Valor; } contact.MotivoModiica = info.MotivoModifica; contact.TotalValor = total; context.SaveChanges(); } return(true); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public Boolean EliminarDB(ro_Empleado_Novedad_Det_Info prI, ref string mensaje) { try { using (EntitiesRoles context = new EntitiesRoles()) { var S = context.Database.ExecuteSqlCommand("Delete from dbo.ro_empleado_novedad_det where IdEmpresa =" + prI.IdEmpresa + "AND IdNovedad =" + prI.IdNovedad + "AND IdEmpleado =" + prI.IdEmpleado + "AND secuencia =" + prI.Secuencia); } return(true); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
public Boolean GrabarDB_SaldosNegativos(ro_Empleado_Novedad_Info info, ref decimal IdNovedad) { try { string msg = ""; int secu = 0; info.TotalValor = info.TotalValor * -1; if (oData.GrabarDB(info, ref IdNovedad)) { ro_Empleado_Novedad_Det_Info item = new ro_Empleado_Novedad_Det_Info(); item.IdNovedad = IdNovedad; item.Secuencia = 1; item.IdNovedad = IdNovedad; item.IdEmpresa = info.IdEmpresa; item.IdEmpleado = info.IdEmpleado; item.IdNomina = info.IdNomina_Tipo; item.IdNominaLiqui = info.IdNomina_TipoLiqui; item.IdRubro = info.IdRubro; item.EstadoCobro = "PEN"; item.Estado = "A"; item.Observacion = "Esta novedad fue generada por saldo negativo"; item.FechaPago = info.Fecha_PrimerPago; item.Fecha = DateTime.Now; item.IdCalendario = info.IdCalendario; item.Fecha = info.Fecha; item.Valor = info.TotalValor; novedad_detalle_bus.GrabarDB(item, ref msg); } 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("", "GrabarDB", ex.Message), ex) { EntityType = typeof(ro_Empleado_Novedad_Bus) }; } }
public bool Modificar_DB(ro_fectividad_Entrega_x_Periodo_Empleado_Info info) { bool ba = false; decimal id_nov = 0; try { if (data.Modificar_DB(info)) { var ro_fectividad_Entrega_tipoServicio_info = ro_fectividad_Entrega_tipoServicio_Data.Get_Info(info.IdEmpresa, (int)info.IdServicioTipo); if (ro_fectividad_Entrega_tipoServicio_info.Genera_novedad == true) { foreach (var item in Get_Novedades(info.lista, Convert.ToInt32(info.IdServicioTipo))) { info_detalle = novedad_detalle_bus.get_si_existe_novedad(item.IdEmpresa, item.IdEmpleado, item.IdRubro, item.IdCalendario); if (info_detalle != null) { item.IdNovedad = info_detalle.IdNovedad; ba = bus_novedad.ModificarDB(item); } else { ba = bus_novedad.GrabarDB(item, ref id_nov); } } } } return(ba); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public bool Modificar_DB(ro_fectividad_x_empleado_Adm_x_periodo_Info info) { bool bandera = false; decimal id_nov = 0; try { if (data.Modificar_DB(info)) { if (Bus_Detalle.Modificar_DB(info.detalle)) { foreach (var item in Get_Novedades(info.detalle)) { info_detalle = bus_detalle_novedad.get_si_existe_novedad(item.IdEmpresa, item.IdEmpleado, item.IdRubro, item.IdCalendario); if (info_detalle != null) { item.IdNovedad = info_detalle.IdNovedad; bandera = bus_novedad.ModificarDB(item); } else { bandera = bus_novedad.GrabarDB(item, ref id_nov); } } } } return(bandera); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public Boolean AnularDB(ro_Empleado_Novedad_Det_Info info) { try { using (EntitiesRoles context = new EntitiesRoles()) { var contact = context.ro_empleado_novedad_det.First(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdNovedad == info.IdNovedad && minfo.IdRubro == info.IdRubro && minfo.IdEmpleado == info.IdEmpleado && minfo.Secuencia == info.Secuencia); contact.Estado = "I"; contact.Observacion = info.Observacion; context.SaveChanges(); } return(true); } catch (Exception ex) { string arreglo = 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(), "", arreglo, "", "", "", "", "", DateTime.Now); mensaje = ex.InnerException + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(ex.InnerException.ToString()); } }
private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_Entrega_x_Periodo_Empleado_Det_Info> lista) { try { List <ro_Empleado_Novedad_Info> listado_novedades = new List <ro_Empleado_Novedad_Info>(); ero_parametro_x_pago_variable_tipo tipo_variable = new ero_parametro_x_pago_variable_tipo(); ro_Grupo_empleado_det_Info info_grupo_detalle = new ro_Grupo_empleado_det_Info(); foreach (var item in lista) { string IdRubro = ""; double Valor_ganado = 0; #region EFEC_ENTRE if (item.Efectividad_Entrega_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString(); // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString(); info_novedad.InfoNovedadDet = info_detalle; listado_novedades.Add(info_novedad); } #endregion #region EFEC_ENTRE if (item.Efectividad_Entrega_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString(); // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString(); info_novedad.InfoNovedadDet = info_detalle; listado_novedades.Add(info_novedad); } #endregion #region EFEC_VOL if (item.Efectividad_Entrega_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString(); // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString(); info_novedad.InfoNovedadDet = info_detalle; listado_novedades.Add(info_novedad); } #endregion } return(listado_novedades); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public void AsignarValor_Novedad() { BanderaSiPeriodoProcesado = false; ListaNovedadesGrabarCab = new List <ro_Empleado_Novedad_Info>(); listaNovedadGrabar_Detalle_TMP = new List <ro_Empleado_Novedad_Det_Info>(); int Sec_Detalle = 0, IdNomina_TipoLiqui = 0; DateTime Fecha_PrimerPago = DateTime.Now; listaNovedadGrabar_Detalle = new List <ro_Empleado_Novedad_Det_Info>(); try { NumeroPeriodoNominaMensual = ListadoPeriodosMensual.Where(v => v.check == true).Count(); NumeroPeriodoNominaSemanal = ListadoPeriodosSemanal.Where(v => v.check == true).Count(); // recoro mi lista obtenida desde excell foreach (var item in lista) { Sec_Detalle = 0; if (item.existeerror != "ERROR")// solo tomo a los empleado que existen en la base { listaNovedadGrabar_Detalle = new List <ro_Empleado_Novedad_Det_Info>(); ListaNovedadesGraba_x_empleado = new List <ro_Novedad_x_Empleado_Info>(); // para crear la lista detalle de novedad InfoNovedadGrabarDetalle = new ro_Empleado_Novedad_Det_Info(); ValorNovedad = 0; // llenar la lista para la tabla ro_Empleado_Novedad_Det if (item.IdNomina == 2) // pregunto si es nomina semanal { ValorNovedad = Math.Round(item.Valor / NumeroPeriodoNominaSemanal, 2); // obtego el valor de novedad en caso de ser nomina semanal foreach (var item_P in ListadoPeriodosSemanal.Where(v => v.check == true).ToList()) { if (item_P.Procesado == "S") { BanderaSiPeriodoProcesado = true; PeriodoProcesado = item_P.IdPeriodo.ToString(); } Sec_Detalle = Sec_Detalle + 1; IdNomina_TipoLiqui = item_P.IdNomina_TipoLiqui; if (Sec_Detalle == 1) { Fecha_PrimerPago = item_P.pe_FechaIni; } InfoNovedadGrabarDetalle = new ro_Empleado_Novedad_Det_Info(); InfoNovedadGrabarDetalle.em_cedula = item.em_cedula; InfoNovedadGrabarDetalle.Nombre = item.Nombre; InfoNovedadGrabarDetalle.Apellidos = item.Apellidos; InfoNovedadGrabarDetalle.Nomina = item.Nomina; InfoNovedadGrabarDetalle.em_nombre = item.em_nombre; InfoNovedadGrabarDetalle.IdEmpresa = param.IdEmpresa; InfoNovedadGrabarDetalle.IdNovedad = 0; InfoNovedadGrabarDetalle.IdEmpleado = item.IdEmpleado; InfoNovedadGrabarDetalle.Secuencia = Sec_Detalle; InfoNovedadGrabarDetalle.IdRol = ""; InfoNovedadGrabarDetalle.IdRubro = ""; InfoNovedadGrabarDetalle.FechaPago = item_P.pe_FechaIni.AddDays(1); InfoNovedadGrabarDetalle.Valor = ValorNovedad; InfoNovedadGrabarDetalle.EstadoCobro = "PEN"; InfoNovedadGrabarDetalle.Observacion = cmbNovedad.Text; InfoNovedadGrabarDetalle.Estado = "A"; InfoNovedadGrabarDetalle.IdRubro = Convert.ToString(cmbNovedad.EditValue); InfoNovedadGrabarDetalle.IdCalendario = IdCalendario; listaNovedadGrabar_Detalle.Add(InfoNovedadGrabarDetalle); listaNovedadGrabar_Detalle_TMP.Add(InfoNovedadGrabarDetalle); // creo la lista para la tabla ro_Novedad_x_Empleado } } else { ValorNovedad = Math.Round(item.Valor / NumeroPeriodoNominaMensual, 2);// obtego el valor de novedad en caso de ser nomina mensual foreach (var item_P in ListadoPeriodosMensual.Where(v => v.check == true).ToList()) { if (item_P.Procesado == "S") { BanderaSiPeriodoProcesado = true; PeriodoProcesado = item_P.IdPeriodo.ToString(); } Sec_Detalle = Sec_Detalle + 1; if (Sec_Detalle == 1) { Fecha_PrimerPago = item_P.pe_FechaIni; } IdNomina_TipoLiqui = item_P.IdNomina_TipoLiqui; InfoNovedadGrabarDetalle = new ro_Empleado_Novedad_Det_Info(); InfoNovedadGrabarDetalle.em_cedula = item.em_cedula; InfoNovedadGrabarDetalle.Nombre = item.Nombre; InfoNovedadGrabarDetalle.Apellidos = item.Apellidos; InfoNovedadGrabarDetalle.Nomina = item.Nomina; InfoNovedadGrabarDetalle.em_nombre = item.em_nombre; InfoNovedadGrabarDetalle.IdEmpresa = param.IdEmpresa; InfoNovedadGrabarDetalle.IdNovedad = 0; InfoNovedadGrabarDetalle.IdEmpleado = item.IdEmpleado; InfoNovedadGrabarDetalle.Secuencia = Sec_Detalle; InfoNovedadGrabarDetalle.IdRol = ""; InfoNovedadGrabarDetalle.IdRubro = ""; InfoNovedadGrabarDetalle.FechaPago = item_P.pe_FechaIni.AddDays(1); InfoNovedadGrabarDetalle.Valor = ValorNovedad; InfoNovedadGrabarDetalle.EstadoCobro = "PEN"; InfoNovedadGrabarDetalle.Observacion = cmbNovedad.Text; InfoNovedadGrabarDetalle.Estado = "A"; InfoNovedadGrabarDetalle.IdRubro = Convert.ToString(cmbNovedad.EditValue); InfoNovedadGrabarDetalle.IdCalendario = IdCalendario; listaNovedadGrabar_Detalle.Add(InfoNovedadGrabarDetalle); listaNovedadGrabar_Detalle_TMP.Add(InfoNovedadGrabarDetalle); // creo la lista para la tabla ro_Novedad_x_Empleado } } // creo la lista para la tabla ro_Empleado_Novedad InfoNovedadGrabarCAB = new ro_Empleado_Novedad_Info(); InfoNovedadGrabarCAB.IdEmpresa = param.IdEmpresa; InfoNovedadGrabarCAB.IdNovedad = Convert.ToInt32(cmbNovedad.EditValue); InfoNovedadGrabarCAB.IdEmpleado = item.IdEmpleado; InfoNovedadGrabarCAB.IdNomina_Tipo = item.IdNomina; InfoNovedadGrabarCAB.IdNomina_TipoLiqui = IdNomina_TipoLiqui; InfoNovedadGrabarCAB.Fecha = Fecha_Excle; InfoNovedadGrabarCAB.TotalValor = item.Valor; InfoNovedadGrabarCAB.Fecha_PrimerPago = Fecha_PrimerPago; InfoNovedadGrabarCAB.NumCoutas = Sec_Detalle; InfoNovedadGrabarCAB.IdUsuario = param.IdUsuario; InfoNovedadGrabarCAB.Fecha_Transac = DateTime.Now; InfoNovedadGrabarCAB.IdCalendario = IdCalendario; // asigno los detalle a la cabecera InfoNovedadGrabarCAB.LstDetalle = listaNovedadGrabar_Detalle; // InfoNovedadGrabarCAB.lstNovedadEmpleado = ListaNovedadesGraba_x_empleado; ListaNovedadesGrabarCab.Add(InfoNovedadGrabarCAB); } gridControlNovedades.DataSource = listaNovedadGrabar_Detalle_TMP; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); Log_Error_bus.Log_Error(ex.ToString()); } }
// llenar grid con datos hoja seleccionada public void GetListaDelExcel(string RutaFile) { lista = new List <ro_Empleado_Novedad_Det_Info>(); int Secuencia = 0; try { // leo el excel OleDbConnectionStringBuilder cb = new OleDbConnectionStringBuilder(); cb.DataSource = RutaFile; if (Path.GetExtension(cb.DataSource).ToUpper() == ".XLS") { cb.Provider = "Microsoft.Jet.OLEDB.4.0"; cb.Add("Extended Properties", "Excel 8.0;HDR=YES;IMEX=0;"); } else if (Path.GetExtension(cb.DataSource).ToUpper() == ".XLSX") { cb.Provider = "Microsoft.ACE.OLEDB.12.0"; cb.Add("Extended Properties", "Excel 12.0 Xml;HDR=YES;IMEX=0;"); } using (OleDbConnection conexion = new OleDbConnection(cb.ConnectionString)) { string Hoja = LimpiarCadena(cmbHoja.Text); conexion.Open(); string Sql = "SELECT Cedula,Nombre,Concepto,sum(Valor),Fecha " + "FROM [" + Hoja + "$] where Valor > 0 " + "group by Cedula,Nombre,Concepto,Fecha"; OleDbCommand Cmd = new OleDbCommand(Sql, conexion); OleDbDataReader Reader = Cmd.ExecuteReader(); while (Reader.Read()) { Secuencia = Secuencia + 1; string Cedula = ""; ro_Empleado_Novedad_Det_Info Info = new ro_Empleado_Novedad_Det_Info(); if (Reader.IsDBNull(0) == false) { // verifico si empleado existe en la base Cedula = Reader.GetString(0); if (Cedula.Length == 9) { Cedula = "0" + Cedula; } ro_Empleado_Info emp = new ro_Empleado_Info(); try { emp = lstTodosEmp.First(var => var.InfoPersona.pe_cedulaRuc == Cedula); } catch (Exception) { } if (emp.IdEmpleado != 0 && emp.IdEmpleado != null)// si existe en la base { Info.IdEmpresa = param.IdEmpresa; Info.IdEmpleado = emp.IdEmpleado; Info.em_codigo = emp.em_codigo; Info.em_cedula = emp.InfoPersona.pe_cedulaRuc; Info.em_nombre = emp.NomCompleto; Info.EstadoCobro = "PEN"; Info.Estado = "A"; Info.existeerror = "N"; Info.Valor = Reader.GetDouble(3); Info.Fecha_Excel = Reader.GetDateTime(4); Fecha_Excle = Info.Fecha_Excel; Info.IdNovedad = Secuencia; Info.IdNomina = emp.IdNomina_Tipo; Info.Nomina = emp.Nomina; Info.Nombre = emp.InfoPersona.pe_nombre; Info.Apellidos = emp.InfoPersona.pe_apellido; } else { Info.IdEmpresa = param.IdEmpresa; Info.IdEmpleado = 0; Info.em_cedula = Reader.GetString(0); Info.em_codigo = ""; Info.em_nombre = Reader.GetString(1); Info.EstadoCobro = "PEN"; Info.Estado = "I"; Info.existeerror = "ERROR"; Info.Observacion = "Empleado no existe en la Base ó Ya fue Liquidado"; Info.IdNovedad = Secuencia; Info.Nomina = ""; Info.Valor = Reader.GetDouble(3); Info.IdNomina = emp.IdNomina_Tipo; } lista.Add(Info); } } // obtengo idCalendario InfoCalendario = Bus_Calendario.Get_Info_Calendario(Convert.ToDateTime(Fecha_Excle)); IdCalendario = InfoCalendario.IdCalendario.ToString(); Reader.Close(); conexion.Close(); } } catch (Exception ex) { Bandera_ValidarPagina = false; MessageBox.Show(ex.ToString()); Log_Error_bus.Log_Error(ex.ToString()); } }
public bool GuardarNovedad(List <ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info> lista) { try { decimal id_nov = 0; ro_Empleado_Novedad_Bus BUS_NOVEDAD = new ro_Empleado_Novedad_Bus(); info_parametro = bus_parametros.Get_info(param.IdEmpresa); foreach (var item in lista) { if (item.Max_num_horas_sab_dom > 1 && item.Calculo_Horas_extras_Sobre >= 160) { // creo la cabecera de la novedad ro_Empleado_Novedad_Info info = new ro_Empleado_Novedad_Info(); ro_Empleado_Novedad_Det_Info info_Detalle = new ro_Empleado_Novedad_Det_Info(); info.IdEmpresa = item.IdEmpresa; info.IdEmpleado = item.IdEmpleado; info.IdNomina_Tipo = item.IdTipoNomina; info.IdNomina_TipoLiqui = item.IdNomina_tipo; info.TotalValor = (Convert.ToDouble(item.SueldoActual / item.Calculo_Horas_extras_Sobre) * 2) * item.Max_num_horas_sab_dom; if (Convert.ToDateTime(item.es_fecha_registro).Day > info_parametro.Corte_Horas_extras) { info.Fecha_PrimerPago = item.FechaPago.AddMonths(1); info.Fecha = item.FechaPago; } else { info.Fecha_PrimerPago = item.FechaPago; info.Fecha = item.es_fecha_registro; } info.NumCoutas = 1; info.Num_Horas = item.Max_num_horas_sab_dom; info.Fecha_Transac = DateTime.Now; info.IdUsuario = param.IdUsuario; info.IdCalendario = item.es_fecha_registro.Year.ToString() + item.es_fecha_registro.Month.ToString().PadLeft(2, '0') + item.es_fecha_registro.Day.ToString().PadLeft(2, '0'); info.IdPeriodo = item.IdPeriodo; // creo el detalle info_Detalle.IdEmpleado = param.IdEmpresa; info_Detalle.IdEmpleado = item.IdEmpleado; info_Detalle.Secuencia = 1; info_Detalle.IdRubro = "9"; if (Convert.ToDateTime(item.es_fecha_registro).Day >= info_parametro.Corte_Horas_extras) { info_Detalle.FechaPago = item.es_fecha_registro.AddMonths(1); } else { info_Detalle.FechaPago = item.FechaPago; } info_Detalle.Valor = (Convert.ToDouble(item.SueldoActual / item.Calculo_Horas_extras_Sobre) * 2) * item.Max_num_horas_sab_dom; info_Detalle.EstadoCobro = "PEN"; info_Detalle.Observacion = "Horas extras al 100% correspondiente al" + item.es_fecha_registro.ToString().Substring(0, 10); info_Detalle.NumHoras = item.Max_num_horas_sab_dom; info_Detalle.Estado = "A"; info_Detalle.IdCalendario = item.es_fecha_registro.Year.ToString() + item.es_fecha_registro.Month.ToString().PadLeft(2, '0') + item.es_fecha_registro.Day.ToString().PadLeft(2, '0'); info_Detalle.IdPeriodos = item.IdPeriodo; info.InfoNovedadDet = info_Detalle; BUS_NOVEDAD.GrabarDB(info, ref id_nov); } } data.ModificarDB(lista);// modifico el valor de estado aprobado return(true); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_Entrega_x_Periodo_Empleado_Det_Info> lista, int TipoServicio) { try { ro_fectividad_Entrega_tipoServicio_Data odata_servicio = new ro_fectividad_Entrega_tipoServicio_Data(); var info_servicio = odata_servicio.Get_Info(param.IdEmpresa, TipoServicio); List <ro_Empleado_Novedad_Info> listado_novedades = new List <ro_Empleado_Novedad_Info>(); ero_parametro_x_pago_variable_tipo tipo_variable = new ero_parametro_x_pago_variable_tipo(); ro_Grupo_empleado_det_Info info_grupo_detalle = new ro_Grupo_empleado_det_Info(); foreach (var item in lista) { #region SI LA VARIABLE ES VEVIDAS if (info_servicio.ts_codigo == etipoServicio.BEBIDAS.ToString()) { #region EFEC_ENTRE if (item.Efectividad_Entrega_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo + "VB"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo + "VB"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion #region EFEC_ENTRE if (item.Recuperacion_cartera_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.REC_CAR; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString() + "VB"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = (item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString() + "VB"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion #region EFEC_VOL if (item.Efectividad_Volumen_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; info_novedad.TotalValor = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;; info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString() + "VB"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; info_detalle.Valor = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString() + "VB"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion } #endregion #region SI LA VARIABLE ES ALIMENTOS if (info_servicio.ts_codigo == etipoServicio.ALIMENTOS.ToString()) { #region EFEC_ENTRE if (item.Efectividad_Entrega_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE_ALIM; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; if (item.Efectividad_Entrega_aplica <= 1) { info_novedad.TotalValor = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; } else { info_novedad.TotalValor = item.Efectividad_Entrega_aplica; } info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo + "VA"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; if (item.Efectividad_Entrega_aplica <= 1) { info_detalle.Valor = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; } else { info_detalle.Valor = item.Efectividad_Entrega_aplica; } info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo + "VA"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion #region EFEC_ENTRE if (item.Recuperacion_cartera_aplica > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.REC_CAR_ALIM; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; if (item.Recuperacion_cartera_aplica <= 1) { info_novedad.TotalValor = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo; } else { info_novedad.TotalValor = item.Recuperacion_cartera_aplica; } info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString() + "VA"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; if (item.Recuperacion_cartera_aplica <= 1) { info_detalle.Valor = (item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; } else { info_detalle.Valor = item.Recuperacion_cartera_aplica; } info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString() + "VA"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion #region EFEC_VOL if (item.Efectividad_Volumen > 0) { tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL_ALIM; ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info(); info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault(); info_novedad.IdEmpresa = item.IdEmpresa; info_novedad.IdNomina_Tipo = item.IdNomina_Tipo; info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq; info_novedad.IdEmpleado = item.IdEmpleado; info_novedad.Fecha = item.fecha_Pago; if (item.Efectividad_Volumen_aplica <= 1) { info_novedad.TotalValor = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; } else { info_novedad.TotalValor = item.Efectividad_Volumen_aplica; } info_novedad.Fecha_PrimerPago = item.fecha_Pago; info_novedad.NumCoutas = 1; info_novedad.IdUsuario = param.IdUsuario; info_novedad.Fecha_Transac = DateTime.Now; info_novedad.Estado = "A"; info_novedad.IdCalendario = item.IdPeriodo.ToString() + "VA"; // detalle de la novedad ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info(); info_detalle.IdEmpresa = item.IdEmpresa; info_detalle.IdEmpleado = item.IdEmpleado; info_detalle.Secuencia = 1; info_detalle.IdRol = null; info_detalle.IdRubro = info_grupo_detalle.IdRubro; info_detalle.FechaPago = item.fecha_Pago; if (item.Efectividad_Volumen_aplica <= 1) { info_detalle.Valor = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje; } else { info_detalle.Valor = item.Efectividad_Volumen_aplica; } info_detalle.Observacion = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo; info_detalle.EstadoCobro = "PEN"; info_detalle.Estado = "A"; info_detalle.IdCalendario = item.IdPeriodo.ToString() + "VA"; info_novedad.InfoNovedadDet = info_detalle; info_novedad.LstDetalle.Add(info_detalle); listado_novedades.Add(info_novedad); } #endregion } #endregion } return(listado_novedades); } catch (Exception ex) { mensaje = ex.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(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }
public List <ro_Empleado_Novedad_Det_Info> Get_list_Horas_Extras(List <ro_marcaciones_x_Jornada_Info> lista, double Suel_Actual) { try { info_parametro = bus_parametros_calculo_horas_extras.Get_info(param.IdEmpresa); List <ro_Empleado_Novedad_Det_Info> lista_novedad_detalle = new List <ro_Empleado_Novedad_Det_Info>(); // recorro las marcaciones y sumo las horas extras del 25%, 50%, 100% foreach (var item in lista) { if (item.IdEmpleado == 28) { } Horas_25 = 0; Horas_50 = 0; Horas_100 = 0; horas = 0; minutos = 0; Horas_tmp = 0; es_hora = new TimeSpan(); IdEmpleado = item.IdEmpleado; fecha_pago = Convert.ToDateTime(item.es_fechaRegistro); Nombre = item.pe_NombreCompleto; Cedula = item.pe_cedula; int dia_Semana = (int)Convert.ToDateTime(item.es_fechaRegistro).DayOfWeek; if (((TimeSpan)item.es_Hora_ingreso_jornada2).Hours == 0)// si tiene una sola jornada le resto la hora de almuerzo { if (dia_Semana == 6 || dia_Semana == 0 || item.EsFeriado == "S") { if (item.es_tot_horasTrabajadas >= 1) { if (item.es_tot_horasTrabajadas > 9) { item.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas - 1; } else { item.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas; } } } else { item.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas - 1; horas = ((TimeSpan)item.es_Hora_ingreso_jornada1).Hours; minutos = ((TimeSpan)item.es_Hora_ingreso_jornada1).Minutes; item.es_Hora_ingreso_jornada1 = new TimeSpan(horas, minutos, 0); } } if (dia_Semana == 6 || dia_Semana == 0 || item.EsFeriado == "S")// sumo las horas trabajadas al 100% correspondiente al sabado y domingo { Horas_100 = item.es_tot_horasTrabajadas; } else { if (item.es_tot_horasTrabajadas > 0)// si trabajo mas de ocho horas { #region Horas al 100% de 00:00 a 06:00 if (((TimeSpan)item.es_Hora_ingreso_jornada2).Hours == 0)//si trabajo una sola jornada y tiene horas al 100% de 00:00 a 06:00 { if ( (item.es_Hora_ingreso_jornada1 > inicioHora100 && item.es_Hora_ingreso_jornada1 < finalHora100) || (item.es_Hora_salida_jornada1 > inicioHora100 && item.es_Hora_salida_jornada1 < finalHora100) || (item.es_Hora_ingreso_jornada1 > inicioHora100 && item.es_Hora_ingreso_jornada1 > finalHora100 && ((TimeSpan)item.es_Hora_ingreso_jornada1).Hours > 12) ) { Horas_100 = Get_Horas_100_x_dia(item);// calculo de horas al 100% } } else// si tiene doble jornada { } #endregion #region Horas al 50% de 18:00 a 24:00 if (((TimeSpan)item.es_Hora_ingreso_jornada2).Hours == 0)// tiene horas al 50% de 06:00h a 24:00h en una sola jornada { if ((item.es_Hora_ingreso_jornada1 > inicioHora50 && item.es_Hora_ingreso_jornada1 < finalHora50) || (item.es_Hora_salida_jornada1 > inicioHora50 && item.es_Hora_salida_jornada1 < finalHora50) || (item.es_Hora_ingreso_jornada1 > inicioHora50 && item.es_Hora_ingreso_jornada1 > finalHora50) ) { Horas_50 = Get_Horas_50_x_dia(item);// calculo de horas al 50% } } else// si tiene horas al 50% y trabajo dos jornadas { if (((item.es_Hora_ingreso_jornada1 > inicioHora50 && item.es_Hora_ingreso_jornada1 < finalHora50) || (item.es_Hora_salida_jornada1 > inicioHora50 && item.es_Hora_salida_jornada1 < finalHora50) || (item.es_Hora_ingreso_jornada1 > inicioHora50 && item.es_Hora_ingreso_jornada1 > finalHora50)) || ((item.es_Hora_ingreso_jornada2 > inicioHora50 && item.es_Hora_ingreso_jornada2 < finalHora50) || (item.es_Hora_salida_jornada2 > inicioHora50 && item.es_Hora_salida_jornada2 < finalHora50) || (item.es_Hora_ingreso_jornada2 > inicioHora50 && item.es_Hora_ingreso_jornada2 > finalHora50)) ) { Horas_50 = Get_Horas_50_x_dia_con_dos_jornadas(item);// calculo de horas al 50% con doble jornada } } #endregion #region Horas al 25% de 19:00 a 06:00 if (((TimeSpan)item.es_Hora_ingreso_jornada2).Hours == 0) // tiene horas al 25% de 19:00h a 06:00h en una sola jornada { // tiene horas al 25% de 19:00h a 06:00h en la jornada 1 if ((item.es_Hora_ingreso_jornada1 >= inicioHora25 && item.es_Hora_ingreso_jornada1 <= finalHora25) || (item.es_Hora_salida_jornada1 >= inicioHora25 && item.es_Hora_salida_jornada1 <= finalHora25) || (item.es_Hora_ingreso_jornada1 >= inicioHora25 && item.es_Hora_ingreso_jornada1 >= finalHora25) || (item.es_Hora_ingreso_jornada1 <= inicioHora25 && item.es_Hora_ingreso_jornada1 >= finalHora25 && ((TimeSpan)item.es_Hora_ingreso_jornada1).Hours > 12) ) { if (((TimeSpan)item.es_Hora_ingreso_jornada1).Hours > 0) { if (dia_Semana != 6 && dia_Semana != 7) { Horas_25 = Get_Horas_25_x_dia(item); // calculo de horas al 25% } } } } else { } #endregion } } // creo las novedades if (info_parametro.Se_calcula_horas_Extras_al100) { if (Horas_100 > 0)// si es que tiene horas al 100% { ro_Empleado_Novedad_Det_Info info_novedad_100 = new ro_Empleado_Novedad_Det_Info(); info_novedad_100.IdEmpresa = param.IdEmpresa; info_novedad_100.IdEmpleado = IdEmpleado; info_novedad_100.Nombre = Nombre; info_novedad_100.em_cedula = Cedula; info_novedad_100.IdNovedad = 0; info_novedad_100.Secuencia = 1; info_novedad_100.IdRubro = "9"; info_novedad_100.FechaPago = fecha_pago; info_novedad_100.Sueldo_Actual = Suel_Actual; info_novedad_100.Calculo_Horas_extras_Sobre = item.grupo.Calculo_Horas_extras_Sobre; if (item.grupo.Calculo_Horas_extras_Sobre > 0) { info_novedad_100.Valor = Math.Round(Horas_100 * ((Suel_Actual / item.grupo.Calculo_Horas_extras_Sobre) * 2), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } else { info_novedad_100.Valor = Math.Round(Horas_100 * ((Suel_Actual / 160) * 2), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } info_novedad_100.NumHoras = Horas_100; info_novedad_100.Observacion = "Horas extras al 100% correspondiente al " + fecha_pago.Month.ToString().PadLeft(2, '0') + "/" + fecha_pago.Year; info_novedad_100.es_Hora_ingreso_jornada1 = item.es_Hora_ingreso_jornada1; info_novedad_100.es_Hora_ingreso_jornada2 = item.es_Hora_ingreso_jornada2; info_novedad_100.es_Hora_salida_jornada1 = item.es_Hora_salida_jornada1; info_novedad_100.es_Hora_salida_jornada2 = item.es_Hora_salida_jornada2; if (item.es_Fech_remplazo != null) { info_novedad_100.es_Fech_remplazo = Convert.ToDateTime(item.es_Fech_remplazo); } info_novedad_100.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas; info_novedad_100.cargo = item.cargo; info_novedad_100.departamento = item.departamento; lista_novedad_detalle.Add(info_novedad_100); } } if (info_parametro.Se_calcula_horas_Extras_al50) { if (Horas_50 > 0)// si es que tiene horas al 50% { ro_Empleado_Novedad_Det_Info info_novedad_50 = new ro_Empleado_Novedad_Det_Info(); info_novedad_50.IdEmpresa = param.IdEmpresa; info_novedad_50.IdEmpleado = IdEmpleado; info_novedad_50.Nombre = Nombre; info_novedad_50.em_cedula = Cedula; info_novedad_50.IdNovedad = 0; info_novedad_50.Secuencia = 1; info_novedad_50.IdRubro = "8"; info_novedad_50.FechaPago = fecha_pago; info_novedad_50.Sueldo_Actual = Suel_Actual; info_novedad_50.Calculo_Horas_extras_Sobre = item.grupo.Calculo_Horas_extras_Sobre; if (item.grupo.Calculo_Horas_extras_Sobre > 0) { info_novedad_50.Valor = Math.Round(Horas_50 * ((Suel_Actual / item.grupo.Calculo_Horas_extras_Sobre) * 1.5), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } else { info_novedad_50.Valor = Math.Round(Horas_50 * ((Suel_Actual / 160) * 1.5), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } info_novedad_50.NumHoras = Horas_50; info_novedad_50.Observacion = "Horas extras al 50% correspondiente al " + fecha_pago.Month.ToString().PadLeft(2, '0') + "/" + fecha_pago.Year; info_novedad_50.es_Hora_ingreso_jornada1 = item.es_Hora_ingreso_jornada1; info_novedad_50.es_Hora_ingreso_jornada2 = item.es_Hora_ingreso_jornada2; info_novedad_50.es_Hora_salida_jornada1 = item.es_Hora_salida_jornada1; info_novedad_50.es_Hora_salida_jornada2 = item.es_Hora_salida_jornada2; if (item.es_Fech_remplazo != null) { info_novedad_50.es_Fech_remplazo = Convert.ToDateTime(item.es_Fech_remplazo); } info_novedad_50.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas; info_novedad_50.cargo = item.cargo; info_novedad_50.departamento = item.departamento; lista_novedad_detalle.Add(info_novedad_50); } } if (info_parametro.Se_calcula_horas_Extras_al25) { if (Horas_25 > 0)// si es que tiene horas al 25% { ro_Empleado_Novedad_Det_Info info_novedad_25 = new ro_Empleado_Novedad_Det_Info(); info_novedad_25.IdEmpresa = param.IdEmpresa; info_novedad_25.IdEmpleado = IdEmpleado; info_novedad_25.Nombre = Nombre; info_novedad_25.em_cedula = Cedula; info_novedad_25.IdNovedad = 0; info_novedad_25.Secuencia = 1; info_novedad_25.IdRubro = "7"; info_novedad_25.FechaPago = fecha_pago; info_novedad_25.Sueldo_Actual = Suel_Actual; info_novedad_25.Calculo_Horas_extras_Sobre = item.grupo.Calculo_Horas_extras_Sobre; if (item.grupo.Calculo_Horas_extras_Sobre > 0) { info_novedad_25.Valor = Math.Round(Horas_25 * ((Suel_Actual / item.grupo.Calculo_Horas_extras_Sobre) * 0.25), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } else { info_novedad_25.Valor = Math.Round(Horas_25 * ((Suel_Actual / 160) * 0.25), 2);// aqui cambiar segun el parametro del empleado se calcula sobre 160 o 240 } info_novedad_25.NumHoras = Horas_25; info_novedad_25.Observacion = "Horas extras al 25% correspondiente al " + fecha_pago.Month.ToString().PadLeft(2, '0') + "/" + fecha_pago.Year; info_novedad_25.es_Hora_ingreso_jornada1 = item.es_Hora_ingreso_jornada1; info_novedad_25.es_Hora_ingreso_jornada2 = item.es_Hora_ingreso_jornada2; info_novedad_25.es_Hora_salida_jornada1 = item.es_Hora_salida_jornada1; info_novedad_25.es_Hora_salida_jornada2 = item.es_Hora_salida_jornada2; if (item.es_Fech_remplazo != null) { info_novedad_25.es_Fech_remplazo = Convert.ToDateTime(item.es_Fech_remplazo); } info_novedad_25.es_tot_horasTrabajadas = item.es_tot_horasTrabajadas; info_novedad_25.cargo = item.cargo; info_novedad_25.departamento = item.departamento; lista_novedad_detalle.Add(info_novedad_25); } } // ro nomina por horas extras para la liquidacion ro_Nomina_X_Horas_Extras_Info Info_ro_Nomina_X_Horas_Extras = new Info.Roles.ro_Nomina_X_Horas_Extras_Info(); Info_ro_Nomina_X_Horas_Extras.IdEmpresa = item.IdEmpresa; Info_ro_Nomina_X_Horas_Extras.IdEmpleado = item.IdEmpleado; Info_ro_Nomina_X_Horas_Extras.IdNominaTipo = item.Id_nomina_Tipo; Info_ro_Nomina_X_Horas_Extras.IdNominaTipoLiqui = 1; Info_ro_Nomina_X_Horas_Extras.IdPeriodo = 2016; Info_ro_Nomina_X_Horas_Extras.IdCalendario = 20145; Info_ro_Nomina_X_Horas_Extras.IdTurno = 1; Info_ro_Nomina_X_Horas_Extras.IdHorario = 1; Info_ro_Nomina_X_Horas_Extras.FechaRegistro = Convert.ToDateTime(item.es_fechaRegistro); Info_ro_Nomina_X_Horas_Extras.time_entrada1 = item.es_Hora_ingreso_jornada1; Info_ro_Nomina_X_Horas_Extras.time_entrada2 = item.es_Hora_ingreso_jornada2; Info_ro_Nomina_X_Horas_Extras.time_salida1 = item.es_Hora_salida_jornada1; Info_ro_Nomina_X_Horas_Extras.time_salida2 = item.es_Hora_salida_jornada2; if (Horas_25 < 0) { Horas_25 = 0; } if (Horas_50 < 0) { Horas_50 = 0; } if (Horas_100 < 0) { Horas_100 = 0; } Info_ro_Nomina_X_Horas_Extras.hora_extra25 = Horas_25; Info_ro_Nomina_X_Horas_Extras.hora_extra50 = Horas_50; Info_ro_Nomina_X_Horas_Extras.hora_extra100 = Horas_100; Info_ro_Nomina_X_Horas_Extras.hora_atraso = 0; Info_ro_Nomina_X_Horas_Extras.hora_temprano = 0; Info_ro_Nomina_X_Horas_Extras.hora_trabajada = item.es_tot_horasTrabajadas; Info_ro_Nomina_X_Horas_Extras.UsuarioIngresa = param.IdUsuario; lista_nomina_x_horas_Hextras.Add(Info_ro_Nomina_X_Horas_Extras); } return(lista_novedad_detalle); } catch (Exception) { return(new List <ro_Empleado_Novedad_Det_Info>()); } }
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_Info info = new ro_Nomina_X_Horas_Extras_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 info = Get_Info_Nomina_X_Horas_Extras(idEmpresa, idEmpleado, idNominaTipo, idNominaTipoLiqui, idPeriodo, ref mensaje); 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) }; } }