private void UpdateDate(string fieldName, DateTime?time) { if (time.HasValue && time.Value.Year == DateTime.MaxValue.Year) { var currentValue = typeof(Building).GetProperty(fieldName).GetValue(Building, null); if (currentValue is DateTime) { if (((DateTime)currentValue).Year == DateTime.MaxValue.Year) { time = null; } } } typeof(Building).GetProperty(fieldName).SetValue(Building, time, null); var dbBuilding = new DbBuilding(Settings.Current.Building.BuilderConnectionString); dbBuilding.SetFieldTo(Building.Id.Value, fieldName, time); }