/// <summary> /// Строка в формате "HHmm" /// </summary> /// <param name="dateString"></param> /// <param name="type"></param> /// <returns></returns> public static DateParseResult HHmm(string dateString, DateParseTypes type) { var res = HHmm(dateString); if (!res.IsValid) { return(res); } switch (type) { case DateParseTypes.Birthday: if (res.Value > DateTime.Now) { res.IsValid = false; res.ErrorMessage = $"Дата не може бути пізніше сьогоднішньої"; } break; case DateParseTypes.Document: case DateParseTypes.Register: if (res.Value > DateTime.Now) { res.IsValid = false; res.ErrorMessage = $"Дата не може бути пізніше сьогоднішньої"; } break; } return(res); }
/// <summary> /// Строка в формате "dd.MM.yyyy" /// </summary> /// <param name="dateString"></param> /// <param name="type"></param> /// <returns></returns> public static DateParseResult ddMMyyyy(string dateString, DateParseTypes type) { var res = ddMMyyyy(dateString); if (!res.IsValid) { return(res); } if (type == DateParseTypes.DateToForSearch) { res.Value = res.Value.AddHours(23).AddMinutes(59).AddSeconds(59); } switch (type) { case DateParseTypes.Birthday: case DateParseTypes.Document: case DateParseTypes.Register: case DateParseTypes.FulfilledEvent: //if (res.Value < DateTime.Now) if (res.Value > DateTime.Now) { res.IsValid = false; res.ErrorMessage = $"Дата не може бути пізніше сьогоднішньої"; } break; case DateParseTypes.InFuture: if (res.Value <= DateTime.Now) { res.IsValid = false; res.ErrorMessage = $"Дата не може бути раніше сьогоднішньої"; } break; } return(res); }
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); }