public override VmExceptionalHours TranslateEntityToVm(ServiceHours entity) { var definition = CreateEntityViewModelDefinition(entity); var result = definitionHelper.AddOpeningHoursDefinition(definition) .AddSimple(input => input.IsClosed, output => output.Closed) .AddPartial(input => input.DailyOpeningTimes.FirstOrDefault(), output => output as IDailyHours) .GetFinal(); return(result); }
public override VmNormalHours TranslateEntityToVm(ServiceHours entity) { var definition = CreateEntityViewModelDefinition(entity); // .AddNavigation<ServiceChannelServiceHours, VmHours>(input => input, output => output, true) definitionHelper.AddOpeningHoursDefinition(definition); var result = definition .AddCollection(input => input.DailyOpeningTimes, output => output.DailyHours) .AddSimple(input => input.DailyOpeningTimes.Count == 0, output => output.Nonstop) .GetFinal(); result.DailyHours = result.DailyHours.GroupBy(x => x.DayFrom) .Select(x => x.OrderBy(d => d.Extra).Aggregate((d1, d2) => { d1.TimeFromExtra = d2.TimeFrom; d1.TimeToExtra = d2.TimeTo; d1.Extra = d2.Extra; return(d1); })).ToList(); return(result); }