Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //С помощью данного сервиса можно управлять рабочим календарём: вычислять рабочее время,
- //проверить, является ли день рабочим, получать рабочее время, получать начало и конец рабочего дня,
- //изменять рабочие рамки.
- //запишем сервис в переменную, чтобы с ним легче было работать
- var service = Locator.GetServiceNotNull<IProductionCalendarService>();
- //Чтобы проверить, является ли дата рабочим днем, используйте функцию IsWorkDay(dateTime)
- var isWorkDay = service.IsWorkDay(DateTime.Now.AddDays(3));
- //Чтобы вычислить дату и время по истечении срока в соответствии с календарём, используйте функцию EvalTargetTime(startTime, interval)
- //или EvalTargetTime(startTime, intervalHours), где:
- //DateTime startTime - Дата начада;
- //TimeSpan interval - интервал времени;
- //double intervalHours - интревал в часах
- var dateTime = service.EvalTargetTime(DateTime.Now.AddDays(1), 5);
- //Чтобы вычислить интервал рабочего времени между датами используйте следующие функции:
- //1.EvalWorkTimeSpanDifference(startDate, endDate) (значение в днях, часах, минутах и секундах)
- var timeSpan = service.EvalWorkTimeSpanDifference(startDate, endDate);
- //2.EvalWorkTimeDifference(startTime, endTime) (значение в часах, минутах и секундах)
- var timeSpan = service.EvalWorkTimeDifference(startTime, endTime);
- //3.EvalWorkTimeHoursDifference(startTime, endTime) (значение в часах)
- var hours = service.EvalWorkTimeHoursDifference(startTime, endTime);
- //Чтобы определить рамки рабочего лня, используйте следующие функции:
- //1.GetWorkTimeStart(day) - получить начало рабочего времени
- var workTimeStart = service.GetWorkTimeStart(DateTime.Now);
- //2.GetWorkTimeEnd(day) - получить конец рабочего дня
- var workTimeEnd = service.GetWorkTimeEnd(DateTime.Now);
- //Чтобы получить продолжительность рабочего дня используйте следующие функции:
- //1.GetWorkTimeInDay() - для текущего дня
- var currentWorkTime = service.GetWorkTimeInDay();
- //2.GetWorkTimeInDay(day) - для определённого дня
- var workTime = service.GetWorkTimeInDay(DateTime.Now.AddDays(3));
- //3.MinutesInDay() - количество минут в текущем рабочем дне
- var currentMinutes = service.MinutesInDay();
- //4.MinutesInDay(day) - количество минут в определённом дне
- var minutes = service.MinutesInDay(DateTime.Now);
- //Чтобы добавить к дате определенное количество дней с учетом календаря (без учеты времени работы)
- //используйте функцию AddDays(startTime, addDays)
- var resultDate = service.AddDays(DateTime.Now, 5);
- //Чтобы установить выходной день используйте функцию SetHoliday(day)
- service.SetHoliday(DateTime.Now.AddDays(3));
- //Чтобы установить (изменить) рабочее время используйте следующие функции:
- //1.SetWorkDayTime(workStart) - установить только начало рабочего дня
- //в данном случае устанавливается рабоче время 9 утра
- service.SetWorkDayTime(new TimeSpan(9, 0, 0));
- //2.SetWorkDayTime(workStart, workEnd) - установить начало и конец рабочего дня
- service.SetWorkDayTime(new TimeSpan(9, 0, 0), new TimeSpan(18, 0, 0));
- //3.SetWorkDayTime(workStart, workEnd, dinnerStart, dinnerEnd) - установить начало и конец рабочего дня, начало и конец обеда
- service.SetWorkDayTime(new TimeSpan(9, 0, 0), new TimeSpan(18, 0, 0), new TimeSpan(12, 30, 0), new TimeSpan(13, 30, 0));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement