| | |
| | | 锘縰sing OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using WIDESEA_Core.DB; |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Seed; |
| | | using WIDESEA_Core.Utilities; |
| | | |
| | | namespace WIDESEA_Core.Helper |
| | | { |
| | |
| | | AnalysisItemRuleAttribute? analysisItemRule = propertyInfo.GetCustomAttribute<AnalysisItemRuleAttribute>(); |
| | | if (analysisItemRule != null) |
| | | { |
| | | int index = items.IndexOf($"[{analysisItemRule.AnalysisFormaType}]"); |
| | | if (index != -1) |
| | | propertyInfo.SetValue(result, codes[index]); |
| | | if (analysisItemRule.AnalysisFormaType == AnalysisFormatTypeEnum.BD) |
| | | { |
| | | propertyInfo.SetValue(result, code.ChangeType(propertyInfo.PropertyType)); |
| | | } |
| | | else |
| | | { |
| | | int index = items.IndexOf($"[{analysisItemRule.AnalysisFormaType}]"); |
| | | if (index != -1) |
| | | { |
| | | propertyInfo.SetValue(result, codes[index]); |
| | | } |
| | | else |
| | | { |
| | | string? codeItem = items.FirstOrDefault(x => x.Contains($"[{analysisItemRule.AnalysisFormaType}]")); |
| | | if (!string.IsNullOrEmpty(codeItem)) |
| | | { |
| | | index = items.IndexOf(codeItem); |
| | | if (index != -1) |
| | | { |
| | | string value = codes[index]; |
| | | string replaceStr = codeItem.Replace($"[{analysisItemRule.AnalysisFormaType}]", ""); |
| | | |
| | | propertyInfo.SetValue(result, value.Replace(replaceStr, "").ChangeType(propertyInfo.PropertyType)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | |
| | | } |
| | | |
| | | (bool, string, object?) validateResult = ModelValidate.ValidateModelData(result, type); |
| | | if (!validateResult.Item1) |
| | | { |
| | | throw new Exception($"瑙f瀽閿欒,{validateResult.Item2}"); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | { |
| | | Type type = typeof(T); |
| | | List<T> list = new List<T>(); |
| | | |
| | | |
| | | try |
| | | { |
| | | AnalysisRuleAttribute? analysisRule = type.GetCustomAttribute<AnalysisRuleAttribute>(); |
| | |
| | | AnalysisItemRuleAttribute? analysisItemRule = propertyInfo.GetCustomAttribute<AnalysisItemRuleAttribute>(); |
| | | if (analysisItemRule != null) |
| | | { |
| | | if(analysisItemRule.AnalysisFormaType == AnalysisFormatTypeEnum.BD) |
| | | if (analysisItemRule.AnalysisFormaType == AnalysisFormatTypeEnum.BD) |
| | | { |
| | | propertyInfo.SetValue(result, code.ChangeType(propertyInfo.PropertyType)); |
| | | } |
| | |
| | | { |
| | | int index = items.IndexOf($"[{analysisItemRule.AnalysisFormaType}]"); |
| | | if (index != -1) |
| | | propertyInfo.SetValue(result, codes[index].ChangeType(propertyInfo.PropertyType)); |
| | | { |
| | | propertyInfo.SetValue(result, codes[index]); |
| | | } |
| | | else |
| | | { |
| | | string? codeItem = items.FirstOrDefault(x => x.Contains($"[{analysisItemRule.AnalysisFormaType}]")); |
| | | if (!string.IsNullOrEmpty(codeItem)) |
| | | { |
| | | index = items.IndexOf(codeItem); |
| | | if (index != -1) |
| | | { |
| | | string value = codes[index]; |
| | | string replaceStr = codeItem.Replace($"[{analysisItemRule.AnalysisFormaType}]", ""); |
| | | |
| | | propertyInfo.SetValue(result, value.Replace(replaceStr, "").ChangeType(propertyInfo.PropertyType)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |