public static IActionResult ToResponse(this CQRSResponse response) { if (response.IsUnsuccessful) { return new ObjectResult(new { response.ErrorMessage }) { StatusCode = response.StatusCode } } ; else if (response.HasData) { return new ObjectResult(new { Data = response.GetData() }) { StatusCode = response.StatusCode } } ; else { return(new StatusCodeResult(response.StatusCode)); } }
public async Task <CQRSResponse <string> > Handle(GetUrlByKeyQuery query, CancellationToken cancellationToken) { var url = await repository.GetUrl(query.Key); if (string.IsNullOrWhiteSpace(url)) { return(CQRSResponse.NotFound <string>($"{query.Key} does not exist.")); } else { return(CQRSResponse.Success(url)); } }