|  |  |  | 
|---|
|  |  |  | using Newtonsoft.Json; | 
|---|
|  |  |  | using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; | 
|---|
|  |  |  | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | using System.Collections.Generic; | 
|---|
|  |  |  | using System.ComponentModel; | 
|---|
|  |  |  | 
|---|
|  |  |  | using WIDESEA_Core.DB; | 
|---|
|  |  |  | using WIDESEA_Core.Enums; | 
|---|
|  |  |  | using WIDESEA_Core.Helper; | 
|---|
|  |  |  | using WIDESEA_Core.Utilities; | 
|---|
|  |  |  | using WIDESEA_DTO.System; | 
|---|
|  |  |  | using WIDESEA_IBasicRepository; | 
|---|
|  |  |  | using WIDESEA_ISystemRepository; | 
|---|
|  |  |  | using WIDESEA_ISystemService; | 
|---|
|  |  |  | using WIDESEA_Model.Models; | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | private readonly IUnitOfWorkManage _unitOfWorkManage; | 
|---|
|  |  |  | private readonly ICacheService _cacheService; | 
|---|
|  |  |  | private readonly IBasicRepository _basicRepository; | 
|---|
|  |  |  | private readonly ISupplierInfoRepository _supplierInfoRepository; | 
|---|
|  |  |  | private readonly ISys_RoleDataPermissionRepository _roleDataPermissionRepository; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService) : base(BaseDal) | 
|---|
|  |  |  | public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, IBasicRepository basicRepository, ISys_RoleDataPermissionRepository roleDataPermissionRepository, ISupplierInfoRepository supplierInfoRepository) : base(BaseDal) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _unitOfWorkManage = unitOfWorkManage; | 
|---|
|  |  |  | _cacheService = cacheService; | 
|---|
|  |  |  | _basicRepository = basicRepository; | 
|---|
|  |  |  | _roleDataPermissionRepository = roleDataPermissionRepository; | 
|---|
|  |  |  | _supplierInfoRepository = supplierInfoRepository; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public ISys_DictionaryRepository Repository => BaseDal; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public override WebResponseContent AddData(SaveModel saveModel) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string validResult = typeof(Sys_Dictionary).ValidateDicInEntity(saveModel.MainData, true, TProperties); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!string.IsNullOrEmpty(validResult)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(validResult); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Sys_Dictionary dictionary = saveModel.MainData.DicToModel<Sys_Dictionary>(); | 
|---|
|  |  |  | _cacheService.Remove(dictionary.DicNo); | 
|---|
|  |  |  | if (!string.IsNullOrEmpty(_cacheService.Get(dictionary.DicNo))) | 
|---|
|  |  |  | _cacheService.Remove(dictionary.DicNo); | 
|---|
|  |  |  | return base.AddData(saveModel); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | DicNo = s.DicNo, | 
|---|
|  |  |  | Config = s.Config, | 
|---|
|  |  |  | //dbSql = s.Sql, | 
|---|
|  |  |  | Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }) | 
|---|
|  |  |  | Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }), | 
|---|
|  |  |  | SaveCache = false | 
|---|
|  |  |  | }).ToList(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var item in selectDics) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!_cacheService.Exists(item.DicNo)) | 
|---|
|  |  |  | if (!_cacheService.Exists(item.DicNo) && item.SaveCache) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _cacheService.Add(item.DicNo, item.Serialize()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var item in dics) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dicList.Remove(item); | 
|---|
|  |  |  | cusDics.Add(item); | 
|---|
|  |  |  | if (dicNos.Contains(item) && !cacheDicNos.Contains(item)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dicList.Remove(item); | 
|---|
|  |  |  | cusDics.Add(item); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var item in cusDics) | 
|---|
|  |  |  | 
|---|
|  |  |  | if (vueDictionaryDTO != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | vueDictionaryDTOs.Add(vueDictionaryDTO); | 
|---|
|  |  |  | if (!_cacheService.Exists(item)) | 
|---|
|  |  |  | if (!_cacheService.Exists(item) && vueDictionaryDTO.SaveCache) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _cacheService.Add(item, vueDictionaryDTO.Serialize()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | switch (key) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | case "warehouses": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in warehouses) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.WarehouseId, value = item.WarehouseName }); | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "suppliers": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_SupplierInfo> supplierInfos = _supplierInfoRepository.QueryData(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in supplierInfos) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.SupplierCode, value = item.SupplierCode }); | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "materials": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in materielInfos) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.MaterielCode, value = item.MaterielCode }); | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "taskType": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region TaskTypeEnum | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(TaskTypeEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "inboundState": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(TaskTypeEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    Type type = typeof(TaskTypeEnum); | 
|---|
|  |  |  | //    List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | //    int index = 0; | 
|---|
|  |  |  | //    foreach (var item in enums) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString()); | 
|---|
|  |  |  | //        DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | //        if (description != null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        else | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        index++; | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(InTaskStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(InTaskStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | Type type = typeof(TaskStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(InTaskStatusEnum).GetField(((InTaskStatusEnum)item).ToString()); | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(OutTaskStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(OutTaskStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(OutTaskStatusEnum).GetField(((OutTaskStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    Type type = typeof(TaskStatusEnum); | 
|---|
|  |  |  | //    List<int> enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | //    int index = 0; | 
|---|
|  |  |  | //    foreach (var item in enums) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString()); | 
|---|
|  |  |  | //        DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | //        if (description != null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        else | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        index++; | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "receiveOrderTypeEnum": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(ReceiveOrderTypeEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(ReceiveOrderTypeEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(ReceiveOrderTypeEnum).GetField(((ReceiveOrderTypeEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "authorityScope": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (App.User.IsSuperAdmin) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(x => true); | 
|---|
|  |  |  | var data = warehouses.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Sys_RoleDataPermission> roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == App.User.RoleId); | 
|---|
|  |  |  | var data = roleDataPermissions.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "authorityScopes": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Sys_Role> roles = Repository.Db.Queryable<Sys_Role>().ToList(); | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  | foreach (var item in roles) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Sys_RoleDataPermission> roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == item.RoleId); | 
|---|
|  |  |  | string value = ""; | 
|---|
|  |  |  | foreach (var roleDataPermission in roleDataPermissions) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value += (roleDataPermission.WarehouseName + ","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (roleDataPermissions.Count > 0) | 
|---|
|  |  |  | data.Add(new { key = item.RoleId, value = value.Substring(0, value.Length - 1) }); | 
|---|
|  |  |  | else | 
|---|
|  |  |  | data.Add(new { key = item.RoleId, value = "æ æé" }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | data.Add(new { key = -1, value = "æ æé" }); | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data, SaveCache = false }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "locationChangeType": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(LocationChangeType); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(LocationChangeType)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(LocationChangeType).GetField(((LocationChangeType)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "receiveStatus": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(ReceiveOrderStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(ReceiveOrderStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(ReceiveOrderStatusEnum).GetField(((ReceiveOrderStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "purchaseType": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(PurchaseOrderTypeEnum); | 
|---|
|  |  |  | List<string> enums = Enum.GetValues(typeof(PurchaseOrderTypeEnum)).Cast<string>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //FieldInfo? fieldInfo = typeof(PurchaseOrderTypeEnum).GetField(((PurchaseOrderTypeEnum)item).ToString()); | 
|---|
|  |  |  | //DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | //if (description != null) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "purchaseOrderStatus": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(PurchaseOrderStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(PurchaseOrderStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(PurchaseOrderStatusEnum).GetField(((PurchaseOrderStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case "printStatus": | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> data = new List<object>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type type = typeof(PrintStatusEnum); | 
|---|
|  |  |  | List<int> enums = Enum.GetValues(typeof(PrintStatusEnum)).Cast<int>().ToList(); | 
|---|
|  |  |  | int index = 0; | 
|---|
|  |  |  | foreach (var item in enums) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(PrintStatusEnum).GetField(((PrintStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (description != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = description.Description }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data.Add(new { key = item.ToString(), value = item.ToString() }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|