/// <summary> /// Конструктор для создания ходки на основе уже имеющегося маршрута. Для его перестройки. /// </summary> public PossibleTrip(RouteList oldRoute) { OldRoute = oldRoute; Shift = oldRoute.Shift; var activeDistrictsSet = Driver.DriverDistrictPrioritySets.SingleOrDefault(x => x.IsActive); if (activeDistrictsSet != null && activeDistrictsSet.DriverDistrictPriorities.Any()) { Districts = activeDistrictsSet.DriverDistrictPriorities.Cast <IDistrictPriority>().ToArray(); } }
public IList <Employee> GetWorkingDriversAtDay(IUnitOfWork uow, DateTime date) { Employee employeeAlias = null; DriverWorkScheduleSet driverWorkScheduleSetAlias = null; DriverWorkSchedule driverWorkScheduleAlias = null; DeliveryDaySchedule deliveryDayScheduleAlias = null; DeliveryShift shiftAlias = null; return(uow.Session.QueryOver(() => employeeAlias) .Inner.JoinAlias(() => employeeAlias.DriverWorkScheduleSets, () => driverWorkScheduleSetAlias) .Inner.JoinAlias(() => driverWorkScheduleSetAlias.DriverWorkSchedules, () => driverWorkScheduleAlias) .Inner.JoinAlias(() => driverWorkScheduleAlias.DaySchedule, () => deliveryDayScheduleAlias) .Inner.JoinAlias(() => deliveryDayScheduleAlias.Shifts, () => shiftAlias) .Where(() => employeeAlias.Status == EmployeeStatus.IsWorking && (int)driverWorkScheduleAlias.WeekDay == (int)date.DayOfWeek && driverWorkScheduleSetAlias.IsActive ) .TransformUsing(Transformers.DistinctRootEntity) .List <Employee>()); }
public PossibleTrip(AtWorkDriver driver, DeliveryShift shift) { atWorkDriver = driver; Shift = shift; Districts = atWorkDriver.DistrictsPriorities.Cast <IDistrictPriority>().ToArray(); }
/// <summary> /// Конструктор для создания ходки на основе уже имеющегося маршрута. Для его перестройки. /// </summary> public PossibleTrip(RouteList oldRoute) { OldRoute = oldRoute; Shift = oldRoute.Shift; Districts = Driver.Districts.Cast <IDistrictPriority>().ToArray(); }