/// <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;
            }
        }
        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();
            }
        }