Example #1
0
        /// <summary>
        /// Called when a merge is about to be processed.
        /// </summary>
        /// <param name="changes">The changes.</param>
        /// <returns>The <see cref="CancelEventArgs"/>.</returns>
        internal bool OnMergeStarted(ObjectRepositoryChangeCollection changes)
        {
            var args = new MergeStartedEventArgs(changes);

            MergeStarted?.Invoke(this, args);
            return(!args.Cancel);
        }
Example #2
0
        private void When(MergeStarted e)
        {
            var otherBlacklistIds = e.BlackListedIds.Except(_buddyIdsBlackList);

            _buddyIdsBlackList.AddRange(otherBlacklistIds);
            Status = GroupStatus.Merging;
        }
Example #3
0
 private void onMergeStarted()
 {
     if (MergeStarted == null)
     {
         return;
     }
     MergeStarted.Invoke(this, new StatusChangedArgument());
 }
Example #4
0
        public void StartMerge(Group otherGroup)
        {
            if (Id == otherGroup.Id)
            {
                throw new InvalidOperationException("Can't merge the 2 same groups");
            }

            var e = new MergeStarted(Id, otherGroup.Id, otherGroup.Blacklist.ToList());

            Publish(e);
        }
Example #5
0
 public void OnMergeStarted(MergeEventArgs e)
 {
     MergeStarted?.Invoke(this, e);
 }
Example #6
0
 private void OnMergeStarted(MergeEventArgs e) => MergeStarted?.Invoke(this, e);