コード例 #1
0
ファイル: DateFormaters.cs プロジェクト: Osyny/Erp_TEST
        /// <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);
        }
コード例 #2
0
ファイル: DateFormaters.cs プロジェクト: Osyny/Erp_TEST
        /// <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);
        }
コード例 #3
0
ファイル: DateFormaters.cs プロジェクト: Osyny/Erp_TEST
        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);
        }