V82.Документы.ПередачаСЗВ4вПФР.НайтиПоНомеру C# (CSharp) Method

НайтиПоНомеру() public static method

public static НайтиПоНомеру ( string Номер ) : ПередачаСЗВ4вПФР
Номер string
return V82.ДокументыСсылка.ПередачаСЗВ4вПФР
        public static ДокументыСсылка.ПередачаСЗВ4вПФР НайтиПоНомеру(string Номер)
        {
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    Команда.CommandText = @"Select top 1
                    _IDRRef [Ссылка]
                    ,_Version [Версия]
                    ,_Marked [ПометкаУдаления]
                    ,_Fld7933RRef [Организация]
                    ,_Fld7935 [ДатаДействия]
                    ,_Fld7937 [Комментарий]
                    ,_Fld7938RRef [Ответственный]
                    ,_Fld7943 [КраткийСоставДокумента]
                    ,_Fld27199RRef [Руководитель]
                    ,_Fld27200RRef [ДолжностьРуководителя]
                    ,_Fld27201 [ОтчетныйПериод]
                    ,_Fld27202 [ПринятоВПФР]
                    ,_Fld27203 [НомерПачки]
                    ,_Fld21810RRef [ФорматФайла]
                    ,_Fld7936 [ТипСведений]
                    ,_Fld7934 [Год]
                    ,_Fld27204 [СпециальныйДокумент2010года]
                    ,_Fld27205 [НеСодержитСЗВ]
                    ,_Fld27206RRef [РасчетСтраховыхВзносов]
                    ,_Fld27207 [ЗаполненПринятымиСведениями]
                    ,_Fld7941 [УдалитьУплаченоЗаТекущийГодСтраховаяЧасть]
                    ,_Fld27208 [УдалитьНачисленоЗаТекущийГодДополнительныйТариф]
                    ,_Fld27209 [УдалитьУплаченоЗаТекущийГодДополнительныйТариф]
                    ,_Fld7942 [УдалитьУплаченоЗаТекущийГодНакопительнаяЧасть]
                    ,_Fld7939 [УдалитьНачисленоЗаТекущийГодСтраховаяЧасть]
                    ,_Fld7940 [УдалитьНачисленоЗаТекущийГодНакопительнаяЧасть]
                    From _Document365(NOLOCK)
                    Where _Number = @Номер";
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    using (var Читалка = Команда.ExecuteReader())
                    {
                        if (Читалка.Read())
                        {
                            var Ссылка = new ДокументыСсылка.ПередачаСЗВ4вПФР();
                            //ToDo: Читать нужно через GetValues()
                            Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
                            var ПотокВерсии = ((byte[])Читалка.GetValue(1));
                            Array.Reverse(ПотокВерсии);
                            Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
                            Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
                            Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
                            Ссылка.ДатаДействия = Читалка.GetDateTime(4);
                            Ссылка.Комментарий = Читалка.GetString(5);
                            Ссылка.КраткийСоставДокумента = Читалка.GetString(7);
                            Ссылка.ОтчетныйПериод = Читалка.GetDateTime(10);
                            Ссылка.ПринятоВПФР = ((byte[])Читалка.GetValue(11))[0]==1;
                            Ссылка.НомерПачки = Читалка.GetString(12);
                            Ссылка.ФорматФайла = V82.Перечисления/*Ссылка*/.ФорматФайлаПФР.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
                            Ссылка.ТипСведений = Читалка.GetString(14);
                            Ссылка.Год = Читалка.GetDecimal(15);
                            Ссылка.СпециальныйДокумент2010года = ((byte[])Читалка.GetValue(16))[0]==1;
                            Ссылка.НеСодержитСЗВ = ((byte[])Читалка.GetValue(17))[0]==1;
                            Ссылка.РасчетСтраховыхВзносов = V82.ДокументыСсылка.РегламентированныйОтчет.ВзятьИзКэша((byte[])Читалка.GetValue(18));
                            Ссылка.ЗаполненПринятымиСведениями = ((byte[])Читалка.GetValue(19))[0]==1;
                            Ссылка.УдалитьУплаченоЗаТекущийГодСтраховаяЧасть = Читалка.GetDecimal(20);
                            Ссылка.УдалитьНачисленоЗаТекущийГодДополнительныйТариф = Читалка.GetDecimal(21);
                            Ссылка.УдалитьУплаченоЗаТекущийГодДополнительныйТариф = Читалка.GetDecimal(22);
                            Ссылка.УдалитьУплаченоЗаТекущийГодНакопительнаяЧасть = Читалка.GetDecimal(23);
                            Ссылка.УдалитьНачисленоЗаТекущийГодСтраховаяЧасть = Читалка.GetDecimal(24);
                            Ссылка.УдалитьНачисленоЗаТекущийГодНакопительнаяЧасть = Читалка.GetDecimal(25);
                            return Ссылка;
                        }
                        else
                        {
                            return null;
                        }
                    }
                }
            }
        }