public bool guardarDB(ro_SancionesPorMarcaciones_Info info) { try { ro_empleado_novedad_Data odata_novedad = new ro_empleado_novedad_Data(); decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); int secuancia = 1; using (Entities_rrhh Context = new Entities_rrhh()) { ro_SancionesPorMarcaciones entity = new ro_SancionesPorMarcaciones { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste = get_id(info.IdEmpresa), IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, FechaInicio = info.FechaInicio, FechaFin = info.FechaFin, Observacion = info.Observacion, Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, Estado = true, FechaNovedades = info.FechaNovedades }; Context.ro_SancionesPorMarcaciones.Add(entity); foreach (var item in info.detalle) { ro_SancionesPorMarcaciones_det entity_det = new ro_SancionesPorMarcaciones_det { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdAjuste = info.IdAjuste, IdCalendario = item.IdCalendario, IdEmpleado = item.IdEmpleado, EsHoraIngreso = item.HoraIni, HoraIngreso = item.time_entrada1, EsHoraSalida = item.HoraFin, HoraSalio = item.time_salida1, Minutos = item.Minutos, FechaRegistro = item.es_fechaRegistro, Secuencia = secuancia }; Context.ro_SancionesPorMarcaciones_det.Add(entity_det); secuancia++; } // agrupnado para obter valor para novedad secuancia = 1; var lista_novedades = (from q in info.detalle group q by new { q.IdEmpresa, q.IdSucursal, q.IdEmpleado, q.Minutos, q.Sueldo } into Grupo select new ro_SancionesPorMarcaciones_x_novedad_Info { IdEmpresa = Grupo.Key.IdEmpresa, IdSucursal = Grupo.Key.IdSucursal, IdEmpleado = Grupo.Key.IdEmpleado, Valor = Grupo.Sum(s => s.Minutos), Sueldo = Grupo.Key.Sueldo }).ToList(); // grabando novedades foreach (var item in lista_novedades) { ro_empleado_Novedad novedad = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdNovedad = IdNovedad, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Novedad generada por proceso del sistema fecha descuento " + info.FechaNovedades.ToString().Substring(0, 10), Fecha = info.FechaNovedades, Estado = "A", Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario }; Context.ro_empleado_Novedad.Add(novedad); ro_empleado_novedad_det novedad_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, IdRubro = "200", Valor = item.Valor * (((Convert.ToDouble(item.Sueldo)) / 240) / 60), FechaPago = info.FechaNovedades, EstadoCobro = "PEN", Observacion = "Novedad generda por proceso del sistema", Secuencia = 1, }; novedad_det.Valor = Math.Round(novedad_det.Valor, 2); Context.ro_empleado_novedad_det.Add(novedad_det); ro_SancionesPorMarcaciones_x_novedad novedad_x_sanc = new ro_SancionesPorMarcaciones_x_novedad { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste, Secuencia = secuancia, IdNovedad = novedad.IdNovedad, IdEmpresa_nov = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui }; Context.ro_SancionesPorMarcaciones_x_novedad.Add(novedad_x_sanc); IdNovedad++; secuancia++; } Context.SaveChanges(); } return(true); } catch (Exception ex) { throw; } }
public bool modificarDB(ro_SancionesPorMarcaciones_Info info) { try { ro_SancionesPorMarcaciones_x_novedad_Data odata_novedad_x_sanciones = new ro_SancionesPorMarcaciones_x_novedad_Data(); ro_empleado_novedad_Data odata_novedad = new ro_empleado_novedad_Data(); var lista_novedades_a_eliminar = odata_novedad_x_sanciones.get_list(info.IdEmpresa, info.IdAjuste).ToList(); using (Entities_rrhh Context = new Entities_rrhh()) { #region modificando cabecera ro_SancionesPorMarcaciones entity = Context.ro_SancionesPorMarcaciones.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste).FirstOrDefault(); if (entity == null) { return(false); } entity.FechaInicio = info.FechaInicio; entity.FechaFin = info.FechaFin; entity.Observacion = info.Observacion; entity.FechaNovedades = info.FechaNovedades; entity.IdUsuarioUltMod = info.IdUsuarioUltMod; entity.Fecha_UltMod = DateTime.Now; #endregion #region eliminado detalle #region eliminando novedad por sancion var ro_sanciones_det = Context.ro_SancionesPorMarcaciones_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste); Context.ro_SancionesPorMarcaciones_det.RemoveRange(ro_sanciones_det); #endregion #endregion #region eliminando novedad por sancion var ro_novedad_x_sanciones = Context.ro_SancionesPorMarcaciones_x_novedad.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste); Context.ro_SancionesPorMarcaciones_x_novedad.RemoveRange(ro_novedad_x_sanciones); #endregion #region eliminado_novedades foreach (var item in lista_novedades_a_eliminar) { var info_novedad_det = Context.ro_empleado_novedad_det.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdNovedad == item.IdNovedad).FirstOrDefault(); Context.ro_empleado_novedad_det.Remove(info_novedad_det); var info_novedad = Context.ro_empleado_Novedad.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdNovedad == item.IdNovedad && q.IdEmpleado == item.IdEmpleado).FirstOrDefault(); Context.ro_empleado_Novedad.Remove(info_novedad); } #endregion #region grabando novedades decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); int secuancia = 1; foreach (var item in info.detalle) { ro_SancionesPorMarcaciones_det entity_det = new ro_SancionesPorMarcaciones_det { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdAjuste = info.IdAjuste, IdCalendario = item.IdCalendario, IdEmpleado = item.IdEmpleado, EsHoraIngreso = item.HoraIni, HoraIngreso = item.time_entrada1, EsHoraSalida = item.HoraFin, HoraSalio = item.time_salida1, Minutos = item.Minutos, FechaRegistro = item.es_fechaRegistro, Secuencia = secuancia }; Context.ro_SancionesPorMarcaciones_det.Add(entity_det); secuancia++; } // agrupnado para obter valor para novedad secuancia = 1; var lista_novedades = (from q in info.detalle group q by new { q.IdEmpresa, q.IdSucursal, q.IdEmpleado, q.Minutos, q.Sueldo } into Grupo select new ro_SancionesPorMarcaciones_x_novedad_Info { IdEmpresa = Grupo.Key.IdEmpresa, IdSucursal = Grupo.Key.IdSucursal, IdEmpleado = Grupo.Key.IdEmpleado, Valor = Grupo.Sum(s => s.Minutos), Sueldo = Grupo.Key.Sueldo }).ToList(); // grabando novedades foreach (var item in lista_novedades) { ro_empleado_Novedad novedad = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdNovedad = IdNovedad, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Novedad generada por proceso del sistema fecha descuento " + info.FechaNovedades.ToString().Substring(0, 10), Fecha = info.FechaNovedades, Estado = "A", Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario }; Context.ro_empleado_Novedad.Add(novedad); ro_empleado_novedad_det novedad_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, IdRubro = "200", Valor = item.Valor * (((Convert.ToDouble(item.Sueldo)) / 240) / 60), FechaPago = info.FechaNovedades, EstadoCobro = "PEN", Observacion = "Novedad generda por proceso del sistema", Secuencia = 1, }; novedad_det.Valor = Math.Round(novedad_det.Valor, 2); Context.ro_empleado_novedad_det.Add(novedad_det); ro_SancionesPorMarcaciones_x_novedad novedad_x_sanc = new ro_SancionesPorMarcaciones_x_novedad { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste, Secuencia = secuancia, IdNovedad = novedad.IdNovedad, IdEmpresa_nov = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui }; Context.ro_SancionesPorMarcaciones_x_novedad.Add(novedad_x_sanc); IdNovedad++; secuancia++; } #endregion Context.SaveChanges(); } return(true); } catch (Exception ex) { throw; } }
public bool GuardarDB(ro_HorasProfesores_Info info) { try { decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); using (Entities_rrhh Contex = new Entities_rrhh()) { ro_HorasProfesores entity = new ro_HorasProfesores { IdEmpresa = info.IdEmpresa, IdCarga = info.IdCarga = Get_id(info.IdEmpresa), FechaCarga = info.FechaCarga.Date, IdPeriodo = info.IdPeriodo = Convert.ToInt32(info.FechaCarga.Year.ToString() + info.FechaCarga.Month.ToString().PadLeft(2, '0')), Observacion = info.Observacion, IdNomina = info.IdNomina, IdNominaTipo = info.IdNominaTipo, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now, Estado = true }; Contex.ro_HorasProfesores.Add(entity); foreach (var item in info.detalle) { ro_empleado_Novedad Entity = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdNovedad = item.IdNovedad = IdNovedad, IdNomina_Tipo = info.IdNomina, IdNomina_TipoLiqui = info.IdNominaTipo, IdEmpleado = item.IdEmpleado, Fecha = info.FechaCarga.Date, IdSucursal = item.IdSucursal, Observacion = item.ru_descripcion, Estado = "A", IdUsuario = info.IdUsuario, Fecha_Transac = info.Fecha_Transac = DateTime.Now, IdJornada = item.IdJornada }; Contex.ro_empleado_Novedad.Add(Entity); ro_empleado_novedad_det Entity_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = item.IdNovedad, FechaPago = info.FechaCarga.Date, IdRubro = item.IdRubro, Valor = item.Valor, Observacion = item.Observacion + " del " + info.FechaCarga.Date.ToString().Substring(0, 10), EstadoCobro = "PEN", CantidadHoras = item.NumHoras, Secuencia = 1 }; Contex.ro_empleado_novedad_det.Add(Entity_det); ro_HorasProfesores_det Entity_det_ = new ro_HorasProfesores_det { IdEmpresa = info.IdEmpresa, IdCarga = info.IdCarga, IdNovedad = item.IdNovedad, IdRubro = item.IdRubro, IdEmpleado = item.IdEmpleado, Observacion = item.Observacion, Secuencia = item.Secuencia, IdEmpresa_nov = info.IdEmpresa, ValorHora = item.ValorHora, NumHoras = item.NumHoras, IdSucursal = item.IdSucursal }; Contex.ro_HorasProfesores_det.Add(Entity_det_); IdNovedad++; } Contex.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(ro_NominasPagosCheques_Info info) { try { int secuencia = 1; decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); using (Entities_rrhh Context = new Entities_rrhh()) { var info_rubros_calculados = Context.ro_rubros_calculados.Where(v => v.IdEmpresa == info.IdEmpresa).FirstOrDefault(); ro_NominasPagosCheques Entity = new ro_NominasPagosCheques { IdEmpresa = info.IdEmpresa, IdTransaccion = info.IdTransaccion = Convert.ToInt32(get_id(info.IdEmpresa)), IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, IdPeriodo = info.IdPeriodo, Observacion = info.Observacion, Estado = info.Estado = true, IdUsuario = info.IdUsuario, FechaTransac = info.FechaTransac = DateTime.Now }; Context.ro_NominasPagosCheques.Add(Entity); foreach (var item in info.detalle) { ro_NominasPagosCheques_det Entity_ = new ro_NominasPagosCheques_det { IdEmpresa = item.IdEmpresa, IdTransaccion = item.IdTransaccion = info.IdTransaccion, IdSucursal = item.IdSucursal, IdEmpleado = item.IdEmpleado, Valor = item.Valor, Secuencia = secuencia, IdEmpresa_op = info.IdEmpresa, IdOrdenPago = item.IdOrdenPago, Secuancia_op = item.Secuancia_op, IdEmpresa_dc = item.IdEmpresa_dc, IdTipoCbte = item.IdTipoCbte, IdCbteCble = item.IdCbteCble }; Context.ro_NominasPagosCheques_det.Add(Entity_); secuencia++; if (info_rubros_calculados != null) { if (info_rubros_calculados.IdRubro_novedad_proceso != null) { ro_empleado_Novedad Entity_nov = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdNovedad = IdNovedad, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, IdEmpleado = Convert.ToInt32(item.IdEmpleado), Fecha = DateTime.Now.Date, Observacion = info.Observacion == null ? "" : info.Observacion, Estado = "A", IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.ro_empleado_Novedad.Add(Entity_nov); ro_empleado_novedad_det Entity_nov_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, FechaPago = DateTime.Now.Date, IdRubro = info_rubros_calculados.IdRubro_novedad_proceso, Valor = item.Valor, Observacion = item.Observacion, EstadoCobro = "PEN", Secuencia = 1 }; Context.ro_empleado_novedad_det.Add(Entity_nov_det); IdNovedad++; } } } Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool GuardarDB(ro_EmpleadoNovedadCargaMasiva_Info info) { try { decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); using (Entities_rrhh Contex = new Entities_rrhh()) { ro_EmpleadoNovedadCargaMasiva entity = new ro_EmpleadoNovedadCargaMasiva { IdEmpresa = info.IdEmpresa, IdCarga = info.IdCarga = Get_id(info.IdEmpresa), FechaCarga = info.FechaCarga.Date, Observacion = info.Observacion, IdNomina = info.IdNomina, IdNominaTipo = info.IdNominaTipo, IdSucursal = info.IdSucursal, IdRubro = info.IdRubro, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now, Estado = true }; Contex.ro_EmpleadoNovedadCargaMasiva.Add(entity); foreach (var item in info.detalle) { ro_empleado_Novedad Entity = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdNovedad = item.IdNovedad = IdNovedad, IdNomina_Tipo = info.IdNomina, IdNomina_TipoLiqui = info.IdNominaTipo, IdEmpleado = item.IdEmpleado, Fecha = info.FechaCarga.Date, Observacion = info.Observacion == null?"":info.Observacion, Estado = "A", IdUsuario = info.IdUsuario, Fecha_Transac = info.Fecha_Transac = DateTime.Now }; Contex.ro_empleado_Novedad.Add(Entity); ro_empleado_novedad_det Entity_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = item.IdNovedad, FechaPago = info.FechaCarga.Date, IdRubro = info.IdRubro, Valor = item.Valor, Observacion = item.Observacion, EstadoCobro = "PEN", Secuencia = 1, CantidadHoras = item.CantidadHoras }; Contex.ro_empleado_novedad_det.Add(Entity_det); ro_EmpleadoNovedadCargaMasiva_det Entity_det_ = new ro_EmpleadoNovedadCargaMasiva_det { IdEmpresa = info.IdEmpresa, IdCarga = info.IdCarga, IdNovedad = item.IdNovedad, IdEmpleado = item.IdEmpleado, Observacion = item.Observacion, Secuencia = item.Secuancia, IdEmpresa_nov = info.IdEmpresa }; Contex.ro_EmpleadoNovedadCargaMasiva_det.Add(Entity_det_); IdNovedad++; } Contex.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool AprobarHE(ro_nomina_x_horas_extras_Info info) { try { ro_empleado_novedad_Data odata_novedad = new ro_empleado_novedad_Data(); decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); ro_nomina_x_horas_extras_det_Data odata = new ro_nomina_x_horas_extras_det_Data(); ro_periodo_Data bus_periodo = new ro_periodo_Data(); ro_periodo_Info info_periodo = new ro_periodo_Info(); info_periodo = bus_periodo.get_info(info.IdEmpresa, info.IdPeriodo); //var lst_horas_extras_aprobar = odata.get_lst_horas_extras_aprobar(info.IdEmpresa, info.IdNomina_Tipo, info.IdNomina_TipoLiqui, info.IdPeriodo); using (Entities_rrhh content = new Entities_rrhh()) { var ro_rubro_calculados = content.ro_rubros_calculados.FirstOrDefault(s => s.IdEmpresa == info.IdEmpresa); if (ro_rubro_calculados == null) { return(false); } var ro_horas_extras = content.ro_nomina_x_horas_extras.FirstOrDefault(s => s.IdEmpresa == info.IdEmpresa && s.IdHorasExtras == info.IdHorasExtras); if (ro_horas_extras == null) { return(false); } ro_horas_extras.Estado = "P"; foreach (var item in info.lst_nomina_horas_extras) { if (item.Valor25 > 0) { IdNovedad++; ro_empleado_Novedad info_novedad_25 = new ro_empleado_Novedad() { IdNovedad = IdNovedad, IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Hora extra al 25 % correspondiente al periodo " + info.IdPeriodo.ToString(), Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, Fecha = item.FechaRegistro.Date, Estado = "A" }; content.ro_empleado_Novedad.Add(info_novedad_25); ro_empleado_novedad_det info_det_25 = new ro_empleado_novedad_det() { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, Secuencia = 1, Valor = Math.Round(item.Valor25, 2), FechaPago = info_periodo.pe_FechaFin, IdRubro = "7", Observacion = "Hora extra al 25 % correspondiente al periodo " + info.IdPeriodo.ToString(), EstadoCobro = "PEN" }; content.ro_empleado_novedad_det.Add(info_det_25); } ; if (item.Valor50 > 0) { IdNovedad++; ro_empleado_Novedad info_novedad_50 = new ro_empleado_Novedad() { IdNovedad = IdNovedad, IdSucursal = item.IdSucursal, IdEmpresa = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Hora extra al 50 % correspondiente al periodo " + info.IdPeriodo.ToString(), Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, Fecha = item.FechaRegistro.Date, Estado = "A" }; content.ro_empleado_Novedad.Add(info_novedad_50); ro_empleado_novedad_det info_det_50 = new ro_empleado_novedad_det() { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, Secuencia = 1, Valor = Math.Round(item.Valor50, 2), FechaPago = info_periodo.pe_FechaFin, IdRubro = "8", Observacion = "Hora extra al 50 % correspondiente al periodo " + info.IdPeriodo.ToString(), EstadoCobro = "PEN" }; content.ro_empleado_novedad_det.Add(info_det_50); } ; if (item.hora_extra100 > 0) { IdNovedad++; ro_empleado_Novedad info_novedad_100 = new ro_empleado_Novedad() { IdNovedad = IdNovedad, IdSucursal = item.IdSucursal, IdEmpresa = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Hora extra al 50 % correspondiente al periodo " + info.IdPeriodo.ToString(), Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, Fecha = item.FechaRegistro.Date, Estado = "A" }; content.ro_empleado_Novedad.Add(info_novedad_100); ro_empleado_novedad_det info_det_100 = new ro_empleado_novedad_det() { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, Secuencia = 1, Valor = Math.Round(item.Valor100, 2), FechaPago = info_periodo.pe_FechaFin, IdRubro = "8", Observacion = "Hora extra al 100 % correspondiente al periodo " + info.IdPeriodo.ToString(), EstadoCobro = "PEN" }; content.ro_empleado_novedad_det.Add(info_det_100); } ; } content.SaveChanges(); odata.Modificar_estado_aprobacion(info.IdHorasExtras, 1); } return(true); } catch (Exception) { throw; } }