У меня есть класс модели:
using System;
using System.Collections.Generic;
namespace UserManagement.Models
{
public partial class ComBox
{
public int FkSystem { get; set; }
public int FkUsers { get; set; }
public bool? Pkw { get; set; }
public bool? Trpv { get; set; }
public bool? Trcv { get; set; }
public bool? Lkw { get; set; }
public bool? Smart { get; set; }
public bool? Itresponsible { get; set; }
public bool? DealerPrincipalSales { get; set; }
public bool? SalesManager { get; set; }
public bool? SalesAdministrator { get; set; }
.
.
.
public virtual Systems FkSystemNavigation { get; set; }
public virtual Users FkUsersNavigation { get; set; }
}
}
Теперь мне нужно поставить галочку для каждого bool в PDF-документе, который я генерирую. Моя проблема: у меня есть не только один класс модели, но и 30. И я хотел бы автоматически перебирать каждую модель, извлекать логические значения и ставить флажок, в зависимости от значения bool.
ComBox cfgItem = (ComBox)cfgList[cl.FkID];
IEnumerable<PropertyInfo> Cfg = cfgItem.GetType()
.GetProperties()
.Where(p => p.PropertyType == typeof(bool?));
foreach (PropertyInfo b in Cfg)
{
if ( (Nullable<bool>)b.GetValue(b, null) == true)
form.GetField(cl.Systemname+"_"+b.Name).SetValue("Yes");
}
Для строки if система выдает мне следующую ошибку:
System.Reflection.TargetException HResult = 0x80131603
Сообщение = Объект не соответствует цели введите.
Есть идеи, как мне исправить эту ошибку?