I couldn't agree more. After working on projects that scaled over time, I've realized that the cost of not setting these foundations early is almost always higher than the effort required to put them ...
You can set the Result model for all condition with T Result and Return For example : result.StatusCode = HttpStatusCode.NotFound; result.Messages.Add("Data Not Found."); result.Success = false; ...