public override bool CanBeEquals(Pullenti.Ner.Referent obj, Pullenti.Ner.Core.ReferentsEqualType typ) { DateRangeReferent dr = obj as DateRangeReferent; if (dr == null) { return(false); } if (DateFrom != null) { if (!DateFrom.CanBeEquals(dr.DateFrom, typ)) { return(false); } } else if (dr.DateFrom != null) { return(false); } if (DateTo != null) { if (!DateTo.CanBeEquals(dr.DateTo, typ)) { return(false); } } else if (dr.DateTo != null) { return(false); } return(true); }
/// <summary> /// Проверка, что дата или диапазон определены с точностью до одного месяца /// </summary> public static bool IsMonthDefined(Pullenti.Ner.Referent obj) { DateReferent sd = obj as DateReferent; if (sd != null) { return(sd.Year > 0 && sd.Month > 0); } DateRangeReferent sdr = obj as DateRangeReferent; if (sdr != null) { if (sdr.DateFrom == null || sdr.DateTo == null) { return(false); } if (sdr.DateFrom.Year == 0 || sdr.DateTo.Year != sdr.DateFrom.Year) { return(false); } if (sdr.DateFrom.Month == 0 || sdr.DateTo.Month != sdr.DateFrom.Month) { return(false); } return(true); } return(false); }