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 [ПометкаУдаления]
                    ,_Fld25523RRef [Ответственный]
                    ,_Fld25524 [Комментарий]
                    ,_Fld25525 [НалоговыйПериод]
                    ,_Fld25526RRef [Организация]
                    ,_Fld25527 [ОКАТО_КПП]
                    ,_Fld25528RRef [СпособФормирования]
                    ,_Fld25529 [Телефон]
                    ,_Fld25530RRef [СправкуПодписал]
                    ,_Fld25531RRef [ДолжностьПодписавшегоЛица]
                    ,_Fld25532RRef [Сотрудник]
                    ,_Fld25533RRef [Ставка]
                    ,_Fld25534 [Фамилия]
                    ,_Fld25535 [Имя]
                    ,_Fld25536 [Отчество]
                    ,_Fld25537 [АдресРФ]
                    ,_Fld25538RRef [ВидДокумента]
                    ,_Fld25539 [СерияДокумента]
                    ,_Fld25540 [НомерДокумента]
                    ,_Fld25541 [ОбщаяСуммаДохода]
                    ,_Fld25542 [ОблагаемаяСуммаДохода]
                    ,_Fld25543 [Исчислено]
                    ,_Fld25544 [Задолженность]
                    ,_Fld25545 [ИзлишнеУдержано]
                    ,_Fld25546 [Удержано]
                    ,_Fld25547 [Перечислено]
                    ,_Fld25548 [АдресЗарубежом]
                    ,_Fld25549 [ДатаРождения]
                    ,_Fld25550 [ИНН]
                    ,_Fld25551RRef [Гражданство]
                    ,_Fld25552RRef [СтатусНалогоплательщика]
                    ,_Fld25553 [ДатаУведомления]
                    ,_Fld25554 [НомерУведомления]
                    ,_Fld25555 [КодНалоговогоОрганаУведомления]
                    ,_Fld25556 [СпециальныйДокумент2011года]
                    ,_Fld25557 [КодИФНС]
                    From _Document23175(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;
                            Ссылка.Комментарий = Читалка.GetString(4);
                            Ссылка.НалоговыйПериод = Читалка.GetDecimal(5);
                            Ссылка.ОКАТО_КПП = Читалка.GetString(7);
                            Ссылка.СпособФормирования = V82.Перечисления/*Ссылка*/.ПорядокФормированияСправкиОДоходахФизлица.ПустаяСсылка.Получить((byte[])Читалка.GetValue(8));
                            Ссылка.Телефон = Читалка.GetString(9);
                            Ссылка.Ставка = V82.Перечисления/*Ссылка*/.НДФЛСтавки.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
                            Ссылка.Фамилия = Читалка.GetString(14);
                            Ссылка.Имя = Читалка.GetString(15);
                            Ссылка.Отчество = Читалка.GetString(16);
                            Ссылка.АдресРФ = Читалка.GetString(17);
                            Ссылка.СерияДокумента = Читалка.GetString(19);
                            Ссылка.НомерДокумента = Читалка.GetString(20);
                            Ссылка.ОбщаяСуммаДохода = Читалка.GetDecimal(21);
                            Ссылка.ОблагаемаяСуммаДохода = Читалка.GetDecimal(22);
                            Ссылка.Исчислено = Читалка.GetDecimal(23);
                            Ссылка.Задолженность = Читалка.GetDecimal(24);
                            Ссылка.ИзлишнеУдержано = Читалка.GetDecimal(25);
                            Ссылка.Удержано = Читалка.GetDecimal(26);
                            Ссылка.Перечислено = Читалка.GetDecimal(27);
                            Ссылка.АдресЗарубежом = Читалка.GetString(28);
                            Ссылка.ДатаРождения = Читалка.GetDateTime(29);
                            Ссылка.ИНН = Читалка.GetString(30);
                            Ссылка.СтатусНалогоплательщика = V82.Перечисления/*Ссылка*/.СтатусыНалогоплательщиковПоНДФЛ.ПустаяСсылка.Получить((byte[])Читалка.GetValue(32));
                            Ссылка.ДатаУведомления = Читалка.GetDateTime(33);
                            Ссылка.НомерУведомления = Читалка.GetString(34);
                            Ссылка.КодНалоговогоОрганаУведомления = Читалка.GetString(35);
                            Ссылка.СпециальныйДокумент2011года = ((byte[])Читалка.GetValue(36))[0]==1;
                            Ссылка.КодИФНС = Читалка.GetString(37);
                            return Ссылка;
                        }
                        else
                        {
                            return null;
                        }
                    }
                }
            }
        }