protected virtual void Delete(IdType id, string DELETE_STORED_PROCEDURE_NAME) { IEnumerable <SqlParameter> storedProcedureParameters = GetIdParameters(id); IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(DELETE_STORED_PROCEDURE_NAME, storedProcedureParameters); try { storedProcedure.ExecuteNonQuery(); } catch (Exception) { string EXCEPTION_MESSAGE = $"Ошибка при удалении экземпляра класса {typeof(EntityType).ToString()}!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } }
public override void Update(Position position) { IEnumerable <SqlParameter> parameters = GetParametersForUpdate(position); const string UPDATE_STORED_PROCEDURE_NAME = "spUpdatePosition"; IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(UPDATE_STORED_PROCEDURE_NAME, parameters); try { storedProcedure.ExecuteNonQuery(); } catch (Exception) { const string EXCEPTION_MESSAGE = "Ошибка обновления экземпляра класса Position в классе PositionDataAccessLayer!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } }
/// <summary> /// Запрашивает размер компании из базы данных /// </summary> /// <param name="company">Компания, для которой ищем размер</param> /// <returns>Размер компании</returns> public int GetSize(Company company) { IEnumerable <SqlParameter> parameters = GetIdParameters(company.Id); const string GET_SIZE_PROCEDURE_NAME = "spGetCompanySize"; IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(GET_SIZE_PROCEDURE_NAME, parameters); try { return(Convert.ToInt32(storedProcedure.ExecuteScalar())); } catch (Exception) { const string EXCEPTION_MESSAGE = "Ошибка запроса размера компании в классе CompanyDataAccessLayer!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } }
public override void Create(Company newCompany) { IEnumerable <SqlParameter> parameters = GetParametersForCreate(newCompany); const string CREATE_STORED_PROCEDURE_NAME = "spAddCompany"; IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(CREATE_STORED_PROCEDURE_NAME, parameters); try { storedProcedure.ExecuteNonQuery(); } catch (Exception) { const string EXCEPTION_MESSAGE = "Ошибка создания экземпляра класса Company в классе CompanyDataAccessLayer!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } }
protected virtual bool Exists(IdType id, string EXISTS_STORED_PROCEDURE_NAME) { IEnumerable <SqlParameter> storedProcedureParameters = GetIdParameters(id); IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(EXISTS_STORED_PROCEDURE_NAME, storedProcedureParameters); try { int result = (int)storedProcedure.ExecuteScalar(); return(result == 1 ? true : false); } catch (Exception ex) { string EXCEPTION_MESSAGE = $"Ошибка проверки существования записи экземпляра класса {typeof(EntityType).ToString()} в базе данных!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw new Exception(); } }
protected virtual EntityType Get(IdType id, string GET_STORED_PROCEDURE_NAME) { IEnumerable <SqlParameter> storedProcedureParameters = GetIdParameters(id); IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(GET_STORED_PROCEDURE_NAME, storedProcedureParameters); DataSet resultDataSet = null; try { resultDataSet = storedProcedure.Execute(); } catch (Exception) { string EXCEPTION_MESSAGE = $"Ошибка выполнения хранимой процедуры получения экземпляра класса {typeof(EntityType).ToString()} из базы данных!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } if (resultDataSet != null) { DataTableMapper mapper = TryGetDataTableMapper(resultDataSet.Tables[0]); EntityType result = mapper.CreateObjectFromTable <EntityType>(); return(result); } else { string EXCEPTION_MESSAGE = $"Ошибка получения экземпляра класса {typeof(EntityType).ToString()} из базы данных!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw new Exception(); } }
protected virtual IEnumerable <EntityType> GetAll(string GET_ALL_STORED_PROCEDURE_NAME) { IDataBaseCommandExecutor storedProcedure = TryGetStoredProcedure(GET_ALL_STORED_PROCEDURE_NAME, new List <SqlParameter> { }); DataSet resultDataSet = null; try { resultDataSet = storedProcedure.Execute(); } catch (Exception) { string EXCEPTION_MESSAGE = $"Ошибка выполнения хранимой процедуры для получения всех записей класса {typeof(EntityType).ToString()} из базы данных!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw; } if (resultDataSet != null) { DataTableMapper mapper = TryGetDataTableMapper(resultDataSet.Tables[0]); IEnumerable <EntityType> resultCollection = mapper.CreateListFromTable <EntityType>(); return(resultCollection); } else { string EXCEPTION_MESSAGE = $"Результат выполнения хранимой процедуры для получения всех записей класса {typeof(EntityType).ToString()} из базы данных вернул Null!"; ExceptionLogger.LogError(EXCEPTION_MESSAGE); throw new Exception(); } }