/// <summary> /// Добавить текущему работнику дополнительную приоритетную специальность /// На основе этих данных будут подбираться предложения /// </summary> /// <param name="specialty">Специальность для добавления</param> public void AddPriorSpecialty(Specialty specialty) { try { //Проверка существования записи String query = "SELECT * FROM " + DataBase.GetShema() + ".ES " + "WHERE SPECIALTYID =" + specialty.GetId() + " " + "AND EMPLOYEEPASSPORT = '" + this.PassportNumber + "'"; if (ExecuteSelect(query).Count > 0) { return; //Запись существует } //Добавление записи о предпочтительной специальности query = "INSERT INTO " + DataBase.GetShema() + ".ES (SPECIALTYID, EMPLOYEEPASSPORT) VALUES (" + specialty.GetId() + ", " + "'" + this.PassportNumber + "')"; ExecuteNonSelectQuery(query); Console.WriteLine("Предпочитаемая специальность добавлена работнику"); } catch (Exception e) { Console.WriteLine("При добавлении приоритетной специальности произошли ошибки"); throw e; } }
/// <summary> /// Убрать у текущего работника дополнительную приоритетную специальность /// </summary> /// <param name="specialty">Специальность для удаления</param> public void DeletePriorSpecialty(Specialty specialty) { try { //Проверка существования записи String query = "SELECT * FROM " + DataBase.GetShema() + ".ES " + "WHERE SPECIALTYID =" + specialty.GetId() + " " + "AND EMPLOYEEPASSPORT = '" + this.PassportNumber + "'"; if (ExecuteSelect(query).Count == 0) { return; //Нечего удалять } //Удаление записи о предпочтительной специальности query = "DELETE FROM " + DataBase.GetShema() + ".ES WHERE " + "SPECIALTYID =" + specialty.GetId() + " " + "AND EMPLOYEEPASSPORT = '" + this.PassportNumber + "'"; ExecuteNonSelectQuery(query); Console.WriteLine("Специальность удалена из предпочтительных"); } catch (Exception e) { Console.WriteLine("При удалении предпочтительной специальности произошли ошибки"); throw e; } }
/// <summary> /// Сменить тип специальности для данной вакансии и внести изменения в базу данных. /// Обычно данный метод вызывать не требуется /// </summary> /// <param name="specialty">Специальность для данной вакансии</param> public void ChangeSpecialty(Specialty specialty) { try { if (this.EmployerItn == null || this.EmployerItn.CompareTo("") == 0) { throw new Exception("Не задан работодатель"); } String query = "UPDATE " + DataBase.GetShema() + ".VACANCIES " + "SET IDSPECIALTY = " + specialty.GetId() + " " + "WHERE NAME = '" + this.Name + "' " + "AND EMPLOYERITN = '" + this.EmployerItn + "'"; ExecuteNonSelectQuery(query); this.CurrentSpecialty = specialty; Console.WriteLine("Тип специальности изменен для вакансии"); } catch (Exception e) { Console.WriteLine("Невозможно сменить тип специальности для вакансии"); throw e; } }