public static СправочникиСсылка.УчетныеЗаписиЭлектроннойПочты НайтиПоСсылке(Guid _Ссылка)
{
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())
{
var Ссылка = new СправочникиСсылка.УчетныеЗаписиЭлектроннойПочты();
//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);
Ссылка.ГруппаВходящие = V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты.ВзятьИзКэша((byte[])Читалка.GetValue(20));
Ссылка.ГруппаИсходящие = V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты.ВзятьИзКэша((byte[])Читалка.GetValue(21));
Ссылка.ГруппаУдаленные = V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты.ВзятьИзКэша((byte[])Читалка.GetValue(22));
Ссылка.ГруппаЧерновики = V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты.ВзятьИзКэша((byte[])Читалка.GetValue(23));
Ссылка.ГруппаНежелательные = V82.СправочникиСсылка.ГруппыПисемЭлектроннойПочты.ВзятьИзКэша((byte[])Читалка.GetValue(24));
Ссылка.ФорматТекстаПисьмаПоУмолчанию = V82.Перечисления/*Ссылка*/.ВидыТекстовЭлектронныхПисем.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
Ссылка.ТекстПодписи = Читалка.GetString(26);
Ссылка.ДобавлятьПодписьКИсходящимПисьмам = ((byte[])Читалка.GetValue(27))[0]==1;
Ссылка.ДобавлятьПодписьКОтветамИПересылкам = ((byte[])Читалка.GetValue(28))[0]==1;
Ссылка.АвтоПолучениеОтправкаСообщений = ((byte[])Читалка.GetValue(29))[0]==1;
Ссылка.ИнтервалАвтоПолученияОтправкиСообщений = Читалка.GetDecimal(30);
Ссылка.ОтветственныйЗаАвтоПолучениеОтправкуСообщений = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(31));
Ссылка.ПомещатьОтветыИПереадресацииВТужеГруппу = ((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;
}
}
}
}
}