43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using AutoMapper;
|
|
using LeafWeb.Core.Entities;
|
|
using LeafWeb.Core.Utility;
|
|
|
|
namespace LeafWeb.Core.Remote
|
|
{
|
|
public class PiscalLeafInputFile
|
|
{
|
|
private static readonly IMapper Mapper;
|
|
|
|
public int LeafInputId { get; set; }
|
|
public string Filename { get; set; }
|
|
public byte[] Contents { get; set; }
|
|
public string DirectoryName { get; set; }
|
|
public string PhotosyntheticType { get; set; }
|
|
|
|
static PiscalLeafInputFile()
|
|
{
|
|
var config =
|
|
new MapperConfiguration(cfg =>
|
|
{
|
|
cfg.CreateMap<LeafInputFile, PiscalLeafInputFile>()
|
|
.ForMember(dest => dest.DirectoryName,
|
|
opt => opt.MapFrom(src => PiscalUtility.GetPiscalDirectoryName(src)))
|
|
.ForMember(dest => dest.Filename, opt =>
|
|
opt.MapFrom(src => src.Filename.WhitespaceToUnderscore().FilterValidFilename()))
|
|
.ForMember(dest => dest.LeafInputId, opt => opt.MapFrom(src => src.Id))
|
|
.ForMember(
|
|
dest => dest.PhotosyntheticType,
|
|
opt => opt.MapFrom(src => src.LeafInput.PhotosynthesisType.Id.WhitespaceToUnderscore()));
|
|
});
|
|
Mapper = config.CreateMapper();
|
|
}
|
|
|
|
public PiscalLeafInputFile() { }
|
|
|
|
public PiscalLeafInputFile(LeafInputFile leafInputFile)
|
|
{
|
|
Mapper.Map(leafInputFile, this);
|
|
}
|
|
}
|
|
}
|