From 363606dc615a6d6a98f478da4b6ad97681dfad30 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 1 Aug 2025 13:19:10 +0200 Subject: [PATCH] Refactor DTOs and mappings for improved structure - Removed `Id`, `Headlines`, and `States` from `ObjectDto`; added `State` property of type `ObjectStateDto?`. - Completely removed `ProfileControlsTFDto` and `StateDto` classes. - Removed `Id` from `ProfileDto`, keeping `TypeId` unchanged. - Updated `MappingProfile` to remove mappings for `ProfileControlsTFDto` and `StateDto`, and changed mapping for `PControlsTF` to `PControlsTFDto`. - Introduced new `ObjectStateDto` class with properties for `Intl`, `Others`, and a collection of `TFControls`. - Added new `PControlsTFDto` class with various control attributes. --- src/WorkFlow.Application/Dto/ObjectDto.cs | 6 +----- src/WorkFlow.Application/Dto/ObjectStateDto.cs | 13 +++++++++++++ .../{ProfileControlsTFDto.cs => PControlsTFDto.cs} | 4 +--- src/WorkFlow.Application/Dto/ProfileDto.cs | 2 -- src/WorkFlow.Application/Dto/StateDto.cs | 4 ---- src/WorkFlow.Application/MappingProfile.cs | 10 +++++----- 6 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 src/WorkFlow.Application/Dto/ObjectStateDto.cs rename src/WorkFlow.Application/Dto/{ProfileControlsTFDto.cs => PControlsTFDto.cs} (86%) delete mode 100644 src/WorkFlow.Application/Dto/StateDto.cs diff --git a/src/WorkFlow.Application/Dto/ObjectDto.cs b/src/WorkFlow.Application/Dto/ObjectDto.cs index 5b64914..198b1f6 100644 --- a/src/WorkFlow.Application/Dto/ObjectDto.cs +++ b/src/WorkFlow.Application/Dto/ObjectDto.cs @@ -2,15 +2,11 @@ public class ObjectDto { - public long? Id { get; set; } - public IEnumerable Headlines { get; set; } = Array.Empty(); public IEnumerable Sublines { get; set; } = Array.Empty(); public string? CmdCheckIn { get; set; } - public IEnumerable States { get; set; } = Array.Empty(); - - public IEnumerable TFControls { get; set; } = Array.Empty(); + public ObjectStateDto? State { get; set; } } diff --git a/src/WorkFlow.Application/Dto/ObjectStateDto.cs b/src/WorkFlow.Application/Dto/ObjectStateDto.cs new file mode 100644 index 0000000..61f3ce2 --- /dev/null +++ b/src/WorkFlow.Application/Dto/ObjectStateDto.cs @@ -0,0 +1,13 @@ +namespace WorkFlow.Application.Dto; + +public record ObjectStateDto +{ + public virtual string? Intl { get; set; } + + /// + /// Holds state 2, 3 and 4 as a list of strings. + /// + public IEnumerable Others { get; set; } = Array.Empty(); + + public virtual IEnumerable? TFControls { get; set; } +} \ No newline at end of file diff --git a/src/WorkFlow.Application/Dto/ProfileControlsTFDto.cs b/src/WorkFlow.Application/Dto/PControlsTFDto.cs similarity index 86% rename from src/WorkFlow.Application/Dto/ProfileControlsTFDto.cs rename to src/WorkFlow.Application/Dto/PControlsTFDto.cs index 1158ee1..e8f3840 100644 --- a/src/WorkFlow.Application/Dto/ProfileControlsTFDto.cs +++ b/src/WorkFlow.Application/Dto/PControlsTFDto.cs @@ -1,9 +1,7 @@ namespace WorkFlow.Application.Dto; -public record ProfileControlsTFDto +public record PControlsTFDto { - public long Id { get; set; } - public byte? DialogNo { get; set; } public string? AttrName { get; set; } diff --git a/src/WorkFlow.Application/Dto/ProfileDto.cs b/src/WorkFlow.Application/Dto/ProfileDto.cs index f7a1851..f02032f 100644 --- a/src/WorkFlow.Application/Dto/ProfileDto.cs +++ b/src/WorkFlow.Application/Dto/ProfileDto.cs @@ -4,8 +4,6 @@ namespace WorkFlow.Application.Dto; public class ProfileDto { - public int? Id { get; init; } - public byte? TypeId { get; init; } public string? Caption { get; init; } diff --git a/src/WorkFlow.Application/Dto/StateDto.cs b/src/WorkFlow.Application/Dto/StateDto.cs deleted file mode 100644 index c6499b0..0000000 --- a/src/WorkFlow.Application/Dto/StateDto.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace WorkFlow.Application.Dto -{ - public record StateDto(int Id, string IntlState, string AddedWho, DateTime AddedWhen); -} \ No newline at end of file diff --git a/src/WorkFlow.Application/MappingProfile.cs b/src/WorkFlow.Application/MappingProfile.cs index 728af79..62783e5 100644 --- a/src/WorkFlow.Application/MappingProfile.cs +++ b/src/WorkFlow.Application/MappingProfile.cs @@ -11,13 +11,13 @@ public class MappingProfile : AutoMapper.Profile // Mapping entity to DTO CreateMap(); CreateMap(); - CreateMap(); - CreateMap(); + CreateMap(); CreateMap(); CreateMap() .ForMember(dest => dest.Headlines, opt => opt.MapFrom(src => new[] { src.Headline1, src.Headline2 })) - .ForMember(dest => dest.Sublines, opt => opt.MapFrom(src => new[] { src.Subline1, src.Subline2 })) - .ForMember(dest => dest.States, opt => opt.MapFrom(src => src.State != null ? src.State.ToList() : Array.Empty())) - .ForMember(dest => dest.TFControls, opt => opt.MapFrom(src => src.State != null ? src.State.TFControls : null)); + .ForMember(dest => dest.Sublines, opt => opt.MapFrom(src => new[] { src.Subline1, src.Subline2 })); + CreateMap() + .ForMember(dest => dest.Intl, opt => opt.MapFrom(src => src.State1 != null ? src.State1.IntlState : null)) + .ForMember(dest => dest.Others, opt => opt.MapFrom(src => new string?[] { src.State2, src.State3, src.State4 })); } } \ No newline at end of file