// *** 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) { ArrayList retObjs = new ArrayList(); // *** Start programmer edit section *** (OnUpdateСтудент) if (UpdatedObject.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Created) { if (UpdatedObject.Обучается == true) { if (UpdatedObject.Пароль.Length < 8) { throw new Exception("Длина пароля должна быть не менее 8 символов!"); } 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("Такой логин уже существует!"); } if ((arr.ФИО == UpdatedObject.ФИО) && (arr.ДатаРождения == UpdatedObject.ДатаРождения) && (arr.АдресПочты == UpdatedObject.АдресПочты)) { throw new Exception("Такой студент уже существует!"); } } } var semesters = ((SQLDataService)DataService).Query <Семестр>(Семестр.Views.СеместрE).Where(k => k.Актуальность == true).ToArray(); for (var i = 0; i < semesters.Length; i++) { var moduls = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Актуальность == true).Where(k => k.Семестр.Номер == semesters[i].Номер).ToArray(); for (var j = 0; j < moduls.Length; j++) { IDataService ds = DataServiceProvider.DataService; var запись = new ВыборПриоритета { Приоритет = j + 1, Модуль = moduls[j], Актуальность = true, МодульВыбран = false, Студент = UpdatedObject }; retObjs.Add(запись); } } } var ret = new ICSSoft.STORMNET.DataObject[retObjs.Count]; retObjs.CopyTo(ret, 0); return(ret); } 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.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Altered) { if (UpdatedObject.Пароль.Length < 8) { throw new Exception("Длина пароля должна быть не менее 8 символов!"); } 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("Такой логин уже существует!"); } if ((arr.ФИО == UpdatedObject.ФИО) && (arr.ДатаРождения == UpdatedObject.ДатаРождения) && (arr.АдресПочты == UpdatedObject.АдресПочты)) { throw new Exception("Такой студент уже существует!"); } } } } 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) { ArrayList retObjs = new ArrayList(); 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); retObjs.Add(app); } var ret = new ICSSoft.STORMNET.DataObject[retObjs.Count]; retObjs.CopyTo(ret, 0); return(ret); } if (UpdatedObject.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Created) { var array2 = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Название == UpdatedObject.Название).Where(k => k.Актуальность == true).ToArray(); foreach (var arr in array2) { if (UpdatedObject.Актуальность == true) { if (arr.Название == UpdatedObject.Название) { throw new Exception("Образовательная программа с таким названием уже существует!"); } } } ArrayList retObjs = new ArrayList(); if (UpdatedObject.Актуальность == true) { var students = ((SQLDataService)DataService).Query <Студент>(Студент.Views.СтудентE).Where(k => k.Обучается == true).ToArray(); for (var z = 0; z < students.Length; z++) { var semesters = ((SQLDataService)DataService).Query <Семестр>(Семестр.Views.СеместрE).Where(k => k.Актуальность == true).Where(k => k.Номер == UpdatedObject.Семестр.Номер).ToArray(); for (var i = 0; i < semesters.Length; i++) { var moduls = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Актуальность == true).Where(k => k.Семестр.Номер == semesters[i].Номер).ToArray(); //дополнение нового модуля в учебные планы студентов IDataService ds = DataServiceProvider.DataService; var запись = new ВыборПриоритета { Приоритет = moduls.Length + 1, Модуль = UpdatedObject, Актуальность = true, МодульВыбран = false, Студент = students[z] }; retObjs.Add(запись); } } } var ret = new ICSSoft.STORMNET.DataObject[retObjs.Count]; retObjs.CopyTo(ret, 0); return(ret); } var array = ((SQLDataService)DataService).Query <Модуль>(Модуль.Views.МодульE).Where(k => k.Название == UpdatedObject.Название).Where(k => k.Актуальность == true).Where(k => k.__PrimaryKey != UpdatedObject.__PrimaryKey).ToArray(); foreach (var arr in array) { if (UpdatedObject.Актуальность == true) { if (arr.Название == UpdatedObject.Название) { throw new Exception("Образовательная программа с таким названием уже существует!"); } } } return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateМодуль) }