public static СправочникиВыборка.ГрафикиРаботы Выбрать() { using (var Подключение = new SqlConnection(СтрокаСоединения)) { Подключение.Open(); using (var Команда = Подключение.CreateCommand()) { Команда.CommandText = @"Select top 1000 _IDRRef [Ссылка] ,_Version [Версия] ,_Marked [ПометкаУдаления] ,_IsMetadata [Предопределенный] ,_Description [Наименование] ,_Fld1007RRef [ВидГрафика] ,_Fld1008 [СуммированныйУчетРабочегоВремени] ,_Fld1009RRef [ПервыйВыходной] ,_Fld1010RRef [ВторойВыходной] ,_Fld1011 [ДатаОтсчета] ,_Fld1012 [ДлительностьРабочейНедели] ,_Fld1013 [СокращенноеРабочееВремя] ,_Fld1014RRef [ГрафикПолногоРабочегоВремени] ,_Fld1015 [НачалоДневныхЧасов] ,_Fld1016 [НачалоВечернихЧасов] ,_Fld1017 [НачалоНочныхЧасов] ,_Fld21225 [СокращеннаяРабочаяНеделя] ,_Fld21226 [НеполныйРабочийДень] ,_Fld26515 [УчитыватьПраздники] ,_Fld26516 [УчитыватьВечерниеЧасы] ,_Fld26517 [УчитыватьНочныеЧасы] ,_Fld26518RRef [ШаблонЗаполнения] ,_Fld21224 [УдалитьВыходныеПоСкользящемуГрафику] From _Reference36(NOLOCK) " ; var Выборка = new V82.СправочникиВыборка.ГрафикиРаботы(); using (var Читалка = Команда.ExecuteReader()) { while (Читалка.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); Ссылка.ВидГрафика = V82.Перечисления /*Ссылка*/.ВидыРабочихГрафиков.ПустаяСсылка.Получить((byte[])Читалка.GetValue(5)); Ссылка.СуммированныйУчетРабочегоВремени = ((byte[])Читалка.GetValue(6))[0] == 1; Ссылка.ПервыйВыходной = V82.Перечисления /*Ссылка*/.ДниНедели.ПустаяСсылка.Получить((byte[])Читалка.GetValue(7)); Ссылка.ВторойВыходной = V82.Перечисления /*Ссылка*/.ДниНедели.ПустаяСсылка.Получить((byte[])Читалка.GetValue(8)); Ссылка.ДатаОтсчета = Читалка.GetDateTime(9); Ссылка.ДлительностьРабочейНедели = Читалка.GetDecimal(10); Ссылка.СокращенноеРабочееВремя = ((byte[])Читалка.GetValue(11))[0] == 1; Ссылка.ГрафикПолногоРабочегоВремени = V82.СправочникиСсылка.ГрафикиРаботы.ВзятьИзКэша((byte[])Читалка.GetValue(12)); Ссылка.НачалоДневныхЧасов = Читалка.GetDateTime(13); Ссылка.НачалоВечернихЧасов = Читалка.GetDateTime(14); Ссылка.НачалоНочныхЧасов = Читалка.GetDateTime(15); Ссылка.СокращеннаяРабочаяНеделя = ((byte[])Читалка.GetValue(16))[0] == 1; Ссылка.НеполныйРабочийДень = ((byte[])Читалка.GetValue(17))[0] == 1; Ссылка.УчитыватьПраздники = ((byte[])Читалка.GetValue(18))[0] == 1; Ссылка.УчитыватьВечерниеЧасы = ((byte[])Читалка.GetValue(19))[0] == 1; Ссылка.УчитыватьНочныеЧасы = ((byte[])Читалка.GetValue(20))[0] == 1; Ссылка.ШаблонЗаполнения = V82.Перечисления /*Ссылка*/.ШаблонЗаполненияГрафикаРаботы.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21)); Ссылка.УдалитьВыходныеПоСкользящемуГрафику = ((byte[])Читалка.GetValue(22))[0] == 1; Выборка.Add(Ссылка); } return(Выборка); } } } }
public static СправочникиВыборка.ГрафикиРаботы ВыбратьПоНаименованию(int Первые,string Мин,string Макс) { using (var Подключение = new SqlConnection(СтрокаСоединения)) { Подключение.Open(); using (var Команда = Подключение.CreateCommand()) { Команда.CommandText = string.Format(@"Select top {0} _IDRRef [Ссылка] ,_Version [Версия] ,_Marked [ПометкаУдаления] ,_IsMetadata [Предопределенный] ,_Description [Наименование] ,_Fld1007RRef [ВидГрафика] ,_Fld1008 [СуммированныйУчетРабочегоВремени] ,_Fld1009RRef [ПервыйВыходной] ,_Fld1010RRef [ВторойВыходной] ,_Fld1011 [ДатаОтсчета] ,_Fld1012 [ДлительностьРабочейНедели] ,_Fld1013 [СокращенноеРабочееВремя] ,_Fld1014RRef [ГрафикПолногоРабочегоВремени] ,_Fld1015 [НачалоДневныхЧасов] ,_Fld1016 [НачалоВечернихЧасов] ,_Fld1017 [НачалоНочныхЧасов] ,_Fld21225 [СокращеннаяРабочаяНеделя] ,_Fld21226 [НеполныйРабочийДень] ,_Fld26515 [УчитыватьПраздники] ,_Fld26516 [УчитыватьВечерниеЧасы] ,_Fld26517 [УчитыватьНочныеЧасы] ,_Fld26518RRef [ШаблонЗаполнения] ,_Fld21224 [УдалитьВыходныеПоСкользящемуГрафику] From _Reference36(NOLOCK) Where _Description between @Мин and @Макс Order by _Description", Первые); Команда.Parameters.AddWithValue("Мин", Мин); Команда.Parameters.AddWithValue("Макс", Макс); var Выборка = new V82.СправочникиВыборка.ГрафикиРаботы(); using (var Читалка = Команда.ExecuteReader()) { while (Читалка.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); Ссылка.ВидГрафика = V82.Перечисления/*Ссылка*/.ВидыРабочихГрафиков.ПустаяСсылка.Получить((byte[])Читалка.GetValue(5)); Ссылка.СуммированныйУчетРабочегоВремени = ((byte[])Читалка.GetValue(6))[0]==1; Ссылка.ПервыйВыходной = V82.Перечисления/*Ссылка*/.ДниНедели.ПустаяСсылка.Получить((byte[])Читалка.GetValue(7)); Ссылка.ВторойВыходной = V82.Перечисления/*Ссылка*/.ДниНедели.ПустаяСсылка.Получить((byte[])Читалка.GetValue(8)); Ссылка.ДатаОтсчета = Читалка.GetDateTime(9); Ссылка.ДлительностьРабочейНедели = Читалка.GetDecimal(10); Ссылка.СокращенноеРабочееВремя = ((byte[])Читалка.GetValue(11))[0]==1; Ссылка.ГрафикПолногоРабочегоВремени = V82.СправочникиСсылка.ГрафикиРаботы.ВзятьИзКэша((byte[])Читалка.GetValue(12)); Ссылка.НачалоДневныхЧасов = Читалка.GetDateTime(13); Ссылка.НачалоВечернихЧасов = Читалка.GetDateTime(14); Ссылка.НачалоНочныхЧасов = Читалка.GetDateTime(15); Ссылка.СокращеннаяРабочаяНеделя = ((byte[])Читалка.GetValue(16))[0]==1; Ссылка.НеполныйРабочийДень = ((byte[])Читалка.GetValue(17))[0]==1; Ссылка.УчитыватьПраздники = ((byte[])Читалка.GetValue(18))[0]==1; Ссылка.УчитыватьВечерниеЧасы = ((byte[])Читалка.GetValue(19))[0]==1; Ссылка.УчитыватьНочныеЧасы = ((byte[])Читалка.GetValue(20))[0]==1; Ссылка.ШаблонЗаполнения = V82.Перечисления/*Ссылка*/.ШаблонЗаполненияГрафикаРаботы.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21)); Ссылка.УдалитьВыходныеПоСкользящемуГрафику = ((byte[])Читалка.GetValue(22))[0]==1; Выборка.Add(Ссылка); } return Выборка; } } } }