Exemple #1
0
        // *** Start programmer edit section *** (BusinessServer CustomMembers)

        // *** End programmer edit section *** (BusinessServer CustomMembers)


        // *** Start programmer edit section *** (OnUpdateExceptionDay CustomAttributes)
        /// <summary>
        ///
        /// </summary>
        /// <param name="UpdatedObject"></param>
        /// <returns></returns>
        // *** End programmer edit section *** (OnUpdateExceptionDay CustomAttributes)
        public virtual ICSSoft.STORMNET.DataObject[] OnUpdateExceptionDay(IIS.BusinessCalendar.ExceptionDay UpdatedObject)
        {
            // *** Start programmer edit section *** (OnUpdateExceptionDay)
            if (UpdatedObject.GetStatus() == ObjectStatus.Deleted)
            {
                DataServiceProvider.DataService.LoadObject(ExceptionDay.Views.ExceptionDayE, UpdatedObject, false, false);
                if (UpdatedObject.WorkTimeDefinition != null)
                {
                    TSSaveHelper.DeleteTimeSpans(UpdatedObject);
                    WorkTimeDefinition tempWts = UpdatedObject.WorkTimeDefinition;
                    UpdatedObject.WorkTimeDefinition = null;
                    DataServiceProvider.DataService.UpdateObject(UpdatedObject);
                    UpdatedObject.SetStatus(ObjectStatus.Deleted);
                    return(new DataObject[2] {
                        tempWts, UpdatedObject
                    });
                }
                else
                {
                    UpdatedObject.SetStatus(ObjectStatus.Deleted);
                }
            }
            return(new ICSSoft.STORMNET.DataObject[0]);
            // *** End programmer edit section *** (OnUpdateExceptionDay)
        }
        /// <summary>
        /// Метод обновляет временные промежутки в базе данных для дня-исключения
        /// </summary>
        /// <param name="UpdatedObject">Изменяемый день-исключение</param>
        public static void UpdateTimeSpans(IIS.BusinessCalendar.ExceptionDay UpdatedObject)
        {
            switch (UpdatedObject.GetStatus())
            {
            case ObjectStatus.Created:
            {
                using (var ds = (SQLDataService)DataServiceProvider.DataService)
                {
                    UpdatedObject.WorkTimeDefinition = new WorkTimeDefinition();
                    ds.UpdateObject(UpdatedObject);
                }
                fillWorkTimeDefinition(UpdatedObject.WorkTimeDefinition, UpdatedObject.WorkTimeSpans);
            }
            break;

            case ObjectStatus.Deleted:
            {
                deleteExsTimeSpans(UpdatedObject.WorkTimeDefinition);
            }
            break;

            default:
            {
                deleteExsTimeSpans(UpdatedObject.WorkTimeDefinition);
                if (UpdatedObject.WorkTimeSpans.Count > 0)
                {
                    fillWorkTimeDefinition(UpdatedObject.WorkTimeDefinition, UpdatedObject.WorkTimeSpans);
                }
            }
            break;
            }
        }