繁体   English   中英

如何更新 IEnumerable 类属性

[英]how to update an IEnumerable class property

我有这个代码

private IEnumerable<HorasVM> InsertarCalendarioValores(IEnumerable<HorasVM> listaHoras, string proyectoId, DateTime fechaInicio, DateTime fechaFin)
  {
    IEnumerable<ValoresEnFecha> calendarioValoresFULCRUM;
    IEnumerable<ValoresEnFecha> calendarioValoresSERS;
    IEnumerable<ValoresEnFecha> calendarioValoresMATRIZ;
    decimal realizadoSERS;
    decimal realizadoMATRIZ;

    foreach (var item in listaHoras)
    {
      calendarioValoresFULCRUM = GetDesdeHasta(dbFULCRUM, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);
      calendarioValoresSERS = GetDesdeHasta(dbSERS, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);
      calendarioValoresMATRIZ = GetDesdeHasta(dbMATRIZ, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);

      foreach (var mes in calendarioValoresFULCRUM)
      {
        realizadoSERS = calendarioValoresSERS.Where(c => c.Fecha == mes.Fecha).FirstOrDefault().Realizado;
        realizadoMATRIZ= calendarioValoresMATRIZ.Where(c => c.Fecha == mes.Fecha).FirstOrDefault().Realizado;
        mes.Realizado += realizadoSERS + realizadoMATRIZ;
      }

      item.CalendarioValores = calendarioValoresFULCRUM;
    }

    return listaHoras;
  }

HorasVM 是这个类

public class HorasVM
{
    public int EmpleadoId { get; set; }
    public string ProyectoId { get; set; }
    public string EmpleadoNombre { get; set; }
    public decimal RealizadoAcumulado { get; set; }
    public decimal PlanificadoAcumulado { get; set; }
    public string Type { get; set; }
    public decimal PrevistoAcumulado => RealizadoAcumulado + PlanificadoAcumulado;

    public IEnumerable<ValoresEnFecha> CalendarioValores { get; set; }

}

而 ValoresEnFecha 就是这个类

public class ValoresEnFecha
{
    public string Fecha { get; set; }
    public decimal Valor { get; set; }
    public decimal Realizado { get; set; }
    public decimal Planificado { get; set; }
}

在我的方法中,我得到了这个 listaHoras

霍拉斯

其中每个项目的属性 CalendarioValores 为空,我想计算它,以便为 listaHoras 中的每个项目获取值并将它们分配给每个项目

物品

但是当我更新 listaHoras 中的项目时,该项目仍然没有分配 CalendarioValores 属性。

item.CalendarioValores = calendarioValoresFULCRUM;

不更新 listaHoras 的每一项的属性

有什么想法吗?

问候

问题是使用只读 IEnumerable 类型而不是 List 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM