Сценарии для изменения производственного календаря

Примечание
Перед началом работы со сценариями рекомендуется ознакомиться со стандартами написания программного кода на языке C#.

Для успешной работы необходимо подключить пространство имен:

using EleWise.ELMA.Calendar


Для того, чтобы изменить рабочий календарь, необходимо выполнить следующие сценарии:

  • Изменить время рабочего дня (в целом для всех дней):
var schedule = ProductionSchedule.Load();
schedule.WorkEnd = new TimeSpan(0, 17, 30, 0, 0); //  установить время завершения рабочего дня
schedule.WorkStart = new TimeSpan(0, 8, 30, 0, 0); // установить время начала рабочего дня
schedule.DinnerStart = new TimeSpan(0, 12, 30, 0, 0); // установить время начала обеда
schedule.DinnerEnd = new TimeSpan(0, 13, 30, 0, 0); // установить время завершения обеда
schedule.Save();
  • Сделать короткий день (для конкретной даты изменить время рабочего дня):
var schedule = ProductionSchedule.Load();
var shortDay = new ProductionSchedule.ExceptionDay(ProductionSchedule.ExceptionDayType.ShortDay)
   {
    Date = new DateTime(2012, 11, 23),
    StartTime = new TimeSpan(9, 0, 0),
    EndTime = new TimeSpan(17, 0, 0)
   };
schedule.ExceptionDays.Add(shortDay);
schedule.Save();
  • Установить выходной день:
var schedule = ProductionSchedule.Load();
var hoilday = new ProductionSchedule.ExceptionDay(ProductionSchedule.ExceptionDayType.Holiday)
   {
    Date = new DateTime(2012, 11, 23)
   };
schedule.ExceptionDays.Add(hoilday);
schedule.Save();
Чтобы проверить, установились ли данные настройки, нужно вывести их в какую-либо переменную: 1. Данные по времени работы в рабочем дне и времени обеда:
var schedule = ProductionSchedule.Load();
context.text += schedule.WorkEnd +" "+ schedule.WorkStart +" "+ schedule.DinnerStart + " "+ schedule.DinnerEnd ;
2. Проверка рабочий ли день context.Data:
var calendar = Locator.GetServiceNotNull<IProductionCalendarService>();
if (calendar.IsWorkDay(context.Data)){
    context.ProverkaRabochegoDnya = true;
}
else{
    context.ProverkaRabochegoDnya = false;
} <br>