Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
        }