// *** Start programmer edit section *** (ВелосипедBS CustomMembers) // *** End programmer edit section *** (ВелосипедBS CustomMembers) // *** Start programmer edit section *** (OnUpdateВелосипед CustomAttributes) // *** End programmer edit section *** (OnUpdateВелосипед CustomAttributes) public virtual ICSSoft.STORMNET.DataObject[] OnUpdateВелосипед(IIS.Прокат_велосипедов_2.Велосипед UpdatedObject) { // *** Start programmer edit section *** (OnUpdateВелосипед) var ds = DataServiceProvider.DataService; //Изменение объекта if (((DataObject)UpdatedObject).GetStatus() == ObjectStatus.Altered) { //if (!UpdatedObject.CheckLoadedProperty("ИсторияСостояний")) //{ // DataService.LoadObject(; //} //Если изменилось состояние, то ставим дату окончания старому состоянию //и содаем запись с новым состоянием if (UpdatedObject.IsAlteredProperty <Велосипед>(v => v.ТекущееСостояние)) { var oldStateHist = UpdatedObject.ИсторияСостояний.Cast <ИсторияСостояний>() .Where(x => x.ДатаОкончания == null && x.ДатаНачала <= DateTime.Now) .FirstOrDefault(); oldStateHist.ДатаОкончания = (ICSSoft.STORMNET.UserDataTypes.NullableDateTime)DateTime.Now; var newStateHist = new ИсторияСостояний { ДатаНачала = DateTime.Now, СостояниеВелосипеда = UpdatedObject.ТекущееСостояние, Велосипед = UpdatedObject }; UpdatedObject.ИсторияСостояний.Add(newStateHist); } } //Создание объекта if (((DataObject)UpdatedObject).GetStatus() == ObjectStatus.Created) { var topNumBike = ds.Query <Велосипед>(Велосипед.Views.ВелосипедE) .OrderByDescending(x => x.Номер) .FirstOrDefault(); int topNum = 0; if (topNumBike != null) { topNum = topNumBike.Номер + 1; } UpdatedObject.Номер = topNum; var newStateHist = new ИсторияСостояний { ДатаНачала = DateTime.Now, СостояниеВелосипеда = UpdatedObject.ТекущееСостояние, Велосипед = UpdatedObject }; UpdatedObject.ИсторияСостояний.Add(newStateHist); } return(new ICSSoft.STORMNET.DataObject[0]); // *** End programmer edit section *** (OnUpdateВелосипед) }
// *** Start programmer edit section *** (IIS.Прокат_велосипедов_2.DetailArrayOfПрокатВелосипеда members) // *** End programmer edit section *** (IIS.Прокат_велосипедов_2.DetailArrayOfПрокатВелосипеда members) /// <summary> /// Construct detail array. /// </summary> /// <summary> /// Returns object with type ПрокатВелосипеда by index. /// </summary> /// <summary> /// Adds object with type ПрокатВелосипеда. /// </summary> public DetailArrayOfПрокатВелосипеда(IIS.Прокат_велосипедов_2.Велосипед fВелосипед) : base(typeof(ПрокатВелосипеда), ((ICSSoft.STORMNET.DataObject)(fВелосипед))) { }
// *** Start programmer edit section *** (IIS.Прокат_велосипедов_2.DetailArrayOfИсторияСостояний members) // *** End programmer edit section *** (IIS.Прокат_велосипедов_2.DetailArrayOfИсторияСостояний members) /// <summary> /// Construct detail array. /// </summary> /// <summary> /// Returns object with type ИсторияСостояний by index. /// </summary> /// <summary> /// Adds object with type ИсторияСостояний. /// </summary> public DetailArrayOfИсторияСостояний(IIS.Прокат_велосипедов_2.Велосипед fВелосипед) : base(typeof(ИсторияСостояний), ((ICSSoft.STORMNET.DataObject)(fВелосипед))) { }