Пример #1
0
        public static CombinedDateParseResult LaterThen(this CombinedDateParseResult endDate, CombinedDateParseResult startDate, string errMessage = null)
        {
            if (!endDate.IsValid || !startDate.IsValid)
            {
                endDate.IsValid = false;
                return(endDate);
            }

            endDate.IsValid = endDate.Value > startDate.Value;

            if (!endDate.IsValid && !string.IsNullOrEmpty(errMessage))
            {
                endDate.DateResult.ErrorMessage += $", {errMessage}";
                endDate.TimeResult.ErrorMessage += $", {errMessage}";
            }

            return(endDate);
        }
Пример #2
0
        public static CombinedDateParseResult ddMMyyyyHHmm(string dateString, string timeString, DateParseTypes type)
        {
            var dateRes = ddMMyyyy(dateString);
            var timeRes = HHmm(timeString);
            CombinedDateParseResult res = new CombinedDateParseResult()
            {
                DateResult = dateRes, TimeResult = timeRes
            };

            if (!dateRes.IsValid || !timeRes.IsValid)
            {
                return(res);
            }


            DateTime combined = new DateTime(dateRes.Value.Year, dateRes.Value.Month, dateRes.Value.Day,
                                             timeRes.Value.Hour, timeRes.Value.Minute, 0);

            res.Value   = combined;
            res.IsValid = true;

            switch (type)
            {
            case DateParseTypes.Birthday:
            case DateParseTypes.Document:
            case DateParseTypes.Register:
            case DateParseTypes.FulfilledEvent:
                if (combined > DateTime.Now)
                {
                    res.TimeResult.IsValid      = false;
                    res.DateResult.IsValid      = false;
                    res.IsValid                 = false;
                    res.TimeResult.ErrorMessage = $"Дата не може бути пізніше сьогоднішньої";
                    res.DateResult.ErrorMessage = $"Дата не може бути пізніше сьогоднішньої";
                }
                break;
            }
            return(res);
        }