コード例 #1
0
        /// <summary>
        /// Conventional Get(long id) controller method functionality
        /// </summary>
        /// <param name="controller"></param>
        /// <param name="id"></param>
        /// <typeparam name="TController"></typeparam>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TDto"></typeparam>
        /// <returns></returns>
        public static IActionResult GetDefault <TController, TEntity, TDto>(
            this IApiEntityController <TController, TEntity> controller,
            long id
            )
            where TController : class, IController
            where TEntity : Entity
        {
            var readResult = controller.Conductor.FindById(id);

            if (readResult.HasErrors)
            {
                return(controller.InternalError <TDto>(readResult.Errors, controller.Logger));
            }

            var resource = readResult.ResultObject;

            if (resource == null)
            {
                return(controller.NotFound <TDto>());
            }

            return(controller.Ok(controller.Mapper.Map <TDto>(resource), null));
        }