private void ИзменитьУровеньИстории(bool следующийУровень)
 {
     if (this.ОписаниеТекущегоУровня != null)
     {
         this.СохранениеНастроек();
         this.КурсорОжидания();
         try
         {
             if (следующийУровень)
             {
                 int dataSourceRowIndex = this.данныеТаблицыИстории.GetDataSourceRowIndex(this.данныеТаблицыИстории.FocusedRowHandle);
                 ОписаниеУровняПросмотраИсторииСборки сборки = this.ОписаниеТекущегоУровня.ПолучитьОписаниеПоЭлементу(dataSourceRowIndex);
                 if ((сборки != null) && сборки.ПостроитьОписание())
                 {
                     this.ОписаниеТекущегоУровня = сборки;
                 }
                 else
                 {
                     Сообщение.Показать("История сборки для данной строки отсутствует.");
                 }
             }
             else if (this.ОписаниеТекущегоУровня.одитель != null)
             {
                 this.ОписаниеТекущегоУровня = this.ОписаниеТекущегоУровня.одитель;
             }
         }
         finally
         {
             this.таблицаИстории.RefreshDataSource();
             this.ОбычныйКурсор();
         }
         this.кнопкаНазад.Enabled = this.ОписаниеТекущегоУровня.одитель != null;
     }
 }
        public bool Загрузить(ОтчетнаяФормаДанных отчетнаяФорма, string таблица, string строка, string строкаСтарая)
        {
            if (!(((отчетнаяФорма != null) && !string.IsNullOrEmpty(таблица)) && отчетнаяФорма.Данные.СодержитТаблицу(таблица)))
            {
                return(false);
            }
            if ((this.типПостроения == ТипПостроенияИсторииСборки.ПоСтолбцу) && string.IsNullOrEmpty(this.столбецПостроения))
            {
                Сообщение.ПоказатьПредупреждение("Не указан столбец отображения.");
                return(false);
            }
            bool flag = false;

            this.КурсорОжидания();
            try
            {
                try
                {
                    Guid   guid = ХранилищеДанныхФорм.ПолучитьИдентификаторХранимыхДанных(отчетнаяФорма.Данные.Идентификатор);
                    string str  = отчетнаяФорма.Метаструктура.Наименование;
                    string str2 = отчетнаяФорма.НаименованиеУчреждения;
                    this.списокСтолбцов = отчетнаяФорма.Метаструктура.Таблицы[таблица].Столбцы;
                    ОписаниеУровняПросмотраИсторииСборки сборки = new ОписаниеУровняПросмотраИсторииСборки(guid, str, str2, таблица, строка, строкаСтарая);
                    сборки.СтолбецПостроения            = this.СтолбецПостроения;
                    сборки.ТипПостроения                = this.ТипПостроенияИстории;
                    сборки.КэшТаблицИсточников          = this.кэшТаблицИсточников;
                    сборки.КэшПодчиненныхОписаний       = this.кэшПодчиненныхОписаний;
                    сборки.ПередФормированиемЭлементов += new СобытиеОписанияУровняИстории(this.ПередЗагрузкойЭлементовОписания);
                    сборки.ФормированиеЭлементов       += new СобытиеОписанияУровняИстории(this.ЗагрузкаЭлементовОписания);
                    сборки.ПослеФормированияЭлементов  += new СобытиеОписанияУровняИстории(this.ПослеЗагрузкиЭлементовОписания);
                    if (!сборки.ПостроитьОписание())
                    {
                        сборки.Очистить();
                    }
                    else
                    {
                        this.ОписаниеТекущегоУровня = сборки;
                        flag = true;
                    }
                }
                catch (Exception exception)
                {
                    Сообщение.ПоказатьИсключительнуюСитуацию("Ошибка загрузки данных.", exception);
                    flag = false;
                }
            }
            finally
            {
                this.ОбычныйКурсор();
            }
            return(flag);
        }
Esempio n. 3
0
        public ОписаниеУровняПросмотраИсторииСборки ПолучитьОписаниеПоЭлементу(ЭлементПросмотраЗаписиИсторииСборки элемент)
        {
            if ((!this.ОписаниеЗагружено || (элемент == null)) || (this.кэшПодчиненныхОписаний == null))
            {
                return(null);
            }
            ЗаписьИсторииСборкиИтоговыхОтчетов отчетов = элемент.ЗаписьИстории;
            Guid guid1 = отчетов.ИдентификаторДанныхИсточника;

            if (отчетов.ИдентификаторДанныхИсточника == Guid.Empty)
            {
                return(null);
            }
            if (this.кэшПодчиненныхОписаний.ContainsKey(отчетов.КлючИсточникаСтрокой))
            {
                return(this.кэшПодчиненныхОписаний[отчетов.КлючИсточникаСтрокой]);
            }
            ОписаниеУровняПросмотраИсторииСборки сборки = new ОписаниеУровняПросмотраИсторииСборки(отчетов);

            if (!сборки.ИсторияЗагружена)
            {
                сборки.Очистить();
                сборки = null;
            }
            else
            {
                сборки.ТипПостроения          = this.типПостроения;
                сборки.СтолбецПостроения      = this.СтолбецПостроения;
                сборки.КэшТаблицИсточников    = this.КэшТаблицИсточников;
                сборки.КэшПодчиненныхОписаний = this.КэшПодчиненныхОписаний;
                сборки.одитель = this;
                if (!сборки.ПостроитьОписание())
                {
                    сборки.Очистить();
                    сборки = null;
                }
            }
            this.кэшПодчиненныхОписаний.Add(отчетов.КлючИсточникаСтрокой, сборки);
            return(сборки);
        }