Advertisement
yambroskin

Untitled

Jul 21st, 2018
1,030
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.59 KB | None | 0 0
  1. //С помощью данного сервиса можно управлять рабочим календарём: вычислять рабочее время,
  2.     //проверить, является ли день рабочим, получать рабочее время, получать начало и конец рабочего дня,
  3.     //изменять рабочие рамки.
  4.    
  5.     //запишем сервис в переменную, чтобы с ним легче было работать
  6.     var service = Locator.GetServiceNotNull<IProductionCalendarService>();
  7.    
  8.     //Чтобы проверить, является ли дата рабочим днем, используйте функцию IsWorkDay(dateTime)
  9.     var isWorkDay = service.IsWorkDay(DateTime.Now.AddDays(3));
  10.    
  11.     //Чтобы вычислить дату и время по истечении срока в соответствии с календарём, используйте функцию EvalTargetTime(startTime, interval)
  12.     //или EvalTargetTime(startTime, intervalHours), где:
  13.     //DateTime startTime - Дата начада;
  14.     //TimeSpan interval - интервал времени;
  15.     //double intervalHours - интревал в часах
  16.     var dateTime = service.EvalTargetTime(DateTime.Now.AddDays(1), 5);
  17.    
  18.     //Чтобы вычислить интервал рабочего времени между датами используйте следующие функции:
  19.     //1.EvalWorkTimeSpanDifference(startDate, endDate) (значение в днях, часах, минутах и секундах)
  20.     var timeSpan = service.EvalWorkTimeSpanDifference(startDate, endDate);
  21.    
  22.     //2.EvalWorkTimeDifference(startTime, endTime) (значение в часах, минутах и секундах)
  23.     var timeSpan = service.EvalWorkTimeDifference(startTime, endTime);
  24.    
  25.     //3.EvalWorkTimeHoursDifference(startTime, endTime) (значение в часах)
  26.     var hours = service.EvalWorkTimeHoursDifference(startTime, endTime);
  27.    
  28.     //Чтобы определить рамки рабочего лня, используйте следующие функции:
  29.     //1.GetWorkTimeStart(day) - получить начало рабочего времени
  30.     var workTimeStart = service.GetWorkTimeStart(DateTime.Now);
  31.    
  32.     //2.GetWorkTimeEnd(day) - получить конец рабочего дня
  33.     var workTimeEnd = service.GetWorkTimeEnd(DateTime.Now);
  34.    
  35.     //Чтобы получить продолжительность рабочего дня используйте следующие функции:
  36.     //1.GetWorkTimeInDay() - для текущего дня
  37.     var currentWorkTime = service.GetWorkTimeInDay();
  38.    
  39.     //2.GetWorkTimeInDay(day) - для определённого дня
  40.     var workTime = service.GetWorkTimeInDay(DateTime.Now.AddDays(3));
  41.    
  42.     //3.MinutesInDay() - количество минут в текущем рабочем дне
  43.     var currentMinutes = service.MinutesInDay();
  44.    
  45.     //4.MinutesInDay(day) - количество минут в определённом дне
  46.     var minutes = service.MinutesInDay(DateTime.Now);
  47.    
  48.     //Чтобы добавить к дате определенное количество дней с учетом календаря (без учеты времени работы)
  49.     //используйте функцию AddDays(startTime, addDays)
  50.     var resultDate = service.AddDays(DateTime.Now, 5);
  51.    
  52.     //Чтобы установить выходной день используйте функцию SetHoliday(day)
  53.     service.SetHoliday(DateTime.Now.AddDays(3));
  54.    
  55.     //Чтобы установить (изменить) рабочее время используйте следующие функции:
  56.     //1.SetWorkDayTime(workStart) - установить только начало рабочего дня
  57.     //в данном случае устанавливается рабоче время 9 утра
  58.     service.SetWorkDayTime(new TimeSpan(9, 0, 0));
  59.    
  60.     //2.SetWorkDayTime(workStart, workEnd) - установить начало и конец рабочего дня
  61.     service.SetWorkDayTime(new TimeSpan(9, 0, 0), new TimeSpan(18, 0, 0));
  62.    
  63.     //3.SetWorkDayTime(workStart, workEnd, dinnerStart, dinnerEnd) - установить начало и конец рабочего дня, начало и конец обеда
  64.     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