/// <summary> /// Удаление типа финансирования /// </summary> /// <param name="typeOfFinance">Удаление записи</param> public void DeleteTypeOfFinance(TypeOfFinance typeOfFinance) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к удалению типа финансирования."); try { var typeOfFinanceToDelete = context.TypeOfFinance.FirstOrDefault(tf => tf.FinanceTypeId == typeOfFinance.FinanceTypeId); if (typeOfFinanceToDelete != null) { context.TypeOfFinance.Remove(typeOfFinanceToDelete); 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="typeOfFinance">Тип финансирования</param> /// <returns>Новая запись</returns> public TypeOfFinance InsertTypeOfFinance(TypeOfFinance typeOfFinance) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к добавлению типа финансирования"); try { logger.Debug($"Добавляемая запись {typeOfFinance.ToString()}"); context.TypeOfFinance.Add(typeOfFinance); context.SaveChanges(); logger.Debug($"Новая запись успешно добавлена."); return(typeOfFinance); } 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="typeOfFinance">Редактируемый тип финансирования</param> /// <returns>Отредактированная запись</returns> public TypeOfFinance UpdateTypeOfFinance(TypeOfFinance typeOfFinance) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к обновлению типа финансирования."); try { var typeOfFinanceToUpdate = context.TypeOfFinance.FirstOrDefault(tf => tf.FinanceTypeId == typeOfFinance.FinanceTypeId); logger.Debug($"Текущая запись {typeOfFinanceToUpdate.ToString()}"); typeOfFinanceToUpdate.Fullname = typeOfFinance.Fullname; context.SaveChanges(); logger.Debug($"Новая запись {typeOfFinanceToUpdate.ToString()}"); return(typeOfFinanceToUpdate); } 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="typeOfFinance">Тип финансирования</param> /// <returns>Список абитуриентов</returns> public List <Enrollee> GetEnrollees(TypeOfFinance typeOfFinance) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к поиску списка абитуриентов выбранного типа финансирования."); try { var enrollees = context.Enrollee.AsNoTracking().Where(e => e.FinanceTypeId == typeOfFinance.FinanceTypeId).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); } }