/// <summary>
        /// Queries the API message.
        /// </summary>
        /// <param name="criteria">The criteria.</param>
        /// <returns></returns>
        public List <ApiMessage> QueryApiMessage(ApiMessageCriteria criteria)
        {
            try
            {
                criteria.CheckNullObject(nameof(criteria));

                using (var controller = new ApiMessageAccessController(_sqlConnectionString))
                {
                    return(controller.QueryApiMessage(criteria));
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle(new { criteria });
            }
        }
        /// <summary>
        /// Logs the API message.
        /// </summary>
        /// <param name="message">The message.</param>
        public void LogApiMessage(ApiMessage message)
        {
            try
            {
                message.CheckNullObject(nameof(message));

                using (var controller = new ApiMessageAccessController(_sqlConnectionString))
                {
                    controller.LogApiMessage(message);
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle(new { message });
            }
        }