Ниже находится мой исходный объект
public class Source
{
public string Name { get; set; }
public DateTime GeneratedFrom { get; set; }
public DateTime GeneratedTo { get; set; }
}
Тогда объект назначения
public class Destination
{
public DateTime Day{ get; set; }
public string Name { get; set; }
}
Дата в пункте назначения получает свое значение от Source.GenerateFrom
и Source.GenerateTo
(повторяется до Source.Generatefrom <= Source.GenerateTo
используя пока l oop). Наконец, мне нужен список объектов, как показано ниже.
{"Day":"2019-02-04","name":"abc"},
{"Day":"2019-02-05","name":"abc"},
{"Day":"2019-02-06","name":"abc"}
Можно ли это сделать с помощью automapper?
Ниже приведен класс профиля mapper с whilel oop. Не уверен, что это правильный подход
CreateMap<Source, Destination>()
.forMember(
dest => dest.Day,
opt => opt.MapFrom(src => src.GenerateFrom))
.AfterMap((src, dest) =>
{
var StartDate = src.GenerateFrom;
var EndDate = src.GenerateTo;
List<Destination> list = new List<Destination>();
while(Startdate <= EndDate)
{
var data = new Destination {Day = StartDate, name = src.Name};
list.Add(data);
StartDate.AddDays(1);
}
});