/// <summary>
        /// Устанавливает коллекцию, из которой будет происходить выборка.
        /// </summary>
        /// <param name="полноеИмяКоллекции">Полное имя коллекции, например "Справочник.Номенклатура".</param>
        public void УстановитьКоллекцию(string полноеИмяКоллекции)
        {
            полноеИмяКоллекции = !String.IsNullOrWhiteSpace(полноеИмяКоллекции) ? полноеИмяКоллекции : throw new ArgumentException("Указано некорректное полноеИмяКоллекции коллекции.", "имяКоллекции");

            string[] фрагментыИмени = полноеИмяКоллекции.Split('.');
            if (фрагментыИмени.Length != 2)
            {
                throw new ArgumentException("Указано некорректное полноеИмяКоллекции коллекции.", "имяКоллекции");
            }
            ТипКоллекции типКоллекции;

            if (!Enum.TryParse <ТипКоллекции>(фрагментыИмени[0], out типКоллекции))
            {
                throw new ArgumentException(String.Format("Тип коллекции \"{0}\" не определен.", фрагментыИмени[0]), "имяКоллекции");
            }
            УзелМетаданных метаданные;

            if (!this.bromClient.Метаданные.ПопыткаПолучить(полноеИмяКоллекции, out метаданные) || !(метаданные is МетаданныеОбъект))
            {
                throw new ArgumentException(String.Format("Коллекция с именем \"{0}\" не определена.", полноеИмяКоллекции), "имяКоллекции");
            }

            this.collectionType     = типКоллекции;
            this.collectionName     = метаданные.Имя();
            this.collectionMetadata = метаданные as МетаданныеОбъект;

            this.isModified = true;
        }
Esempio n. 2
0
 public static Ссылка СоздатьСсылку(БромКлиент клиент, ТипКоллекции типКоллекции, string имяКоллекци, string указатель)
 {
     if (типКоллекции == Types.ТипКоллекции.Перечисление)
     {
         return(клиент.Контекст().ПолучитьПеречислениеСсылку(String.Format("{0}.{1}", типКоллекции, имяКоллекци), указатель));
     }
     else
     {
         return(клиент.Контекст().ПолучитьОбъектСсылку(String.Format("{0}.{1}", типКоллекции, имяКоллекци), new Guid(указатель)));
     }
 }
Esempio n. 3
0
        public static Ссылка СоздатьСсылку(БромКлиент клиент, string полноеИмяТипа)
        {
            string[] фрагментыИмени = полноеИмяТипа.Trim().Split('.');
            if (фрагментыИмени.Length != 2)
            {
                throw new ArgumentException("Переданный параметр \"полноеИмяТип\" не соответствует шаблону {ТипКоллекции.ИмяКоллекции}", "полноеИмяТипа");
            }

            ТипКоллекции типКоллекции = (ТипКоллекции)Enum.Parse(typeof(ТипКоллекции), фрагментыИмени[0], true);
            string       имяКоллекции = фрагментыИмени[1];

            return(СоздатьСсылку(клиент, типКоллекции, имяКоллекции));
        }
Esempio n. 4
0
        public static Ссылка СоздатьСсылку(БромКлиент клиент, string полноеИмяТипа, string указатель)
        {
            string[] фрагментыИмени = полноеИмяТипа.Trim().Split('.');
            if (фрагментыИмени.Length != 2)
            {
                throw new ArgumentException("Переданный параметр \"полноеИмяТип\" не соответствует шаблону {ТипКоллекции.ИмяКоллекции}", "полноеИмяТипа");
            }

            ТипКоллекции типКоллекции = (ТипКоллекции)Enum.Parse(typeof(ТипКоллекции), фрагментыИмени[0], true);
            string       имяКоллекции = фрагментыИмени[1];

            if (типКоллекции == Types.ТипКоллекции.Перечисление)
            {
                return(клиент.Контекст().ПолучитьПеречислениеСсылку(полноеИмяТипа, указатель));
            }
            else
            {
                return(клиент.Контекст().ПолучитьОбъектСсылку(полноеИмяТипа, new Guid(указатель)));
            }
        }
 /// <summary>
 /// Устанавливает коллекцию, из которой будет происходить выборка.
 /// </summary>
 /// <param name="типКоллекции">Тип коллекции 1С.</param>
 /// <param name="имяКоллекции">Имя коллекции 1С.</param>
 /// <returns>Метод возвращает ссылку на исходный селектор.</returns>
 public Селектор Из(ТипКоллекции типКоллекции, string имяКоллекции)
 {
     this.УстановитьКоллекцию(типКоллекции, имяКоллекции);
     return(this);
 }
 /// <summary>
 /// Устанавливает коллекцию, из которой будет происходить выборка.
 /// </summary>
 /// <param name="типКоллекции">Тип коллекции 1С.</param>
 /// <param name="имяКоллекции">Имя коллекции 1С.</param>
 public void УстановитьКоллекцию(ТипКоллекции типКоллекции, string имяКоллекции)
 {
     this.УстановитьКоллекцию(String.Format("{0}.{1}", типКоллекции, имяКоллекции));
 }
Esempio n. 7
0
 public ОбъектыМенеджер(БромКлиент клиент, УзелМетаданных метаданныеКоллекции, ТипКоллекции типКоллекции) : base(клиент, метаданныеКоллекции)
 {
     this.типКоллекции = типКоллекции;
 }
Esempio n. 8
0
 public Ссылка(БромКлиент клиент, ТипКоллекции типКоллекции, string имяКоллекции)
 {
     this.bromClient     = клиент;
     this.collectionType = типКоллекции;
     this.collectionName = имяКоллекции;
 }
Esempio n. 9
0
 public static Ссылка СоздатьСсылку(БромКлиент клиент, ТипКоллекции типКоллекции, string имяКоллекци, Guid указатель)
 {
     return(клиент.Контекст().ПолучитьОбъектСсылку(String.Format("{0}.{1}", типКоллекции, имяКоллекци), указатель));
 }
Esempio n. 10
0
 internal ОбъектСсылка(БромКлиент клиент, ТипКоллекции типКоллекции, string имяКоллекци, Guid guid) : base(клиент, типКоллекции, имяКоллекци)
 {
     this.guid = guid;
 }
Esempio n. 11
0
 internal ОбъектСсылка(БромКлиент клиент, ТипКоллекции типКоллекции, string имяКоллекци) : this(клиент, типКоллекции, имяКоллекци, new Guid())
 {
 }
Esempio n. 12
0
 public ОбъектМенеджер(БромКлиент bromClient, УзелМетаданных метаданныеКоллекции, ТипКоллекции типКоллекции) : base(bromClient, метаданныеКоллекции)
 {
     this.типКоллекции = типКоллекции;
 }