/// <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);
     }
 }
예제 #4
0
 /// <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);
     }
 }
예제 #5
0
 /// <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);
     }
 }