检索实体值以添加到 return 参数

Retrieve an Entity value to add to return parameter

我有这个方法:

 private List < ReportParameter > ParametrosReporte() {
      List < ReportParameter > Parametros = new List < ReportParameter > ();
      try {
        int ? int_Ejercicio = this.radcmbEjercicio.SelectedItem == null ? 0 : this.radcmbEjercicio.SelectedValue.ToInt();
        int ? int_Periodo = this.radcmbPeriodo.SelectedItem == null ? 0 : this.radcmbPeriodo.SelectedValue.ToInt();
        int ? int_BSC = this.radcmbBSC.SelectedItem == null ? 0 : this.radcmbBSC.SelectedValue.ToInt();

        Parametros.Add(Reportes.ParametrosReporte("pe_Ejercicio", int_Ejercicio.ToString()));
        Parametros.Add(Reportes.ParametrosReporte("pe_Mes", int_Periodo.ToString()));
        Parametros.Add(Reportes.ParametrosReporte("pe_BSC", int_BSC.ToString()));


        catBSC _catBSC = new catBSC() {
          mdUsuarioCaptura = new Entidades.Usuario() {
            UsuarioID = ((Usuario) Session["User"]).UsuarioID,
          }
        };
        Parametros.Add(Reportes.ParametrosReporte("pe_Usuario", UsuarioID ));

        return Parametros;
      } catch (Exception ex) {
        throw new System.ArgumentException("Error en ParametrosReporte", ex);
      }
    }

如您所见,我有逻辑来检索以以下身份登录的用户:

  catBSC _catBSC = new catBSC() {
              mdUsuarioCaptura = new Entidades.Usuario() {
                UsuarioID = ((Usuario) Session["User"]).UsuarioID,
              }
            };

但在检索它之前,我想将它调用到 Parametros.Add 中,例如:

Parametros.Add(Reportes.ParametrosReporte("pe_Usuario", UsuarioID ));

但我做不到,因为 UsuarioID 超出了范围,它抛出了我

UsuarioID does not exist in the current context

如何调用它并附加到我的 Parametros.Add

您可以在创建 catBSC 之上创建一个局部变量,然后在两个位置使用它:

var usuarioID = ((Usuario) Session["User"]).UsuarioID

catBSC _catBSC = new catBSC() {
    mdUsuarioCaptura = new Entidades.Usuario() {
        UsuarioID = usuarioID
    }
};

Parametros.Add(Reportes.ParametrosReporte("pe_Usuario", usuarioID));

您可以将 var 替换为实际类型,但我不想假设这在您的场景中是什么。