Readability comes down to formatting:
1. Ternary:
d_reg_f = (entity.d_fot == DateTime.MinValue
? (xreg_f == null
? DateTime.MinValue
: reg_f.d_registrazione)
: entity.d_fot != DateTime.MinValue && reg_f.d_cre > entity.d_fot
? DateTime.MinValue
: reg_f.d_cre <= entity.d_fot
? reg_f.d_registrazione
: DateTime.MinValue
);
2. if ... else if ... else with Ternary
if (entity.d_fot == DateTime.MinValue)
{
d_reg_f = xreg_f == null
? DateTime.MinValue
: reg_f.d_registrazione;
}
else if (entity.d_fot != DateTime.MinValue && reg_f.d_cre > entity.d_fot)
{
d_reg_f = reg_f.d_cre <= entity.d_fot
? reg_f.d_registrazione
: DateTime.MinValue;
}
else
{
d_reg_f = DateTime.MinValue;
}