/// <summary> /// Удаление основания зачисления /// </summary> /// <param name="reasonForAddmission">Удаляемая запись</param> public void DeleteReasonForAddmission(ReasonForAddmission reasonForAddmission) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к удалению основания зачисления."); try { var reasonForAddmissionToDelete = context.ReasonForAddmission.FirstOrDefault(r => r.ReasonForAddmissionId == reasonForAddmission.ReasonForAddmissionId); if (reasonForAddmissionToDelete != null) { context.ReasonForAddmission.Remove(reasonForAddmissionToDelete); 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="reasonForAddmission">Новое основание зачисления</param> /// <returns>Новая запись</returns> public ReasonForAddmission InsertReasonForAddmission(ReasonForAddmission reasonForAddmission) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к добавлению основания зачисления"); try { logger.Debug($"Добавляемая запись {reasonForAddmission.ToString()}"); context.ReasonForAddmission.Add(reasonForAddmission); context.SaveChanges(); logger.Debug($"Новая запись успешно добавлена."); return(reasonForAddmission); } 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="reasonForAddmission">Редактируемая запись</param> /// <returns>Отредактированная запись</returns> public ReasonForAddmission UpdateReasonForAddmission(ReasonForAddmission reasonForAddmission) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к обновлению основания зачисления."); try { var reasonForAddmissionToUpdate = context.ReasonForAddmission.FirstOrDefault(r => r.ReasonForAddmissionId == reasonForAddmission.ReasonForAddmissionId); logger.Debug($"Текущая запись {reasonForAddmissionToUpdate.ToString()}"); reasonForAddmissionToUpdate.ContestId = reasonForAddmission.ContestId; reasonForAddmissionToUpdate.Fullname = reasonForAddmission.Fullname; reasonForAddmissionToUpdate.Shortname = reasonForAddmission.Shortname; context.SaveChanges(); logger.Debug($"Новая запись {reasonForAddmissionToUpdate.ToString()}"); return(reasonForAddmissionToUpdate); } 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="reasonForAddmission">Основание зачисления</param> /// <returns>Список абитуриентов</returns> public List <Enrollee> GetEnrollees(ReasonForAddmission reasonForAddmission) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к поиску списка абитуриентов выбранного основания зачисления."); try { var enrollees = context.Enrollee.AsNoTracking().Where(e => e.ReasonForAddmissionId == reasonForAddmission.ReasonForAddmissionId).ToList(); logger.Debug($"Поиск окончен. Количество записей: {enrollees.Count}."); return(enrollees); } 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); } }