Пример #1
0
        // *** 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ВыборПриоритета)
        }
Пример #2
0
        // *** 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ВыборПриоритета)
        }