From d85a4b97325020b7efe1a6cdbd55025c6408cec9 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期五, 25 十月 2024 10:12:06 +0800
Subject: [PATCH] 更新

---
 WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs |   95 ++++++++++++++++++++---------------------------
 1 files changed, 41 insertions(+), 54 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
index d72dc1e..9a80c5b 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
@@ -4,6 +4,7 @@
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc.RazorPages;
 using Microsoft.Extensions.Options;
+using Newtonsoft.Json;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
 using SqlSugar;
 using System.Drawing.Drawing2D;
@@ -14,7 +15,6 @@
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.Utilities;
-using static OfficeOpenXml.ExcelErrorValue;
 
 namespace WIDESEAWCS_Core.BaseServices
 {
@@ -53,42 +53,10 @@
             Dictionary<string, OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
 
             PageGridData<TEntity> pageGridData = new PageGridData<TEntity>();
-            //if (QueryRelativeExpression != null)
-            //{
-            //    queryable = QueryRelativeExpression.Invoke(queryable);
-            //}
-            //if (options.Export)
-            //{
-            //    queryable = queryable.GetIQueryableOrderBy(orderbyDic);
-            //    if (Limit > 0)
-            //    {
-            //        queryable = queryable.Take(Limit);
-            //    }
-            //    pageGridData.rows = queryable.ToList();
-            //}
-            //else
-            //{
-            //    pageGridData.rows = repository.IQueryablePage(queryable,
-            //                        options.Page,
-            //                        options.Rows,
-            //                        out int rowCount,
-            //                        orderbyDic).ToList();
-            //    pageGridData.total = rowCount;
-            //    //鏌ヨ鐣岄潰缁熻姹傜瓑瀛楁
-            //    if (SummaryExpress != null)
-            //    {
-            //        pageGridData.summary = SummaryExpress.Invoke(queryable);
-            //        //Func<T, T> groupExpress = x =>x;
-            //        //pageGridData.summary = queryable.GroupBy(groupExpress).Select(SummaryExpress).FirstOrDefault();
-            //    }
-            //}
-            //GetPageDataOnExecuted?.Invoke(pageGridData);
-
             pageGridData = BaseDal.QueryPage(wheres, options.Page, options.Rows, orderbyDic);
 
             return pageGridData;
         }
-
 
         protected string ValidatePageOptions(PageDataOptions options)
         {
@@ -281,7 +249,7 @@
                     }
                 }
                 TEntity entity = saveModel.MainData.DicToModel<TEntity>();
-                if (saveModel.DetailData == null && saveModel.DetailData.Count == 0)
+                if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
                 {
                     BaseDal.AddData(entity);
                     return WebResponseContent.Instance.OK();
@@ -293,7 +261,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;
@@ -403,27 +371,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 (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();
                 }
 
@@ -433,7 +401,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;
@@ -735,5 +703,24 @@
             content = WebResponseContent.Instance.OK(data: savePath + "\\" + fileName);
             return content;
         }
+
+        public WebResponseContent ExportSeedData()
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string seedDataFolder = $"WIDESEAWCS_DB.DBSeed.Json/{typeof(TEntity).Name}.tsv";
+                List<TEntity> deviceInfos = BaseDal.QueryData();
+                string str = JsonConvert.SerializeObject(deviceInfos, Formatting.Indented);
+                List<Dictionary<string, object>> keyValuePairs = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(str);
+                FileHelper.WriteFileAndDelOldFile($"{AppDomain.CurrentDomain.BaseDirectory}wwwroot/{seedDataFolder}", str);
+                content = WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
     }
 }

--
Gitblit v1.9.3