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 [ПометкаУдаления]
                    ,_Fld4578RRef [Ответственный]
                    ,_Fld4579 [ОтборЦФО]
                    ,_Fld4580RRef [ЦФО]
                    ,_Fld4581 [ОтборОтветственный]
                    ,_Fld4582RRef [ОтветственныйЗаявка]
                    ,_Fld4583 [ОтборКонтрагент]
                    ,_Fld4584RRef [Контрагент]
                    ,_Fld4585RRef [Состояние]
                    ,_Fld4586 [Комментарий]
                    ,_Fld4587 [ОтборДатаНач]
                    ,_Fld4588 [ОтборДатаКон]
                    From _Document263(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(4))[0]==1;
                            Ссылка.ОтборОтветственный = ((byte[])Читалка.GetValue(6))[0]==1;
                            Ссылка.ОтборКонтрагент = ((byte[])Читалка.GetValue(8))[0]==1;
                            Ссылка.Состояние = V82.Перечисления/*Ссылка*/.СостоянияОбъектов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(10));
                            Ссылка.Комментарий = Читалка.GetString(11);
                            Ссылка.ОтборДатаНач = Читалка.GetDateTime(12);
                            Ссылка.ОтборДатаКон = Читалка.GetDateTime(13);
                            return Ссылка;
                        }
                        else
                        {
                            return null;
                        }
                    }
                }
            }
        }