// *** Start programmer edit section *** (СеместрБС CustomMembers) // *** End programmer edit section *** (СеместрБС CustomMembers) // *** Start programmer edit section *** (OnUpdateСеместр CustomAttributes) // *** End programmer edit section *** (OnUpdateСеместр CustomAttributes) public virtual ICSSoft.STORMNET.DataObject[] OnUpdateСеместр(IIS.Product_58826.Семестр UpdatedObject) { // *** Start programmer edit section *** (OnUpdateСеместр) return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateСеместр) }
// *** Start programmer edit section *** (СеместрБС CustomMembers) // *** End programmer edit section *** (СеместрБС CustomMembers) // *** Start programmer edit section *** (OnUpdateСеместр CustomAttributes) // *** End programmer edit section *** (OnUpdateСеместр CustomAttributes) public virtual ICSSoft.STORMNET.DataObject[] OnUpdateСеместр(IIS.Product_58826.Семестр UpdatedObject) { // *** Start programmer edit section *** (OnUpdateСеместр) if (UpdatedObject.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Deleted) { DataService.LoadObject(UpdatedObject); UpdatedObject.SetStatus(ICSSoft.STORMNET.ObjectStatus.Altered); UpdatedObject.Актуальность = false; var approve = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Семестр.__PrimaryKey == UpdatedObject.__PrimaryKey).ToArray(); foreach (var app in approve) { app.SetStatus(ICSSoft.STORMNET.ObjectStatus.Deleted); } return(approve); } return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateСеместр) }
// *** Start programmer edit section *** (СеместрБС CustomMembers) // *** End programmer edit section *** (СеместрБС CustomMembers) // *** Start programmer edit section *** (OnUpdateСеместр CustomAttributes) // *** End programmer edit section *** (OnUpdateСеместр CustomAttributes) public virtual ICSSoft.STORMNET.DataObject[] OnUpdateСеместр(IIS.Product_58826.Семестр UpdatedObject) { // *** Start programmer edit section *** (OnUpdateСеместр) if (UpdatedObject.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Deleted) { DataService.LoadObject(UpdatedObject); UpdatedObject.SetStatus(ICSSoft.STORMNET.ObjectStatus.Altered); UpdatedObject.Актуальность = false; var approve = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Семестр.__PrimaryKey == UpdatedObject.__PrimaryKey).ToArray(); foreach (var app in approve) { app.SetStatus(ICSSoft.STORMNET.ObjectStatus.Deleted); } return(approve); } if (UpdatedObject.Номер > 0) { var array = ((SQLDataService)DataService).Query <Семестр>(Семестр.Views.СеместрE).Where(k => k.__PrimaryKey != UpdatedObject.__PrimaryKey).Where(k => k.Актуальность == true).ToArray(); foreach (var arr in array) { if (UpdatedObject.Актуальность == true) { if (arr.Номер == UpdatedObject.Номер) { throw new Exception("Семестр с таким номером уже существует!"); } } } var array2 = ((SQLDataService)DataService).Query <Семестр>(Семестр.Views.СеместрE).Where(k => k.Актуальность == true).Where(k => k.__PrimaryKey != UpdatedObject.__PrimaryKey).ToArray(); foreach (var arr in array2) { if (UpdatedObject.Актуальность == true) { var begin = UpdatedObject.Начало; var end = UpdatedObject.Конец; if ((begin >= arr.Начало) && (begin <= arr.Конец)) { throw new Exception("Даты семестров пересекаются!"); } if ((end >= arr.Начало) && (end <= arr.Конец)) { throw new Exception("Даты семестров пересекаются!"); //подразумевается, что все семестры примерно одинаковой длины } //не может быть так, что один семестр 3 месяца, а другой 6 и полностью включает в себя первый (иначе бы проверка не сработала). if (begin >= end) { throw new Exception("Некорректная запись дат семестра!"); } } } } else { throw new Exception("Номер семестра должен быть положительным числом!"); } return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateСеместр) }