public bool ajustar_anticipo(List <ro_rol_detalle_Info> lista) { try { using (Entities_rrhh Context = new Entities_rrhh()) { foreach (var item in lista) { ro_rol_detalle Entity = Context.ro_rol_detalle.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdRol == item.IdRol && q.IdRubro == item.IdRubro); if (Entity != null) { Entity.Valor = item.Valor; } Context.SaveChanges(); } } return(true); } catch (Exception) { throw; } }
public bool ajustar_anticipo(List <ro_rol_detalle_Info> lista) { try { using (Entities_rrhh Context = new Entities_rrhh()) { int IdEmpresa = lista.Count == 0 ? 0 : lista[0].IdEmpresa; var param = Context.ro_rubros_calculados.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault(); foreach (var item in lista) { ro_rol_detalle Entity = Context.ro_rol_detalle.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdRol == item.IdRol && q.IdRubro == item.IdRubro); if (Entity != null) { Entity.Valor = Math.Round(item.Valor, 2, MidpointRounding.AwayFromZero); } if (param != null) { #region Actualizo total ingreso var TotalIngreso = Context.ro_rol_detalle.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdRol == item.IdRol && q.IdRubro == param.IdRubro_tot_ing); if (TotalIngreso != null) { TotalIngreso.Valor = Math.Round(Context.vwro_rol_detalle.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdRol == item.IdRol && q.IdRubro != item.IdRubro && q.ru_tipo == "I").ToList().Sum(q => q.Valor) + item.Valor, 2, MidpointRounding.AwayFromZero); } #endregion #region Actualizo liquido a recibir var TotalEgreso = Context.ro_rol_detalle.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdRol == item.IdRol && q.IdRubro == param.IdRubro_tot_egr); var TotalAPagar = Context.ro_rol_detalle.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdEmpleado == item.IdEmpleado && q.IdRol == item.IdRol && q.IdRubro == param.IdRubro_tot_pagar); if (TotalAPagar != null) { TotalAPagar.Valor = Math.Round(TotalIngreso.Valor - (TotalEgreso == null ? 0 : TotalEgreso.Valor), 2, MidpointRounding.AwayFromZero); } #endregion } Context.SaveChanges(); } } return(true); } catch (Exception) { throw; } }