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;
            }
        }
        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;
            }
        }