/// <summary> /// Возвращает список всех специальностей существующих в базе данных /// </summary> /// <returns>Список всех записей (специальностей) в БД</returns> public static List <Specialty> GetAll() { String query = "SELECT * FROM " + DataBase.GetShema() + ".SPECIALTIES"; List <Specialty> result = new List <Specialty>(); try { //Временный объект без инициализации полей и другой ерунды только для доступа к базовым функциям Specialty temp = new Specialty(); List <Object[]> objects = temp.ExecuteSelect(query); foreach (Object[] item in objects) { Specialty current = new Specialty(); //Попытка преобразования объекта к специальности current.Id = Convert.ToInt32(item[0]); //id current.Name = item[1].ToString(); //name //Добавить в результирующий список result.Add(current); } return(result); } catch (Exception) { Console.WriteLine("Невозможно получить список специальностей"); throw; } }
/// <summary> /// Возвращает объект "Специальность" созданный на основе данных в базе /// Вызывается исключение если специальности в базе не существует /// </summary> /// <param name="name">Имя специальности</param> /// <returns>Объект специальности</returns> public static Specialty GetByName(String name) { try { Specialty specialty = new Specialty(); String query = "SELECT * FROM " + DataBase.GetShema() + ".SPECIALTIES " + "WHERE SPECIALTY = '" + name + "'"; List <Object[]> list = specialty.ExecuteSelect(query); if (list.Count == 0) { throw new Exception("Запрос вернул 0 строк"); } specialty.Id = Convert.ToInt32(list.ElementAt(0).ElementAt(0)); specialty.Name = list.ElementAt(0).ElementAt(1).ToString(); return(specialty); } catch (Exception e) { Console.WriteLine("Невозможно получить объект специальности по имени"); throw e; } }
/// <summary> /// Проверяет существует ли специальность в базе данных с именем name /// </summary> /// <param name="name">true если запись в базе данных существует</param> /// <returns></returns> public static bool CanGetByName(String name) { try { Specialty specialty = new Specialty(); String query = "SELECT * FROM " + DataBase.GetShema() + ".SPECIALTIES " + "WHERE SPECIALTY = '" + name + "'"; if (specialty.ExecuteSelect(query).Count > 0) { return(true); } else { return(false); } } catch (Exception e) { Console.WriteLine("Ошибка при поиске специальности"); throw e; } }
/// <summary> /// Проверяется можно ли получить специальность из базы данных по идентификатору /// </summary> /// <param name="id">id специальности</param> /// <returns>true если запись специальности с id существует в базе данных</returns> public static bool CanGetByID(int id) { try { Specialty specialty = new Specialty(); String query = "SELECT * FROM " + DataBase.GetShema() + ".SPECIALTIES " + "WHERE ID = " + id; List <Object[]> list = specialty.ExecuteSelect(query); if (list.Count > 0) { return(true); } else { return(false); } } catch (Exception e) { Console.WriteLine("Ошибка при поиске специальности"); throw e; } }