DelphiniumVC
33 строки · 847.0 Байт
1using Application.Core;2using MediatR;3using Microsoft.AspNetCore.Mvc;4
5namespace API.Controllers6{
7[ApiController]8[Route("api/[controller]")]9public class BaseApiController : ControllerBase10{11private IMediator _mediator;12
13protected IMediator Mediator => _mediator ??=14HttpContext.RequestServices.GetService<IMediator>();15
16protected ActionResult HandleResult<T>(Result<T> result)17{18if(result is null)19{20return NotFound();;21}22if (result.IsSuccess && result.Value !=null)23{24return Ok(result.Value);25}26if (result.IsSuccess && result.Value is null)27{28return NotFound();29}30return BadRequest(result.Error);31}32}33}