/*
|
*所有关于dt_geometry_data类的业务代码应在此处编写
|
*可使用repository.调用常用方法,获取EF/Dapper等信息
|
*如果需要事务请使用repository.DbContextBeginTransaction
|
*也可使用DBServerProvider.手动获取数据库相关信息
|
*用户信息、权限、角色等使用UserContext.Current操作
|
*dt_geometry_dataService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
|
*/
|
using WIDESEA_Core.BaseProvider;
|
using WIDESEA_Core.Extensions.AutofacManager;
|
using WIDESEA_Entity.DomainModels;
|
using System.Linq;
|
using WIDESEA_Core.Utilities;
|
using System.Linq.Expressions;
|
using WIDESEA_Core.Extensions;
|
using Microsoft.EntityFrameworkCore;
|
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.AspNetCore.Http;
|
using WIDESEA_WMS.IRepositories;
|
|
namespace WIDESEA_WMS.Services
|
{
|
public partial class dt_geometry_dataService
|
{
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly Idt_geometry_dataRepository _repository;//访问数据库
|
|
[ActivatorUtilitiesConstructor]
|
public dt_geometry_dataService(
|
Idt_geometry_dataRepository dbRepository,
|
IHttpContextAccessor httpContextAccessor
|
)
|
: base(dbRepository)
|
{
|
_httpContextAccessor = httpContextAccessor;
|
_repository = dbRepository;
|
//多租户会用到这init代码,其他情况可以不用
|
//base.Init(dbRepository);
|
}
|
public override WebResponseContent Add(SaveModel saveDataModel)
|
{
|
return base.Add(saveDataModel);
|
}
|
public override WebResponseContent Update(SaveModel saveModel)
|
{
|
WebResponseContent responseContent = new WebResponseContent();
|
var id = saveModel.MainData["ID"].ToInt();
|
var geometry_Data = repository.Find(x => x.ID == id).FirstOrDefault();
|
geometry_Data.a = saveModel.MainData["a"].ToFloat();
|
geometry_Data.b = saveModel.MainData["b"].ToFloat();
|
geometry_Data.c = saveModel.MainData["c"].ToFloat();
|
geometry_Data.d = saveModel.MainData["d"].ToFloat();
|
geometry_Data.e = saveModel.MainData["e"].ToFloat();
|
geometry_Data.f = saveModel.MainData["f"].ToFloat();
|
geometry_Data.g = saveModel.MainData["g"].ToFloat();
|
geometry_Data.h = saveModel.MainData["h"].ToFloat();
|
geometry_Data.stackNoRange = saveModel.MainData["stackNoRange"].ToInt();
|
geometry_Data.weight = saveModel.MainData["weight"].ToFloat();
|
if (geometry_Data.stackNoRange < 3) return responseContent.Error("打包数量不能少于3个!");
|
if (geometry_Data.stackNoRange > 6) return responseContent.Error("打包数量不能多于6个!");
|
if (geometry_Data.e > 1060 && geometry_Data.stackNoRange > 5) return responseContent.Error("打包数量不能超过5个!");
|
var height = geometry_Data.a + geometry_Data.b + geometry_Data.c + (geometry_Data.stackNoRange - 1) * (geometry_Data.a + geometry_Data.b + geometry_Data.c + geometry_Data.d);
|
if (height > 1170) return responseContent.Error($"打包数量不能超过{geometry_Data.stackNoRange}个!");
|
repository.Update(geometry_Data, true);
|
return responseContent.OK();
|
}
|
}
|
}
|