647556386
2 天以前 696edbff3c8812e4b820f624d66a02ae6ddb1a06
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
65
66
67
68
69
70
71
72
73
74
using AutoMapper;
using Microsoft.Extensions.Logging;
using System.Transactions;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_ITaskInfoService;
using WIDESEA_Model.Models;
 
namespace WIDESEA_TaskInfoService;
 
public class Task_HtyService : ServiceBase<Dt_Task_Hty, IRepository<Dt_Task_Hty>>, ITask_HtyService
{
    private readonly ILogger<Task_HtyService> _logger;
    private readonly IRepository<Dt_Task> _taskRepository;
    private readonly IMapper _mapper; // AutoMapper实例
    public Task_HtyService(IRepository<Dt_Task_Hty> BaseDal, IMapper mapper, ILogger<Task_HtyService> logger, IRepository<Dt_Task> taskRepository) : base(BaseDal)
    {
        _mapper = mapper;
        _logger = logger;
        _taskRepository = taskRepository;
    }
    public bool DeleteAndMoveIntoHty(Dt_Task task, OperateTypeEnum operateType)
    {
       // using var transaction = Db.Ado.UseTran();
        try
        {
            _taskRepository.DeleteAndMoveIntoHty(task, operateType);
 
            return true;
 
           //var historyEntity = _mapper.Map<Dt_Task_Hty>(task);
 
           // // 2. 填充历史实体核心字段
           // historyEntity.SourceId = task.TaskId;
           // historyEntity.OperateType =  App.User?.UserName != null ? OperateTypeEnum.自动完成.ToString() : OperateTypeEnum.人工完成.ToString();
           // historyEntity.Creater = App.User?.UserName != null ? App.User.UserName : "System"; 
 
           // // 覆盖修改人/修改时间(优先级高于映射)
           //// historyEntity.Modifier = App.User?.UserId > 0 ? App.User?.UserName : "System";
           //// historyEntity.ModifyDate = DateTime.Now;
 
           // // 3. 插入历史表(类型安全,无反射拼接表名)
 
           // int insertCount = Db.Insertable(historyEntity).ExecuteCommand();
 
           // if (insertCount <= 0)
           // {
           //     _logger.LogError($"任务历史表Dt_Task_Hty [{task.TaskNum}]插入失败,影响行数为0");
           //    // transaction.RollbackTran();
           //     return false;
           // }
 
           // // 4. 删除原实体(类型安全)
           // int deleteCount = Db.Deleteable(task).ExecuteCommand();
           // if (deleteCount <= 0)
           // {
           //     _logger.LogError("任务业务实体[{0}]删除失败,影响行数为0", task.TaskNum);
           //   //  transaction.RollbackTran();
           //     return false;
           // }
           // //transaction.CommitTran();
           // _logger.LogInformation("任务实体[{0}]已成功移入历史表[{1}]并删除原数据", task.TaskNum);
           // return true;
        }
        catch (Exception ex)
        {
           // transaction.RollbackTran();
            _logger.LogError(ex, "任务删除实体[{0}]并移入历史表失败", task.TaskNum);
            return false;
        }
    }
}