Introduce `CreateProfileHistoryCommand` to handle the creation of profile execution history records, including properties for `ProfileId`, `Result`, `ResultText`, and `AddedWho`. Add `CreateProfileHistoryCommandHandler` to process the command and persist the data using `IProfileHistoryRepository`. Define AutoMapper mappings in `MappingProfiles` to map `CreateProfileHistoryCommand` to the `ProfileHistory` entity, with specific configurations for ignored and mapped properties.
29 lines
864 B
C#
29 lines
864 B
C#
using ECMJobRunner.Application.ProfileHistories.Commands;
|
|
using ECMJobRunner.Domain.Entities;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ECMJobRunner.Application.ProfileHistories;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class MappingProfiles : AutoMapper.Profile
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public MappingProfiles()
|
|
{
|
|
CreateMap<CreateProfileHistoryCommand, ProfileHistory>()
|
|
.ForMember(dest => dest.Id, opt => opt.Ignore())
|
|
.ForMember(dest => dest.AddedWhen, opt => opt.MapFrom(_ => DateTime.Now))
|
|
.ForMember(dest => dest.ChangedWho, opt => opt.Ignore())
|
|
.ForMember(dest => dest.ChangedWhen, opt => opt.Ignore())
|
|
.ForMember(dest => dest.CfgProfile, opt => opt.Ignore());
|
|
}
|
|
}
|