/// <summary>
        /// Retrieves the result for the specified query.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <returns>The query result.</returns>
        public virtual TModel Retrieve(GetQuery <TModel> query)
        {
            var entity = _repository.GetById(query.Id);

            if (entity == null)
            {
#pragma warning disable CS8653 // Possible null reference return.
                return(default);
        /// <summary>
        /// Retrieves the result for the specified query.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <returns>The query result.</returns>
        public virtual TModel Retrieve(GetQuery <TModel> query)
        {
            var entity = _repository.GetById(query.Id);

            if (entity == null)
            {
                return(default(TModel));
            }

            var model = _mapper.Map <TModel>(entity);

            return(model);
        }