public async Task UpdateAsync(PointTranslation pointTranslation) { VerifyManagementPermission(); var authId = GetClaimId(ClaimType.UserId); var siteId = GetCurrentSiteId(); var currentPointTranslation = await _pointTranslationRepository.GetByIdAsync( pointTranslation.Id); if (currentPointTranslation.SiteId != siteId) { _logger.LogError($"User {authId} cannot update point translation {currentPointTranslation.Id} for site {currentPointTranslation.SiteId}."); throw new GraException($"Permission denied - point translation belongs to site id {currentPointTranslation.SiteId}."); } currentPointTranslation.ActivityDescription = pointTranslation.ActivityDescriptionPlural; currentPointTranslation.ActivityDescriptionPlural = pointTranslation.ActivityDescriptionPlural; currentPointTranslation.TranslationDescriptionPastTense = pointTranslation.TranslationDescriptionPastTense; currentPointTranslation.TranslationDescriptionPresentTense = pointTranslation.TranslationDescriptionPresentTense; currentPointTranslation.TranslationName = pointTranslation.TranslationName; var hasBeenUsed = await HasBeenUsedAsync(pointTranslation.Id); if (hasBeenUsed == false) { currentPointTranslation.ActivityAmount = pointTranslation.ActivityAmount; currentPointTranslation.IsSingleEvent = pointTranslation.IsSingleEvent; currentPointTranslation.PointsEarned = pointTranslation.PointsEarned; } await _pointTranslationRepository.UpdateSaveAsync(authId, currentPointTranslation); }
public async Task <PointTranslation> AddAsync(PointTranslation pointTranslation) { VerifyManagementPermission(); pointTranslation.SiteId = GetCurrentSiteId(); return(await _pointTranslationRepository.AddSaveAsync(GetClaimId(ClaimType.UserId), pointTranslation)); }