- Updated `MappingProfile.cs` to add detailed mapping for `Envelope` to `EnvelopeDto`, including `EnvelopeTypeTitle`. - Added a grid persistence hint banner in `EnvelopeSenderPage.razor` with an SVG icon and German message. - Introduced three new columns (`EnvelopeTypeTitle`, `AddedWhen`, `ChangedWhen`) to the grid in `EnvelopeSenderPage.razor`. - Refactored boot overlay removal logic in `App.razor` into a reusable function `sfRemoveBootOverlay`. - Simplified event handling for overlay removal and fallback logic in `App.razor`. - Adjusted `.sender-grid-wrapper` padding in `sender-page.css` and added styles for the new grid persistence hint banner.
71 lines
3.6 KiB
C#
71 lines
3.6 KiB
C#
using AutoMapper;
|
|
using EnvelopeGenerator.Application.Common.Dto.History;
|
|
using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiver;
|
|
using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiverReadOnly;
|
|
using EnvelopeGenerator.Application.Common.Dto.Messaging;
|
|
using EnvelopeGenerator.Application.Common.Dto.Receiver;
|
|
using EnvelopeGenerator.Application.Common.Extensions;
|
|
using EnvelopeGenerator.Domain.Entities;
|
|
|
|
using EnvelopeGenerator.Application.Common.Dto;
|
|
|
|
namespace EnvelopeGenerator.Application.Common;
|
|
|
|
/// <summary>
|
|
/// Represents the AutoMapper profile configuration for mapping between
|
|
/// domain entities and data transfer objects (DTOs) used within the EnvelopeGenerator application.
|
|
/// </summary>
|
|
public class MappingProfile : Profile
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="MappingProfile"/> class.
|
|
/// Configures the mappings between entities and DTOs used throughout the application.
|
|
/// </summary>
|
|
public MappingProfile()
|
|
{
|
|
// Entity to DTO mappings
|
|
CreateMap<Config, ConfigDto>();
|
|
CreateMap<DocReceiverElement, DocReceiverElementDto>();
|
|
CreateMap<DocumentStatus, DocumentStatusDto>();
|
|
CreateMap<EmailTemplate, EmailTemplateDto>();
|
|
CreateMap<Envelope, EnvelopeDto>()
|
|
.ForMember(dest => dest.EnvelopeTypeTitle,
|
|
opt => opt.MapFrom(src => src.Type != null ? src.Type.Title : null));
|
|
CreateMap<Document, DocumentDto>();
|
|
CreateMap<History, HistoryDto>().ForMember(dest => dest.ActionDate, opt => opt.MapFrom(src => src.ChangedWhen));
|
|
CreateMap<History, HistoryCreateDto>().ForMember(dest => dest.ActionDate, opt => opt.MapFrom(src => src.ChangedWhen));
|
|
CreateMap<EnvelopeReceiver, EnvelopeReceiverDto>();
|
|
CreateMap<EnvelopeReceiver, EnvelopeReceiverSecretDto>();
|
|
CreateMap<EnvelopeType, EnvelopeTypeDto>();
|
|
CreateMap<Receiver, ReceiverDto>();
|
|
CreateMap<EnvelopeReceiverReadOnly, EnvelopeReceiverReadOnlyDto>();
|
|
CreateMap<ElementAnnotation, AnnotationDto>();
|
|
|
|
// DTO to Entity mappings
|
|
CreateMap<ConfigDto, Config>();
|
|
CreateMap<DocReceiverElementDto, DocReceiverElement>();
|
|
CreateMap<Signature, DocReceiverElement>()
|
|
.ForMember(dest => dest.Ink, opt => opt.MapFrom(src => src.DataUrl.MapDataUrlToRequiredBytes()))
|
|
.MapChangedWhen();
|
|
CreateMap<DocumentStatusDto, DocumentStatus>();
|
|
CreateMap<EmailTemplateDto, EmailTemplate>();
|
|
CreateMap<EnvelopeDto, Envelope>();
|
|
CreateMap<DocumentDto, Document>();
|
|
CreateMap<HistoryDto, History>().ForMember(dest => dest.ChangedWhen, opt => opt.MapFrom(src => src.ActionDate));
|
|
CreateMap<HistoryCreateDto, History>().ForMember(dest => dest.ChangedWhen, opt => opt.MapFrom(src => src.ActionDate));
|
|
CreateMap<EnvelopeReceiverDto, EnvelopeReceiver>();
|
|
CreateMap<EnvelopeTypeDto, EnvelopeType>();
|
|
CreateMap<ReceiverDto, Receiver>().ForMember(rcv => rcv.EnvelopeReceivers, rcvReadDto => rcvReadDto.Ignore());
|
|
CreateMap<EnvelopeReceiverReadOnlyCreateDto, EnvelopeReceiverReadOnly>();
|
|
CreateMap<EnvelopeReceiverReadOnlyUpdateDto, EnvelopeReceiverReadOnly>();
|
|
CreateMap<AnnotationCreateDto, ElementAnnotation>()
|
|
.MapAddedWhen();
|
|
|
|
// Messaging mappings
|
|
// for GTX messaging
|
|
CreateMap<GtxMessagingResponse, SmsResponse>()
|
|
.ConstructUsing(gtxRes => gtxRes.Ok()
|
|
? new SmsResponse() { Ok = true }
|
|
: new SmsResponse() { Ok = false, Errors = gtxRes });
|
|
}
|
|
} |