Beispiel #1
0
 private void Apply(ProjectDeleted @event)
 {
     _projects.Remove(@event.ProjectId);
     LastModified        = @event.OccurredAt;
     LastModifiedBy      = @event.UserId;
     LastModifiedVersion = CalculateLastModifiedVersion();
 }
            public bool ShouldChangeCharacters(UITextView textView, NSRange range, string text)
            {
                if (!isPressingBackspace(range, text))
                {
                    return(true);
                }

                var cursorPosition = range.Location;
                var attrs          = textView.AttributedText.GetAttributes(cursorPosition, out var attrRange);

                var isDeletingProject = attrs.ObjectForKey(TimeEntryTagsTextView.RoundedBackground) != null;

                if (isDeletingProject)
                {
                    ProjectDeleted.Raise(this);
                    return(false);
                }

                var isDeletingTag = attrs.ObjectForKey(TimeEntryTagsTextView.RoundedBorders) != null;

                if (isDeletingTag)
                {
                    TagDeleted?.Invoke(this, new TagDeletedEventArgs(cursorPosition));
                    return(false);
                }

                return(true);
            }
Beispiel #3
0
        public override bool ShouldChangeText(UITextView textView, NSRange range, string text)
        {
            if (isTypingMultistageCharacter(range, text))
            {
                IsWritingMultistageCharacter.Raise(this);
                return(true);
            }

            if (!isPressingBackspace(range, text))
            {
                return(true);
            }

            var cursorPosition = range.Location;
            var attrs          = textView.AttributedText.GetAttributes(cursorPosition, out var attrRange);

            var isDeletingProject = attrs.ObjectForKey(TokenExtensions.Project) != null;

            if (isDeletingProject)
            {
                ProjectDeleted.Raise(this);
                return(false);
            }

            var tagIndex      = attrs.ObjectForKey(TokenExtensions.TagIndex) as NSNumber;
            var isDeletingTag = tagIndex != null;

            if (isDeletingTag)
            {
                TagDeleted?.Invoke(this, new TagDeletedEventArgs((int)cursorPosition, tagIndex.Int32Value));
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Cleans up event handlers when finished using this object
        /// </summary>
        public virtual void Dispose()
        {
            foreach (Delegate d in ProjectAdded.GetInvocationList())
            {
                ProjectAdded -= (EventHandler <TaskConqueror.ProjectAddedEventArgs>)d;
            }

            foreach (Delegate d in ProjectUpdated.GetInvocationList())
            {
                ProjectUpdated -= (EventHandler <TaskConqueror.ProjectUpdatedEventArgs>)d;
            }

            foreach (Delegate d in ProjectDeleted.GetInvocationList())
            {
                ProjectDeleted -= (EventHandler <TaskConqueror.ProjectDeletedEventArgs>)d;
            }
        }
        public void BeforeTextChanged(ICharSequence sequence, int start, int count, int after)
        {
            var isDeleting = count > after;
            if (!isDeleting) return;

            var spannable = sequence as SpannableStringBuilder;
            var deletedSpan = spannable.GetSpans(start, start, Class.FromType(typeof(TokenSpan))).LastOrDefault();
            if (deletedSpan == null) return;

            if (deletedSpan is ProjectTokenSpan)
            {
                ProjectDeleted?.Raise(this);
            }
            else if (deletedSpan is TagsTokenSpan tagSpan)
            {
                TagDeleted?.Invoke(this, new TagDeletedEventArgs(start, tagSpan.TagIndex));
            }
        }
Beispiel #6
0
 private void RaiseProjectDeleted(TimeTrackerDataSet.ProjectsRow projectEntry)
 {
     ProjectDeleted?.Invoke(this, new TimeTrackerEvent(projectEntry, null));
 }
Beispiel #7
0
 public void Process(ProjectDeleted @event)
 {
     _projects.Delete(p => p.Id == @event.ProjectId);
 }
Beispiel #8
0
        public void Process(ProjectDeleted @event)
        {
            var project = _projects.GetById(@event.ProjectId);

            _projects.Delete(project);
        }
 public void RaiseProjectDeleted()
 {
     ProjectDeleted?.Invoke(this, EventArgs.Empty);
 }
Beispiel #10
0
        private void Apply(ProjectDeleted e)
        {
            LastModifiedVersion = CalculateLastModifiedVersion();

            IsDeleted = true;
        }