V82.Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоСсылке C# (CSharp) Method

НайтиПоСсылке() public static method

public static НайтиПоСсылке ( System.Guid _Ссылка ) : УчетныеЗаписиЭлектроннойПочты
_Ссылка System.Guid
return V82.СправочникиСсылка.УчетныеЗаписиЭлектроннойПочты
        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;
                        }
                    }
                }
            }
        }