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<Sys_Vehicle, ISys_VehicleRepository>, 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;
|
}
|
|
}
|
|
|
|
/// <summary>
|
/// 添加数据
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
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<SugarColumn>();
|
if (sugarColumn?.IsIdentity ?? true)
|
{
|
saveModel.MainData.Remove(keyPro.Name.FirstLetterToUpper());
|
saveModel.MainData.Remove(keyPro.Name.FirstLetterToLower());
|
}
|
}
|
Sys_Vehicle entity = saveModel.MainData.DicToModel<Sys_Vehicle>();
|
|
List<Sys_Vehicle> 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);
|
}
|
}
|
}
|
}
|