CalendarEntryViewModel, . .., .
, :
foreach (var item in clubsList)
{
clubsViewModelList.Add(AutoMapper.Mapper.Map<ClubViewModel>(item));
}
Automapper ... :
var clubsViewModelList = Mapper.Map<IList<Club>, IList<ClubViewModel>>(clubsList);
, , , ... . . , , , , . :
public class ClubViewModel
{
public int ClubId { get; set; }
public string Organisation { get; set; }
public IList<CalendarEntryViewModel> CalendarEntries { get; set; }
}
:
.ForMember(dest => dest.IsMonday, opt => opt.MapFrom(src => src.Day == Days.Monday))
.ForMember(dest => dest.IsTuesday, opt => opt.MapFrom(src => src.Day == Days.Tuesday))
:
public DateTime? From { get; set; }
public DateTime? To { get; set; }
:
foreach (var club in clubsViewModelList) {
club.CalendarEntries = club.CalendarEntries.OrderBy(x => x.Day).ToList();
}
, , :
@foreach (var calendarEntry in club.CalendarEntries) {
Day: @calendarEntry.Day.ToString()
From: @calendarEntry.From.ToString("D")
}
.. ..
.. :
public class ClubCalendarEntryCreateViewModel {
public IList<CalendarEntryViewModel> Days { get; set; }
}
:
viewModel.CalendarEntries = new ClubCalendarEntryCreateViewModel {
Days = new List<CalendarEntryViewModel>() {
new CalendarEntryViewModel {
IsMonday = true
},
new CalendarEntryViewModel {
IsTuesday = true
},
}
};
POST. :
club.CalendarEntries = Mapper.Map<IList<CalendarEntryViewModel>, IList<CalendarEntry>>(viewModel.CalendarEntries.Days);
(, CalendarEntry).. , , . , , . , ( ), .
, ... , , , , ( , ).