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); }
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); }