From 7ff298c6834275b63b612af49651673689a39660 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 27 十一月 2024 11:33:18 +0800
Subject: [PATCH] 更新

---
 WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs |   69 ++++++++++++++++++++++------------
 1 files changed, 44 insertions(+), 25 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
index 8f5d041..8a630f0 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
@@ -12,10 +12,10 @@
 using System.Linq.Expressions;
 using System.Reflection;
 using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Core.Const;
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.Utilities;
-using static OfficeOpenXml.ExcelErrorValue;
 
 namespace WIDESEAWCS_Core.BaseServices
 {
@@ -59,7 +59,6 @@
             return pageGridData;
         }
 
-
         protected string ValidatePageOptions(PageDataOptions options)
         {
             options = options ?? new PageDataOptions();
@@ -92,7 +91,7 @@
                 if (property == null) continue;
 
                 List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList();
-                if (results == null || results.Count() > 0)
+                if (results == null || results.Count() == 0)
                 {
                     continue;
                 }
@@ -105,7 +104,27 @@
                     LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition();
                     if (expressionType == LinqExpressionType.Equal)
                     {
-                        where += $"{searchParametersList[i].Name} = '{results[j].Item3}'";
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.Equal} '{results[j].Item3}'";
+                    }
+                    else if (expressionType == LinqExpressionType.ThanOrEqual)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.ThanOrEqual} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.LessThanOrEqual)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.LessOrEqual} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.GreaterThan)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.GT} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.LessThan)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.LT} '{searchParametersList[i].Value}'";
+                    }
+                    else if(expressionType == LinqExpressionType.Contains)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.like} '%{searchParametersList[i].Value}%'";
                     }
                     else
                     {
@@ -133,7 +152,7 @@
         /// <param name="pageData"></param>
         /// <param name="propertyInfo"></param>
         /// <returns></returns>
-        private Dictionary<string, OrderByType> GetPageDataSort(PageDataOptions pageData, PropertyInfo[] propertyInfo)
+        protected Dictionary<string, OrderByType> GetPageDataSort(PageDataOptions pageData, PropertyInfo[] propertyInfo)
         {
             if (!string.IsNullOrEmpty(pageData.Sort))
             {
@@ -151,7 +170,7 @@
                 {
                     return new Dictionary<string, OrderByType> {
                         {
-                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc
+                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? OrderByType.Asc : OrderByType.Desc
                         } };
                 }
             }
@@ -263,7 +282,7 @@
                 }
 
                 Type detailType = typeof(TEntity).GetDetailType();
-                MethodInfo? methodInfo = GetType().GetMethod("AddDataIncludesDetail");
+                MethodInfo? methodInfo = GetType().GetMethod(nameof(AddDataIncludesDetail));
                 methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType });
                 object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData });
                 return obj as WebResponseContent;
@@ -373,27 +392,27 @@
 
                 TEntity entity = saveModel.MainData.DicToModel<TEntity>();
 
-                List<string> listCol = new List<string>();
-                foreach (var item in saveModel.MainData)
-                {
-                    PropertyInfo propertyInfo = typeof(TEntity).GetProperty(item.Key);
-                    if (propertyInfo == null)
-                    {
-                        propertyInfo = typeof(TEntity).GetProperty(item.Key.FirstLetterToLower());
-                        if (propertyInfo == null)
-                        {
-                            propertyInfo = typeof(TEntity).GetProperty(item.Key.FirstLetterToUpper());
-                        }
-                    }
+                //List<string> listCol = new List<string>();
+                //foreach (var item in saveModel.MainData)
+                //{
+                //    PropertyInfo propertyInfo = typeof(TEntity).GetProperty(item.Key);
+                //    if (propertyInfo == null)
+                //    {
+                //        propertyInfo = typeof(TEntity).GetProperty(item.Key.FirstLetterToLower());
+                //        if (propertyInfo == null)
+                //        {
+                //            propertyInfo = typeof(TEntity).GetProperty(item.Key.FirstLetterToUpper());
+                //        }
+                //    }
 
-                    listCol.Add(propertyInfo?.Name);
-                }
+                //    listCol.Add(propertyInfo?.Name);
+                //}
 
                 if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
                 {
-                    if (list != null)
-                        listCol = listCol.Where(x => !list.Contains(x)).ToList();
-                    bool result = BaseDal.UpdateData(entity, listCol, list);
+                    //if (list != null)
+                    //    listCol = listCol.Where(x => !list.Contains(x)).ToList();
+                    bool result = BaseDal.UpdateData(entity);
                     return WebResponseContent.Instance.OK();
                 }
 
@@ -403,7 +422,7 @@
                 }
 
                 Type detailType = typeof(TEntity).GetDetailType();
-                MethodInfo? methodInfo = GetType().GetMethod("UpdateDataInculdesDetail");
+                MethodInfo? methodInfo = GetType().GetMethod(nameof(UpdateDataInculdesDetail));
                 methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType });
                 object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData, saveModel.DelKeys });
                 return obj as WebResponseContent;

--
Gitblit v1.9.3