Beispiel #1
0
        // *** 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Велосипед)))
        {
        }