- 新增 InputDialog 组件:
- 添加了 InputDialog.xaml 和 InputDialog.xaml.cs 文件
- 创建了 InputDialogViewModel.cs,继承自 DialogViewModelBase<string?>
- 实现了可重用的输入对话框,支持自定义标题、消息、标签和占位符
- 完善变量管理服务:
- 在 MappingProfile.cs 中添加了 VariableDto 到 VariableDto 的映射配置
- 在 VariableManagementService.cs 中注入 IMapper 依赖项
- 修改了 UpdateVariablesAsync 方法,使用 AutoMapper 进行更安全的更新操作
- 扩展变量表功能:
- 在 VariableTableViewModel.cs 中添加了 ModifyConversionFormula 命令
- 实现了批量修改变量转换公式功能,支持用户通过对话框输入新公式
- 添加了相应的 UI 通知和错误处理
- 在 VariableTableView.xaml 中添加了"修改数值转换公式"菜单项
- 集成 InputDialog 到对话框服务:
- 在 DialogService.cs 中注册了 InputDialogViewModel 和 InputDialog 的映射关系
68 lines
2.3 KiB
C#
68 lines
2.3 KiB
C#
using AutoMapper;
|
|
using DMS.Core.Models;
|
|
using DMS.Application.DTOs;
|
|
using DMS.Core.Models.Triggers;
|
|
|
|
namespace DMS.Application.Profiles;
|
|
|
|
/// <summary>
|
|
/// 配置AutoMapper的映射规则。
|
|
/// </summary>
|
|
public class MappingProfile : Profile
|
|
{
|
|
public MappingProfile()
|
|
{
|
|
CreateMap<Device, DeviceDto>()
|
|
.ReverseMap();
|
|
|
|
// VariableTable 映射
|
|
CreateMap<VariableTable, VariableTableDto>().ReverseMap();
|
|
|
|
// Variable 映射
|
|
CreateMap<Variable, VariableDto>()
|
|
.ReverseMap();
|
|
|
|
CreateMap<VariableDto, Variable>()
|
|
.ReverseMap();
|
|
CreateMap<VariableDto, VariableDto>()
|
|
.ReverseMap();
|
|
|
|
// MqttServer 映射
|
|
CreateMap<MqttServer, MqttServerDto>().ReverseMap();
|
|
|
|
// VariableMqttAlias 映射
|
|
CreateMap<VariableMqttAlias, VariableMqttAliasDto>()
|
|
.ForMember(dest => dest.MqttServerName, opt => opt.MapFrom(src => src.MqttServer.ServerName))
|
|
.ReverseMap();
|
|
|
|
// VariableHistory 映射
|
|
CreateMap<VariableHistory, VariableHistoryDto>()
|
|
.ForMember(dest => dest.VariableName, opt => opt.MapFrom(src => src.Variable.Name))
|
|
.ReverseMap();
|
|
|
|
// MenuBean 映射
|
|
CreateMap<MenuBean, MenuBeanDto>().ReverseMap();
|
|
|
|
// User 映射
|
|
CreateMap<User, UserDto>().ReverseMap();
|
|
CreateMap<Nlog, NlogDto>().ReverseMap();
|
|
|
|
// 邮件相关映射
|
|
CreateMap<EmailAccount, EmailAccountDto>().ReverseMap();
|
|
CreateMap<EmailAccount, CreateEmailAccountRequest>().ReverseMap();
|
|
|
|
CreateMap<EmailMessage, EmailMessageDto>().ReverseMap();
|
|
CreateMap<EmailMessage, SendEmailRequest>()
|
|
.ForMember(dest => dest.EmailAccountId, opt => opt.MapFrom(src => src.EmailAccountId))
|
|
.ReverseMap();
|
|
|
|
CreateMap<EmailTemplate, EmailTemplateDto>().ReverseMap();
|
|
|
|
CreateMap<EmailLog, EmailLogDto>().ReverseMap();
|
|
CreateMap<TriggerDefinition, TriggerDefinitionDto>()
|
|
.ForMember(dest => dest.VariableIds, opt => opt.MapFrom(src => src.VariableIds))
|
|
.ReverseMap()
|
|
.ForMember(dest => dest.VariableIds, opt => opt.MapFrom(src => src.VariableIds));
|
|
}
|
|
}
|