public static bool ConfrontaOggetti(this T ef1, T ef2)
{
bool return = true;
PropertyInfo[] properties = typeof(T).GetProperties(BindingFlags.Public);
foreach (PropertyInfo pi in properties)
{
object valore1 = typeof(T).GetProperty(pi.Name).GetValue(ef1, null);
object valore2 = typeof(T).GetProperty(pi.Name).GetValue(ef2, null);
if (valore1 is DateTime & valore2 is DateTime)
{
if (valore1 != null & valore2 != null)
{
if (Convert.ToDateTime(valore1 ).ToShortDateString() != Convert.ToDateTime(valore2 ).ToShortDateString() && (valore1 == null || !valore1.Equals(valore2 )))
{
return = false;
return return ;
}
}
else
{
if (valore1 != valore2 )
{
return = false;
return return ;
}
}
}
else
{
if (value1 != value2 && (value1 == null || !value1.Equals(value2)))
{
//proprietà non uguale
return = false;
return return ;
}
}
}
return return ;
}
Nessun commento:
Posta un commento