/// <summary> /// Обновление специальности второй ступени /// </summary> /// <param name="secondarySpeciality">Редактируемая специальность второй ступени</param> /// <returns>Отредактированная запись</returns> public SecondarySpeciality UpdateSecondarySpeciality(SecondarySpeciality secondarySpeciality) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к обновлению специальности второй ступени."); try { var secondarySpecialityToUpdate = context.SecondarySpeciality.FirstOrDefault(ss => ss.SecondarySpecialityId == secondarySpeciality.SecondarySpecialityId); logger.Debug($"Текущая запись {secondarySpecialityToUpdate.ToString()}"); secondarySpecialityToUpdate.Fullname = secondarySpeciality.Fullname; secondarySpecialityToUpdate.Cipher = secondarySpeciality.Cipher; context.SaveChanges(); logger.Debug($"Новая запись {secondarySpecialityToUpdate.ToString()}"); return(secondarySpecialityToUpdate); } catch (SqlException sqlEx) { logger.Error("Ошибка редактирования специальности второй ступени."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка редактирования специальности второй ступени."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }
/// <summary> /// Удаление специальности второй ступени /// </summary> /// <param name="secondarySpeciality">Удаляемая специальность второй ступени</param> public void DeleteSecondarySpeciality(SecondarySpeciality secondarySpeciality) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к удалению специальности второй ступени."); try { var secondarySpecialityToDelete = context.SecondarySpeciality.FirstOrDefault(ss => ss.SecondarySpecialityId == secondarySpeciality.SecondarySpecialityId); if (secondarySpecialityToDelete != null) { context.SecondarySpeciality.Remove(secondarySpecialityToDelete); context.SaveChanges(); logger.Debug("Удаление записи успешно завершено."); } } catch (SqlException sqlEx) { logger.Error("Ошибка удаления записи специальности второй ступени."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); } catch (Exception ex) { logger.Error("Ошибка удаления записи специальности второй ступени."); logger.Error($"Ошибка — {ex.Message}."); } }
/// <summary> /// Добавление новой специальности второй ступени /// </summary> /// <param name="secondarySpeciality">Специальность второй ступени</param> /// <returns>Новая запись</returns> public SecondarySpeciality InsertSecondarySpeciality(SecondarySpeciality secondarySpeciality) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к добавлению специальности второй ступени"); try { logger.Debug($"Добавляемая запись {secondarySpeciality.ToString()}"); context.SecondarySpeciality.Add(secondarySpeciality); context.SaveChanges(); logger.Debug($"Новая запись успешно добавлена."); return(secondarySpeciality); } catch (SqlException sqlEx) { logger.Error("Ошибка добавления специальности второй ступени."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка добавления специальности второй ступени."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }
/// <summary> /// Получение списка интеграций специальностей /// </summary> /// <param name="secondarySpeciality">Фильтр по специальности второй ступени</param> /// <returns>Список интеграций специальностей</returns> public List <IntegrationOfSpecialities> GetIntegrationOfSpecialities(SecondarySpeciality secondarySpeciality) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к поиску списка интеграций специальностей. Фильтр — специальность второй ступени."); try { var integrationOfSpecialities = context.IntegrationOfSpecialities.AsNoTracking().Where(ios => ios.SecondarySpecialityId == secondarySpeciality.SecondarySpecialityId).ToList(); logger.Debug($"Поиск окончен. Количество записей: {integrationOfSpecialities.Count}."); return(integrationOfSpecialities); } catch (SqlException sqlEx) { logger.Error("Ошибка получения списка интеграций специальностей. Фильтр — специальность второй ступени."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка получения списка интеграций специальностей. Фильтр — специальность второй ступени."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }
/// <summary> /// Получение записи об интеграции специальностей по параметрам /// </summary> /// <param name="speciality">Фильтр по специальности первой ступени</param> /// <param name="secondarySpeciality">Фильтр по специальности второй ступени</param> /// <returns>Запись интеграции</returns> public IntegrationOfSpecialities GetIntegrationOfSpecialities(Speciality speciality, SecondarySpeciality secondarySpeciality) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к поиску интеграции специальностей по параметрам."); try { var integrationOfSpeciality = context.IntegrationOfSpecialities.AsNoTracking().FirstOrDefault(ios => ios.FirstSpecialityId == speciality.SpecialityId && ios.SecondarySpecialityId == secondarySpeciality.SecondarySpecialityId); if (integrationOfSpeciality != null) { logger.Debug($"Поиск окончен. Запись найдена {integrationOfSpeciality.ToString()}."); } return(integrationOfSpeciality); } catch (SqlException sqlEx) { logger.Error("Ошибка поиска записи интеграции специальностей по параметрам."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка поиска записи интеграции специальностей по параметрам."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }