public void CreateVacancy(string name, string employerItn, string specialty, String type, string description, uint salary, uint requiredExperience) { if (name.Equals("")) { throw new Exception("Нименование вакансии не может быть пустым"); } else if (employerItn.Equals("")) { throw new Exception("ИНН не может быть пустым"); } else if (specialty.Equals("")) { throw new Exception("Поле специальность не может быть пустым"); } try { ModelLayerMSSQL.Vacancy newVacancy = new ModelLayerMSSQL.Vacancy(name, employerItn, ModelLayerMSSQL.Specialty.GetByName(specialty), (ModelLayerMSSQL.EmploymentType)Enum.Parse(typeof(ModelLayerMSSQL.EmploymentType), type), description, salary, requiredExperience); } catch (Exception) { throw new Exception("Ошибка базы данных при попытке добавить вакансию"); } }
public void ChangeVacancy(string oldEmployerName, string oldName, string newSpecialty, string newName, uint newExperience, string newEmploymentType, uint newSalary, string newDescription) { //TODO: рассмотреть вариант использования hash-таблиц вместо множества параметров List <ModelLayerMSSQL.Vacancy> vacancies = ModelLayerMSSQL.Vacancy.GetAll(); //Найти вакансии которые удовлетворяют условиям изменения и заменить //старые поля на новые foreach (ModelLayerMSSQL.Vacancy vacancy in vacancies) { if (ModelLayerMSSQL.Employer.GetByItn(vacancy.GetEmployerItn()).GetName().Equals(oldEmployerName) && vacancy.GetName().Equals(oldName)) { string employerItn = vacancy.GetEmployerItn(); //удаление и создание новой вакансии vacancy.Delete(); ModelLayerMSSQL.Vacancy newVacancy = new ModelLayerMSSQL.Vacancy(newName, employerItn, newSpecialty, (ModelLayerMSSQL.EmploymentType)Enum.Parse(typeof(ModelLayerMSSQL.EmploymentType), newEmploymentType), newDescription, newSalary, newExperience); } } }