// *** 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 students4 = ((SQLDataService)DataService).Query <Студент>(Студент.Views.СтудентE).Where(k => k.Обучается == true).Where(k => k.__PrimaryKey == UpdatedObject.Студент.__PrimaryKey).ToArray(); if (UpdatedObject.МодульВыбран == true) //если удаляем запись учебного плана, то нужно учесть уменьшение кол-ва выбранных модулей { var students = ((SQLDataService)DataService).Query <Студент>(Студент.Views.СтудентE).Where(k => k.Обучается == true).Where(k => k.__PrimaryKey == UpdatedObject.Студент.__PrimaryKey).ToArray(); foreach (var stu in students) { stu.КоличествоПрограмм--; UpdatedObject.МодульВыбран = false; } return(students); } } else //если не удаляем, а просто изменяем или создаем запись { ArrayList retObjs = new ArrayList(); var students2 = ((SQLDataService)DataService).Query <Студент>(Студент.Views.СтудентE).Where(k => k.Обучается == true).ToArray(); for (var z = 0; z < students2.Length; z++) { if ((UpdatedObject.МодульВыбран == true) && (UpdatedObject.Студент.Логин == students2[z].Логин)) { students2[z].КоличествоПрограмм++; } if ((UpdatedObject.МодульВыбран == false) || (UpdatedObject.Студент.Логин != students2[z].Логин)) { } if ((UpdatedObject.МодульВыбран == false) && (UpdatedObject.Студент.Логин == students2[z].Логин)) { if (UpdatedObject.GetStatus() == ICSSoft.STORMNET.ObjectStatus.Created) { //ибо условию в if выше этого соответствует снятие галочки "модуль выбран" в выборе приоритета. Что совпадает с комбинацией при создании модуля. } else { students2[z].КоличествоПрограмм--; } } retObjs.Add(students2[z]); } var ret = new ICSSoft.STORMNET.DataObject[retObjs.Count]; retObjs.CopyTo(ret, 0); return(ret); } 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; } return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateВыборПриоритета) }