Пример #1
0
        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);
        }
Пример #2
0
        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());
        }
Пример #3
0
        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);
        }
Пример #4
0
 public static EventTracker CreateTrackerWithRequiredCustomization(Guid userId, string name, TrackerCustomizationSettings trackerCustomizationSettings)
 {
     return(new EventTracker(Guid.NewGuid(), userId, name,
                             trackerCustomizationSettings));
 }