/* *所有关于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_WCS.IRepositories; namespace WIDESEA_WCS.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 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(); } } }