mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 优化 WhereDynamicFilter DateRange 情况;
This commit is contained in:
		@@ -1012,7 +1012,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                            else if (Regex.IsMatch(fiValueDateRangeArray[1], @"^\d\d\d\d$")) fiValueDateRangeArray[1] = DateTime.Parse($"{fiValueDateRangeArray[1]}-01-01").AddYears(1).ToString("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
                            else if (Regex.IsMatch(fiValueDateRangeArray[1], @"^\d\d\d\d[\-/]\d\d?[\-/]\d\d? \d\d?$")) fiValueDateRangeArray[1] = DateTime.Parse($"{fiValueDateRangeArray[1]}:00:00").AddHours(1).ToString("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
                            else if (Regex.IsMatch(fiValueDateRangeArray[1], @"^\d\d\d\d[\-/]\d\d?[\-/]\d\d? \d\d?:\d\d?$")) fiValueDateRangeArray[1] = DateTime.Parse($"{fiValueDateRangeArray[1]}:00").AddMinutes(1).ToString("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
                            else throw new ArgumentException(CoreStrings.DateRange_DateFormat_yyyy);
 | 
			
		||||
                            else if (!Regex.IsMatch(fiValueDateRangeArray[1], @"^\d\d\d\d[\-/]\d\d?[\-/]\d\d? \d\d?:\d\d?:\d\d?$")) throw new ArgumentException(CoreStrings.DateRange_DateFormat_yyyy);
 | 
			
		||||
 | 
			
		||||
                            if (Regex.IsMatch(fiValueDateRangeArray[0], @"^\d\d\d\d[\-/]\d\d?$")) fiValueDateRangeArray[0] = DateTime.Parse($"{fiValueDateRangeArray[0]}-01").ToString("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
                            else if (Regex.IsMatch(fiValueDateRangeArray[0], @"^\d\d\d\d$")) fiValueDateRangeArray[0] = DateTime.Parse($"{fiValueDateRangeArray[0]}-01-01").ToString("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
@@ -1040,7 +1040,12 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                        {
 | 
			
		||||
                            var fiValueList = new List<string>();
 | 
			
		||||
                            foreach (var fiValueIeItem in fiValueIe)
 | 
			
		||||
                            {
 | 
			
		||||
                                if (fiValueIeItem is DateTime fiValueIeItemDateTime)
 | 
			
		||||
                                    fiValueList.Add(fiValueIeItemDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
 | 
			
		||||
                                else
 | 
			
		||||
                                    fiValueList.Add(string.Concat(fiValueIeItem));
 | 
			
		||||
                            }
 | 
			
		||||
                            return fiValueList.ToArray();
 | 
			
		||||
                        }
 | 
			
		||||
                        var fiValueType = fi.Value.GetType();
 | 
			
		||||
@@ -1052,7 +1057,12 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                                fiValueIe = fiValueType.GetMethod("EnumerateArray", new Type[0])?.Invoke(fi.Value, null) as IEnumerable;
 | 
			
		||||
                                var fiValueList = new List<string>();
 | 
			
		||||
                                foreach (var fiValueIeItem in fiValueIe)
 | 
			
		||||
                                {
 | 
			
		||||
                                    if (fiValueIeItem is DateTime fiValueIeItemDateTime)
 | 
			
		||||
                                        fiValueList.Add(fiValueIeItemDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
 | 
			
		||||
                                    else
 | 
			
		||||
                                        fiValueList.Add(string.Concat(fiValueIeItem));
 | 
			
		||||
                                }
 | 
			
		||||
                                return fiValueList.ToArray();
 | 
			
		||||
                            }
 | 
			
		||||
                            return fi.Value.ToString().Split(',');
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user