Ejemplo n.º 1
0
        /// <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>());
        }
Ejemplo n.º 3
0
 public PossibleTrip(AtWorkDriver driver, DeliveryShift shift)
 {
     atWorkDriver = driver;
     Shift        = shift;
     Districts    = atWorkDriver.DistrictsPriorities.Cast <IDistrictPriority>().ToArray();
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Конструктор для создания ходки на основе уже имеющегося маршрута. Для его перестройки.
 /// </summary>
 public PossibleTrip(RouteList oldRoute)
 {
     OldRoute  = oldRoute;
     Shift     = oldRoute.Shift;
     Districts = Driver.Districts.Cast <IDistrictPriority>().ToArray();
 }