/// <summary> /// Создает вакансию, но не добавляет запись в базу данных. Необходимо вызвать метод SetEmployer() /// для записи данных в базу. /// </summary> /// <param name="name">Имя вакансии - уникально для каждого работодателя</param> /// <param name="specialtyName">Специальность для вакансии. /// Должно существовать в базе данных</param> /// <param name="type">Тип занятости для вакансии</param> /// <param name="description">Описание вакансии, может быть null</param> /// <param name="salary">Заработная плата</param> /// <param name="requiredExperience">Требуемый уровень для вакансии</param> public Vacancy(String name, String specialtyName, EmploymentType type, String description, uint salary, uint requiredExperience) { this.Name = name; this.CurrentSpecialty = Specialty.GetByName(specialtyName); //Установка специальности с проверкой в базе this.CurrentEmploymentType = type; this.Description = description; this.Salary = salary; this.RequiredExperience = requiredExperience; this.EmployerItn = null; }
/// <summary> /// Создает вакансию и добавляет информацию о ней в базу данных /// </summary> /// <param name="name">Имя вакансии - уникально для каждого работодателя</param> /// <param name="employerItn">ИНН работодателя, для которого создается вакансия. /// Работодатель должен существовать в базе данных</param> /// <param name="specialtyName">Имя специальности для вакансии. Должно существовать в базе данных</param> /// <param name="type">Тип занятости для вакансии</param> /// <param name="description">Описание вакансии, может быть null</param> /// <param name="salary">Заработная плата</param> /// <param name="requiredExperience">Требуемый уровень для вакансии</param> public Vacancy(String name, String employerItn, String specialtyName, EmploymentType type, String description, uint salary, uint requiredExperience) { this.Name = name; this.EmployerItn = employerItn; //Проверка введенного имени работодателя this.CurrentSpecialty = Specialty.GetByName(specialtyName); //Установка специальности с проверкой в базе this.CurrentEmploymentType = type; this.Description = description; this.Salary = salary; this.RequiredExperience = requiredExperience; AddEntityToDB(); }
/// <summary> /// Сменить тип специальности для данной вакансии. Обычно не требуется /// Специальность на которую меняется должна существовать в базе данных /// </summary> /// <param name="specialtyName">Имя специальности существующее в базе данных</param> public void ChangeSpecialty(String specialtyName) { try { if (this.EmployerItn == null || this.EmployerItn.CompareTo("") == 0) { throw new Exception("Не задан работодатель"); } //Получить объект по имени специальности Specialty specialty = Specialty.GetByName(specialtyName); String query = "UPDATE PERMANENT_USER.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; } }
/// <summary> /// Убрать у текущего работника дополнительную приоритетную специальность /// Имя специальности должно существовать в базе данных /// </summary> /// <param name="specialty">Имя специальности для удаления</param> public void DeletePriorSpecialty(String specialty) { DeletePriorSpecialty(Specialty.GetByName(specialty)); }
/// <summary> /// Добавить текущему работнику дополнительную приоритетную специальность /// На основе этих данных будут подбираться предложения /// Имя специальности должно существовать в базе данных /// </summary> /// <param name="specialty">Имя специальности для добавления</param> public void AddPriorSpecialty(String specialty) { AddPriorSpecialty(Specialty.GetByName(specialty)); }