public static async Task <IActionResult> Delete <T>(this Controller controller, IRest <T> rest, int id) { T value = await rest.Get(id); if (value == null) { return(controller.NotFound()); } await rest.Delete(id, value); return(controller.Ok(value)); }