public Result <bool> DeleteRewardPackage(int?userId, int?projectId, int?rewardPackageId) { if (userId == null || projectId == null || rewardPackageId == null) { return(Result <bool> .Failed(StatusCode.BadRequest, "Null Options")); } if (Helpers.UserOwnsProject(_context, userId, projectId) == false) { return(Result <bool> .Failed(StatusCode.BadRequest, "Can Not Access A Project You Don't Own")); } var project = GetProjectById(projectId); try { var rewardToDelete = project.Data.RewardPackages .FirstOrDefault(rp => rp.RewardPackageId == rewardPackageId); return(rewardToDelete == null ? Result <bool> .Failed(StatusCode.NotFound, "Reward Package Could Not Be Deleted") : Result <bool> .Succeed(_rewardService.DeleteRewardPackage(rewardToDelete))); } catch (Exception ex) { return(Result <bool> .Failed(StatusCode.InternalServerError, ex.Message)); } }