//[OperationBehavior(TransactionAutoComplete = true, TransactionScopeRequired = true)] public void Данные_СписокТелефонов_Проиндекировать(decimal id_node, string user, string domain) { var phones = new List <object[]>(); if (id_node == 0) { var query = new Query(); query.Sql = @"select * from tblValueString where (@node = [id_node] or @node = 0) and [type] = 'СписокТелефонов.Телефоны' and [string_value] <> ''"; query.ДобавитьПараметр("@node", id_node); phones.AddRange(data.Поиск(query, Хранилище.Оперативное, domain).AsEnumerable().Select( p => new object[] { p.Field <decimal>("id_node"), p.Field <string>("string_value") })); } else { phones.Add(new object[] { id_node, data.ПолучитьЗначение <object>(id_node, "СписокТелефонов.Телефоны", Хранилище.Оперативное, domain) }); } foreach (var item in phones) { var numbers = Regex.Replace(Convert.ToString(item[1]), @"[^\d]", string.Empty); var items = new List <string>(); data.СохранитьЗначениеПростое((decimal)item[0], "СписокТелефонов.ТелефоныИндекс", Данные_СписокТелефонов_ПолучитьИндекс(Convert.ToString(item[1])), false, Хранилище.Оперативное, user, domain); data.СохранитьЗначениеПростое((decimal)item[0], "СписокТелефонов.ТелефоныЦифры", numbers, false, Хранилище.Оперативное, user, domain); } }
protected object GetValue(string name) { if (this.id_node > 0) { return(client.ПолучитьЗначение <object>(id_node, name)); } else { return(v != null && v.ContainsKey(name) ? v[name] : null); } }