72 lines
3.6 KiB
C#
72 lines
3.6 KiB
C#
using AutoMapper;
|
|
|
|
namespace GreenHome.Application;
|
|
|
|
// Mapping profile
|
|
public sealed class MappingProfile : Profile
|
|
{
|
|
public MappingProfile()
|
|
{
|
|
CreateMap<Domain.Device, DeviceDto>()
|
|
.ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name))
|
|
.ForMember(dest => dest.UserFamily, opt => opt.MapFrom(src => src.User.Family))
|
|
.ForMember(dest => dest.UserMobile, opt => opt.MapFrom(src => src.User.Mobile))
|
|
.ReverseMap()
|
|
.ForMember(dest => dest.User, opt => opt.Ignore());
|
|
|
|
CreateMap<Domain.TelemetryRecord, TelemetryDto>().ReverseMap();
|
|
|
|
CreateMap<Domain.DeviceSettings, DeviceSettingsDto>()
|
|
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
|
.ReverseMap()
|
|
.ForMember(dest => dest.Device, opt => opt.Ignore());
|
|
|
|
CreateMap<Domain.AlertCondition, AlertConditionDto>()
|
|
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
|
.ReverseMap()
|
|
.ForMember(dest => dest.Device, opt => opt.Ignore());
|
|
|
|
CreateMap<Domain.AlertRule, AlertRuleDto>().ReverseMap()
|
|
.ForMember(dest => dest.AlertCondition, opt => opt.Ignore());
|
|
|
|
CreateMap<CreateAlertRuleRequest, Domain.AlertRule>();
|
|
|
|
CreateMap<Domain.User, UserDto>().ReverseMap();
|
|
|
|
CreateMap<Domain.AlertLog, AlertLogDto>()
|
|
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
|
.ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name))
|
|
.ForMember(dest => dest.UserMobile, opt => opt.MapFrom(src => src.User.Mobile))
|
|
.ReverseMap()
|
|
.ForMember(dest => dest.Device, opt => opt.Ignore())
|
|
.ForMember(dest => dest.User, opt => opt.Ignore())
|
|
.ForMember(dest => dest.AlertCondition, opt => opt.Ignore());
|
|
|
|
CreateMap<Domain.UserDailyReport, UserDailyReportDto>()
|
|
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
|
.ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name))
|
|
.ForMember(dest => dest.UserFamily, opt => opt.MapFrom(src => src.User.Family));
|
|
|
|
CreateMap<Domain.ReportImage, ReportImageDto>();
|
|
|
|
CreateMap<Domain.Checklist, ChecklistDto>()
|
|
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
|
.ForMember(dest => dest.CreatedByUserName, opt => opt.MapFrom(src => src.CreatedByUser.Name + " " + src.CreatedByUser.Family));
|
|
|
|
CreateMap<Domain.ChecklistItem, ChecklistItemDto>();
|
|
|
|
CreateMap<Domain.ChecklistCompletion, ChecklistCompletionDto>()
|
|
.ForMember(dest => dest.ChecklistTitle, opt => opt.MapFrom(src => src.Checklist.Title))
|
|
.ForMember(dest => dest.CompletedByUserName, opt => opt.MapFrom(src => src.CompletedByUser.Name + " " + src.CompletedByUser.Family));
|
|
|
|
CreateMap<Domain.ChecklistItemCompletion, ChecklistItemCompletionDto>()
|
|
.ForMember(dest => dest.ItemTitle, opt => opt.MapFrom(src => src.ChecklistItem.Title));
|
|
|
|
CreateMap<Domain.DevicePost, DevicePostDto>()
|
|
.ForMember(dest => dest.AuthorName, opt => opt.MapFrom(src => src.AuthorUser.Name))
|
|
.ForMember(dest => dest.AuthorFamily, opt => opt.MapFrom(src => src.AuthorUser.Family));
|
|
|
|
CreateMap<Domain.DevicePostImage, DevicePostImageDto>();
|
|
}
|
|
}
|