private ShopCalendarDayBuilder(Guid shopId, DateTime date)
 {
     shopCalendarDay = new ShopCalendarDay <T>
     {
         ShopId             = shopId,
         Date               = date,
         WorkerCalendarDays = new WorkerCalendarDay <T> [0],
     };
 }
        private ShopCalendarDay <T> ToShopCalendarDay(Guid shopId, DateTime date, IEnumerable <CalendarDayStorageElement> storageElements)
        {
            var workerSchedule = new ShopCalendarDay <T>
            {
                ShopId             = shopId,
                Date               = date,
                WorkerCalendarDays = storageElements.Select(ToWorkerCalendarDay).ToArray(),
            };

            return(workerSchedule);
        }
        public ShopWorkingDayDto Convert(ShopCalendarDay <WorkerScheduleRecord> model, HashSet <Guid> workerIdSet, int version)
        {
            var workingDayMap = model.WorkerCalendarDays
                                .Where(x => workerIdSet.Contains(x.WorkerId))
                                .ToDictionary(x => x.WorkerId, x => x.Records.Select(r => mapperWrapper.Map <WorkingCalendarRecordDto>(r)).ToArray());

            return(new ShopWorkingDayDto
            {
                Date = model.Date,
                Version = version,
                WorkingDayMap = workingDayMap,
            });
        }