public Guid CreateEventTracker(Guid creatorId, string trackerName, TrackerCustomizationSettings customizationSettings) { var tracker = new EventTracker(Guid.NewGuid(), creatorId, trackerName, customizationSettings); if (_trackerRepository.IsExistTrackerWithSameName(creatorId, trackerName)) { throw new DuplicateTrackerNameException(trackerName); } _trackerRepository.SaveTracker(tracker); return(tracker.Id); }
public void EditEventTrackerGoodCase_EditedTrackerSavedInRepository() { _trackerRepository.SaveTracker(_tracker); var newName = "New Tracker Name"; var editedCustomization = new TrackerCustomizationSettings(); _trackerService.EditEventTracker(_tracker.CreatorId, _tracker.Id, newName, editedCustomization); var editedTrackerFromRepository = _trackerRepository.LoadTracker(_tracker.Id); Assert.AreEqual(newName, editedTrackerFromRepository.Name); Assert.AreEqual(editedCustomization.GetHashCode(), editedTrackerFromRepository.CustomizationSettings.GetHashCode()); }
public void EditEventTracker(Guid actorId, Guid trackerId, string name, TrackerCustomizationSettings customizationSettings) { if (!_trackerRepository.IsContainTracker(trackerId)) { throw new TrackerNotFoundException(trackerId); } var tracker = _trackerRepository.LoadTracker(trackerId); if (actorId != tracker.CreatorId) { throw new NoPermissionsForTrackerException(actorId, trackerId); } if (_trackerRepository.IsExistTrackerWithSameName(actorId, name)) { throw new DuplicateTrackerNameException(name); } var updatedTracker = new EventTracker(tracker.Id, tracker.CreatorId, name, customizationSettings); _trackerRepository.UpdateTracker(updatedTracker); }
public static EventTracker CreateTrackerWithRequiredCustomization(Guid userId, string name, TrackerCustomizationSettings trackerCustomizationSettings) { return(new EventTracker(Guid.NewGuid(), userId, name, trackerCustomizationSettings)); }