Multiple if-else statement
bool chkStatus = true;
if (DetailsData != null)
{
if (DetailsData.Approved != null)
{
if (DetailsData.Approved == false)
{
chkStatus = false;
}
}
}
else
{
chkStatus = false;
}
if (AspirationData != null)
{
if (AspirationData.Approved != null)
{
if (AspirationData.Approved == false)
{
chkStatus = false;
}
}
}
else
{
chkStatus = false;
}
//Short this if else by reflection
private bool IsWizardApproved<T>(T t)
{
if (t == null) return false;
foreach (PropertyInfo info in t.GetType().GetProperties())
{
if (info.Name.ToLower() == "approved")
{
PropertyInfo propertyInfos = t.GetType().GetProperty(info.Name);
if (info.GetValue(t, null) != null)
return (bool)info.GetValue(t, null);
}
}
return false;
}
bool chkStatus = true;
if (DetailsData != null)
{
if (DetailsData.Approved != null)
{
if (DetailsData.Approved == false)
{
chkStatus = false;
}
}
}
else
{
chkStatus = false;
}
if (AspirationData != null)
{
if (AspirationData.Approved != null)
{
if (AspirationData.Approved == false)
{
chkStatus = false;
}
}
}
else
{
chkStatus = false;
}
//Short this if else by reflection
private bool IsWizardApproved<T>(T t)
{
if (t == null) return false;
foreach (PropertyInfo info in t.GetType().GetProperties())
{
if (info.Name.ToLower() == "approved")
{
PropertyInfo propertyInfos = t.GetType().GetProperty(info.Name);
if (info.GetValue(t, null) != null)
return (bool)info.GetValue(t, null);
}
}
return false;
}
//Call IsWizardApproved for class
model.Approved = (IsWizardApproved<DetailsData>(detailsData) &&
&& IsWizardApproved<AspirationData>(aspirationData);

