public УчетныеЗаписиЭлектроннойПочты(byte[] УникальныйИдентификатор,int Глубина)
{
if (Глубина>3)
{
return;
}
if (new Guid(УникальныйИдентификатор) == Guid.Empty)
{
return;
}
using (var Подключение = new SqlConnection(СтрокаСоединения))
{
Подключение.Open();
using (var Команда = Подключение.CreateCommand())
{
Команда.CommandText = @"Select top 1
_IDRRef [Ссылка]
,_Version [Версия]
,_Marked [ПометкаУдаления]
,_IsMetadata [Предопределенный]
,_Code [Код]
,_Description [Наименование]
,_Fld2144 [SMTPСервер]
,_Fld2145 [POP3Сервер]
,_Fld2146 [ПортSMTP]
,_Fld2147 [ПортPOP3]
,_Fld2148 [Логин]
,_Fld2149 [Пароль]
,_Fld2150 [ТребуетсяSMTPАутентификация]
,_Fld2151 [ЛогинSMTP]
,_Fld2152 [ПарольSMTP]
,_Fld2153 [ВремяОжиданияСервера]
,_Fld2154 [ОставлятьКопииСообщенийНаСервере]
,_Fld2155 [УдалятьПисьмаССервераЧерез]
,_Fld2156 [КоличествоДнейУдаленияПисемССервера]
,_Fld2157 [АдресЭлектроннойПочты]
,_Fld2158RRef [ГруппаВходящие]
,_Fld2159RRef [ГруппаИсходящие]
,_Fld2160RRef [ГруппаУдаленные]
,_Fld2161RRef [ГруппаЧерновики]
,_Fld21295RRef [ГруппаНежелательные]
,_Fld2162RRef [ФорматТекстаПисьмаПоУмолчанию]
,_Fld2163 [ТекстПодписи]
,_Fld2164 [ДобавлятьПодписьКИсходящимПисьмам]
,_Fld2165 [ДобавлятьПодписьКОтветамИПересылкам]
,_Fld2166 [АвтоПолучениеОтправкаСообщений]
,_Fld2167 [ИнтервалАвтоПолученияОтправкиСообщений]
,_Fld2168RRef [ОтветственныйЗаАвтоПолучениеОтправкуСообщений]
,_Fld2169 [ПомещатьОтветыИПереадресацииВТужеГруппу]
,_Fld2170RRef [ДействиеАвтополученияОтправкиСообщений]
,_Fld2171 [АвтоматическаяУстановкаПометкиРассмотрено]
,_Fld2172 [ИнтервалАвтоматическойУстановкиОтметкиРассмотрено]
,_Fld2180 [АвтоматическаяУстановкаПометкиРассмотреноПриОтвете]
,_Fld2181 [АвтоматическаяУстановкаПометкиРассмотреноПриПолученииОтвета]
,_Fld2173 [ИспользоватьКлассификациюПисемПоПредметам]
,_Fld2174 [ЗаполнятьПустойПредметДляНовыхПисемИзТемыПисьма]
,_Fld2175 [ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьПредмет]
,_Fld2176 [ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьОснованиеНовогоПисьма]
,_Fld2182 [ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьГруппуПисемНовогоПисьма]
,_Fld2177 [АвтосохранениеПисем]
,_Fld2178 [ИнтервалАвтосохраненияПисем]
,_Fld2179 [ФорматПисьмаДляОтветовИПереадресацийБратьИзИсходного]
,_Fld2183 [КодировкаПисемПоУмолчанию]
,_Fld2184 [КодировкуПисьмаДляОтветовБратьИзИсходного]
,_Fld2185 [ЗаполнятьОбъектыИзАдресовПервогоПисьма]
,_Fld21296RRef [НазначениеУчетнойЗаписи]
,_Fld26646 [ИспользоватьДляОтправки]
,_Fld26647 [ИспользоватьДляПолучения]
From _Reference189(NOLOCK)
Where _IDRRef=@УникальныйИдентификатор ";
Команда.Parameters.AddWithValue("УникальныйИдентификатор", УникальныйИдентификатор);
using (var Читалка = Команда.ExecuteReader())
{
if (Читалка.Read())
{
//ToDo: Читать нужно через GetValues()
Ссылка = new Guid((byte[])Читалка.GetValue(0));
var ПотокВерсии = ((byte[])Читалка.GetValue(1));
Array.Reverse(ПотокВерсии);
Версия = BitConverter.ToInt64(ПотокВерсии, 0);
ВерсияДанных = Convert.ToBase64String(ПотокВерсии);
ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
Код = Читалка.GetString(4);
Наименование = Читалка.GetString(5);
SMTPСервер = Читалка.GetString(6);
POP3Сервер = Читалка.GetString(7);
ПортSMTP = Читалка.GetDecimal(8);
ПортPOP3 = Читалка.GetDecimal(9);
Логин = Читалка.GetString(10);
Пароль = Читалка.GetString(11);
ТребуетсяSMTPАутентификация = ((byte[])Читалка.GetValue(12))[0]==1;
ЛогинSMTP = Читалка.GetString(13);
ПарольSMTP = Читалка.GetString(14);
ВремяОжиданияСервера = Читалка.GetDecimal(15);
ОставлятьКопииСообщенийНаСервере = ((byte[])Читалка.GetValue(16))[0]==1;
УдалятьПисьмаССервераЧерез = ((byte[])Читалка.GetValue(17))[0]==1;
КоличествоДнейУдаленияПисемССервера = Читалка.GetDecimal(18);
АдресЭлектроннойПочты = Читалка.GetString(19);
ГруппаВходящие = new V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты((byte[])Читалка.GetValue(20),Глубина+1);
ГруппаИсходящие = new V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты((byte[])Читалка.GetValue(21),Глубина+1);
ГруппаУдаленные = new V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты((byte[])Читалка.GetValue(22),Глубина+1);
ГруппаЧерновики = new V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты((byte[])Читалка.GetValue(23),Глубина+1);
ГруппаНежелательные = new V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты((byte[])Читалка.GetValue(24),Глубина+1);
ФорматТекстаПисьмаПоУмолчанию = V82.Перечисления/*Ссылка*/.ВидыТекстовЭлектронныхПисем.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
ТекстПодписи = Читалка.GetString(26);
ДобавлятьПодписьКИсходящимПисьмам = ((byte[])Читалка.GetValue(27))[0]==1;
ДобавлятьПодписьКОтветамИПересылкам = ((byte[])Читалка.GetValue(28))[0]==1;
АвтоПолучениеОтправкаСообщений = ((byte[])Читалка.GetValue(29))[0]==1;
ИнтервалАвтоПолученияОтправкиСообщений = Читалка.GetDecimal(30);
ОтветственныйЗаАвтоПолучениеОтправкуСообщений = new V82.СправочникиСсылка.Пользователи((byte[])Читалка.GetValue(31),Глубина+1);
ПомещатьОтветыИПереадресацииВТужеГруппу = ((byte[])Читалка.GetValue(32))[0]==1;
ДействиеАвтополученияОтправкиСообщений = V82.Перечисления/*Ссылка*/.ВидыДействийАвтоПолученияОтправкиЭлектронныхПисем.ПустаяСсылка.Получить((byte[])Читалка.GetValue(33));
АвтоматическаяУстановкаПометкиРассмотрено = ((byte[])Читалка.GetValue(34))[0]==1;
ИнтервалАвтоматическойУстановкиОтметкиРассмотрено = Читалка.GetDecimal(35);
АвтоматическаяУстановкаПометкиРассмотреноПриОтвете = ((byte[])Читалка.GetValue(36))[0]==1;
АвтоматическаяУстановкаПометкиРассмотреноПриПолученииОтвета = ((byte[])Читалка.GetValue(37))[0]==1;
ИспользоватьКлассификациюПисемПоПредметам = ((byte[])Читалка.GetValue(38))[0]==1;
ЗаполнятьПустойПредметДляНовыхПисемИзТемыПисьма = ((byte[])Читалка.GetValue(39))[0]==1;
ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьПредмет = ((byte[])Читалка.GetValue(40))[0]==1;
ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьОснованиеНовогоПисьма = ((byte[])Читалка.GetValue(41))[0]==1;
ДляВходящихОтветовИПереадресацийИскатьПисьмаОснованияИЗаполнятьГруппуПисемНовогоПисьма = ((byte[])Читалка.GetValue(42))[0]==1;
АвтосохранениеПисем = ((byte[])Читалка.GetValue(43))[0]==1;
ИнтервалАвтосохраненияПисем = Читалка.GetDecimal(44);
ФорматПисьмаДляОтветовИПереадресацийБратьИзИсходного = ((byte[])Читалка.GetValue(45))[0]==1;
КодировкаПисемПоУмолчанию = Читалка.GetString(46);
КодировкуПисьмаДляОтветовБратьИзИсходного = ((byte[])Читалка.GetValue(47))[0]==1;
ЗаполнятьОбъектыИзАдресовПервогоПисьма = ((byte[])Читалка.GetValue(48))[0]==1;
НазначениеУчетнойЗаписи = V82.Перечисления/*Ссылка*/.НазначенияУчетнойЗаписи.ПустаяСсылка.Получить((byte[])Читалка.GetValue(49));
ИспользоватьДляОтправки = ((byte[])Читалка.GetValue(50))[0]==1;
ИспользоватьДляПолучения = ((byte[])Читалка.GetValue(51))[0]==1;
//return Ссылка;
}
else
{
//return null;
}
}
}
}
}