// *** Start programmer edit section *** (OnUpdateWorkTimeDefinition CustomAttributes) // *** End programmer edit section *** (OnUpdateWorkTimeDefinition CustomAttributes) public virtual ICSSoft.STORMNET.DataObject[] OnUpdateWorkTimeDefinition(IIS.BusinessCalendar.WorkTimeDefinition UpdatedObject) { // *** Start programmer edit section *** (OnUpdateWorkTimeDefinition) return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateWorkTimeDefinition) }
/// <summary> /// Метод обновляет временные промежутки для выбранного дня-исключения/дня стандартной рабочей недели /// </summary> /// <param name="workTimeDefinition">определение дня, который нужно обновить</param> /// <param name="workTimeSpans">новые временные промежутки</param> public static void UpdateTimeSpans(IIS.BusinessCalendar.WorkTimeDefinition workTimeDefinition, List <TimeSpan> workTimeSpans) { using (var ds = (SQLDataService)DataServiceProvider.DataService) { deleteExsTimeSpans(workTimeDefinition); fillWorkTimeDefinition(workTimeDefinition, workTimeSpans); } }
/// <summary> /// Метод удаляет временные промежутки, хранящиеся в базе данных /// </summary> /// <param name="workTimeDefinition">Агрегатор временных промежутков</param> private static void deleteExsTimeSpans(IIS.BusinessCalendar.WorkTimeDefinition workTimeDefinition) { using (var ds = (SQLDataService)DataServiceProvider.DataService) { IQueryable <WorkTimeSpan> wtsQuery = ds.Query <WorkTimeSpan>(); IQueryable <WorkTimeSpan> query = wtsQuery.Where <WorkTimeSpan>(w => w.WorkTimeDefinition == workTimeDefinition); List <DataObject> wtsList = query.Cast <DataObject>().ToList(); foreach (DataObject wts in wtsList) { wts.SetStatus(ObjectStatus.Deleted); } var dataObjects = wtsList.ToArray(); ds.UpdateObjects(ref dataObjects); } }
/// <summary> /// Метод сохраняет временные промежутки в базе данных /// </summary> /// <param name="workTimeDefinition">Агрегатов временных промежутков</param> /// <param name="workTimeSpans">Список временных промежутков</param> private static void fillWorkTimeDefinition(IIS.BusinessCalendar.WorkTimeDefinition workTimeDefinition, List <TimeSpan> workTimeSpans) { if (workTimeSpans.Count > 0) { using (var ds = (SQLDataService)DataServiceProvider.DataService) { List <DataObject> wtsList = new List <DataObject>(); foreach (TimeSpan ts in workTimeSpans) { WorkTimeSpan wts = new WorkTimeSpan(); wts.StartTime = (decimal)(ts.StartTimeH + ts.StartTimeM * 0.01); wts.EndTime = (decimal)(ts.EndTimeH + ts.EndTimeM * 0.01); wts.WorkTimeDefinition = workTimeDefinition; wtsList.Add(wts); } var dataObjects = wtsList.ToArray(); ds.UpdateObjects(ref dataObjects); } } }
// *** Start programmer edit section *** (IIS.BusinessCalendar.DetailArrayOfWorkTimeSpan members) // *** End programmer edit section *** (IIS.BusinessCalendar.DetailArrayOfWorkTimeSpan members) /// <summary> /// Construct detail array. /// </summary> /// <summary> /// Returns object with type WorkTimeSpan by index. /// </summary> /// <summary> /// Adds object with type WorkTimeSpan. /// </summary> public DetailArrayOfWorkTimeSpan(IIS.BusinessCalendar.WorkTimeDefinition fWorkTimeDefinition) : base(typeof(WorkTimeSpan), ((ICSSoft.STORMNET.DataObject)(fWorkTimeDefinition))) { }