public Media(Guid mediaId, string posterUri, string mediaName, DateTime dateOfRelease, AwardStatus accolades, DateTime createdOn) { MediaId = mediaId; PosterUri = posterUri; MediaName = mediaName; DateOfRelease = dateOfRelease; Accolades = accolades; CreatedOn = createdOn; }
public void RevokeAward(AwardStatus status, decimal amountRevoked) { if (amountRevoked > CurrentValue) { throw new Exception("Cannot revoke more than the award is worth"); } CurrentValue = CurrentValue - (amountRevoked == 0.00m ? CurrentValue : amountRevoked); Status = status; }
public void RedeemAward(decimal amountRedeemed) { if (amountRedeemed > CurrentValue) { throw new Exception("Cannot redeem more than the current value of the award"); } CurrentValue = CurrentValue - amountRedeemed; Status = CurrentValue == 0.00m ? AwardStatus.FullyRedeemed : AwardStatus.PartiallyRedeemed; }
public AwardStatus AddAward(Award award) { AwardStatus res = CheckAward(award); if (res == AwardStatus.Verified) { _awardsRepo.SaveAward(award); } return(res); }
public void RevokeAward(Guid awardId, AwardStatus status, decimal amountRevoked = 0.00m) { if (!Awards.Any(a => a.Id == awardId)) { return; } var award = Awards.Single(a => a.Id == awardId); award.RevokeAward(status, amountRevoked); }