コード例 #1
0
        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));
            }
        }