分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-06-05 1a7f388092c07cba07a4948a82509b23222f7865
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 *所有关于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();
        }
    }
}