using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Helper; using WIDESEA_Core.Utilities; using WIDESEA_ISystemRepository; using WIDESEA_ISystemService; using WIDESEA_Model.Models.System; using WIDESEA_SystemRepository; using static Dm.parser.LVal; using Type = System.Type; namespace WIDESEA_SystemService { public class Sys_VehicleService : ServiceBase, ISys_VehicleService { public ISys_VehicleRepository Repository => BaseDal; public IDt_palletRepository _Repository; public ISys_TraycodeinfoRepository _sys_Traycodeinfo; IDt_palletRepository ISys_VehicleService._Repository => _Repository; ISys_TraycodeinfoRepository ISys_VehicleService._sys_Traycodeinfo => _sys_Traycodeinfo; public Sys_VehicleService(ISys_VehicleRepository BaseDal, IDt_palletRepository dt_Pallet, ISys_TraycodeinfoRepository sys_Traycodeinfo) : base(BaseDal) { _Repository = dt_Pallet; _sys_Traycodeinfo=sys_Traycodeinfo; } public WebResponseContent GetCachedatalst() { try { var traycode_materiel = BaseDal.QueryData() .ToList(); if (traycode_materiel != null) { return WebResponseContent.Instance.OK(data: traycode_materiel); } else { return WebResponseContent.Instance.OK(data: null); } } catch (Exception ex) { return WebResponseContent.Instance.OK(data: null); throw; } } /// /// 添加数据 /// /// /// public virtual WebResponseContent AddData(SaveModel saveModel) { try { if (saveModel == null || saveModel.MainData == null || saveModel.MainData.Count == 0)//判断参数是否传入 { return WebResponseContent.Instance.Error("传参错误,参数不能为空"); } string validResult = typeof(Sys_Vehicle).ValidateDicInEntity(saveModel.MainData, true, TProperties); if (!string.IsNullOrEmpty(validResult)) { return WebResponseContent.Instance.Error(validResult); } PropertyInfo keyPro = typeof(Sys_Vehicle).GetKeyProperty(); if (keyPro == null) { return WebResponseContent.Instance.Error("请先设置主键"); } if (keyPro.PropertyType == typeof(Guid)) { saveModel.MainData.Add(keyPro.Name, Guid.NewGuid()); } else if (keyPro.PropertyType == typeof(int) || keyPro.PropertyType == typeof(long)) { SugarColumn? sugarColumn = keyPro.GetCustomAttribute(); if (sugarColumn?.IsIdentity ?? true) { saveModel.MainData.Remove(keyPro.Name.FirstLetterToUpper()); saveModel.MainData.Remove(keyPro.Name.FirstLetterToLower()); } } Sys_Vehicle entity = saveModel.MainData.DicToModel(); List sys_Vehicles = BaseDal.QueryData(x => x.Vehiclename == entity.Vehiclename).ToList(); if (sys_Vehicles.Count > 0) { return WebResponseContent.Instance.Error("添加失败,已添加该车型!!!"); } if (saveModel.DetailData == null || saveModel.DetailData.Count == 0) { BaseDal.AddData(entity); return WebResponseContent.Instance.OK(); } if (typeof(Sys_Vehicle).GetNavigatePro() == null) { return WebResponseContent.Instance.Error("未配置导航属性"); } Type detailType = typeof(Sys_Vehicle).GetDetailType(); MethodInfo? methodInfo = GetType().GetMethod("AddDataIncludesDetail"); methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType }); object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData }); return obj as WebResponseContent; } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } } } }