Интерфейс сервиса рабочего календаря
Пространство имен: EleWise.ELMA.SchedulingСборка: EleWise.ELMA.SDK (в EleWise.ELMA.SDK.dll) Версия: 1.0.0.0 (3.8.0.22046)
Синтаксис
C# |
---|
public interface IProductionCalendarService |
Примеры
CopyC#
1//С помощью данного сервиса можно управлять рабочим календарём: вычислять рабочее время, 2//проверить, является ли день рабочим, получать рабочее время, получать начало и конец рабочего дня, 3//изменять рабочие рамки. 4 5//запишем сервис в переменную, чтобы с ним легче было работать 6var service = Locator.GetServiceNotNull<IProductionCalendarService>(); 7 8//Чтобы проверить, является ли дата рабочим днем, используйте функцию IsWorkDay(dateTime) 9var 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 - интревал в часах 16var dateTime = service.EvalTargetTime(DateTime.Now.AddDays(1), 5); 17 18//Чтобы вычислить интервал рабочего времени между датами используйте следующие функции: 19//1.EvalWorkTimeSpanDifference(startDate, endDate) (значение в днях, часах, минутах и секундах) 20var timeSpan = service.EvalWorkTimeSpanDifference(startDate, endDate); 21 22//2.EvalWorkTimeDifference(startTime, endTime) (значение в часах, минутах и секундах) 23var timeSpan = service.EvalWorkTimeDifference(startTime, endTime); 24 25//3.EvalWorkTimeHoursDifference(startTime, endTime) (значение в часах) 26var hours = service.EvalWorkTimeHoursDifference(startTime, endTime); 27 28//Чтобы определить рамки рабочего лня, используйте следующие функции: 29//1.GetWorkTimeStart(day) - получить начало рабочего времени 30var workTimeStart = service.GetWorkTimeStart(DateTime.Now); 31 32//2.GetWorkTimeEnd(day) - получить конец рабочего дня 33var workTimeEnd = service.GetWorkTimeEnd(DateTime.Now); 34 35//Чтобы получить продолжительность рабочего дня используйте следующие функции: 36//1.GetWorkTimeInDay() - для текущего дня 37var currentWorkTime = service.GetWorkTimeInDay(); 38 39//2.GetWorkTimeInDay(day) - для определённого дня 40var workTime = service.GetWorkTimeInDay(DateTime.Now.AddDays(3)); 41 42//3.MinutesInDay() - количество минут в текущем рабочем дне 43var currentMinutes = service.MinutesInDay(); 44 45//4.MinutesInDay(day) - количество минут в определённом дне 46var minutes = service.MinutesInDay(DateTime.Now); 47 48//Чтобы добавить к дате определенное количество дней с учетом календаря (без учеты времени работы) 49//используйте функцию AddDays(startTime, addDays) 50var resultDate = service.AddDays(DateTime.Now, 5); 51 52//Чтобы установить выходной день используйте функцию SetHoliday(day) 53service.SetHoliday(DateTime.Now.AddDays(3)); 54 55//Чтобы установить (изменить) рабочее время используйте следующие функции: 56//1.SetWorkDayTime(workStart) - установить только начало рабочего дня 57//в данном случае устанавливается рабоче время 9 утра 58service.SetWorkDayTime(new TimeSpan(9, 0, 0)); 59 60//2.SetWorkDayTime(workStart, workEnd) - установить начало и конец рабочего дня 61service.SetWorkDayTime(new TimeSpan(9, 0, 0), new TimeSpan(18, 0, 0)); 62 63//3.SetWorkDayTime(workStart, workEnd, dinnerStart, dinnerEnd) - установить начало и конец рабочего дня, начало и конец обеда 64service.SetWorkDayTime(new TimeSpan(9, 0, 0), new TimeSpan(18, 0, 0), new TimeSpan(12, 30, 0), new TimeSpan(13, 30, 0));