public bool Equals(AnalizationTask other)
        {
            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(Observer.Equals(other.Observer) &&
                   Observable.Equals(other.Observable) &&
                   TargetUser.Equals(other.TargetUser));
        }
Example #2
0
        private void TryAddToTasks(
            ApplicationUser observer,
            ObservableUser observable,
            ObservableUser targetUser,
            Task task,
            CancellationTokenSource cancellationTokenSource)
        {
            var analizationTask = _tasks.Where(at => at.Observer.Equals(observer) &&
                                               at.Observable.Equals(observable) &&
                                               at.TargetUser.Equals(targetUser)).FirstOrDefault();

            if (analizationTask == null) // Task not created yet.
            {
                var newAnalizationTask =
                    new AnalizationTask(observer, observable, targetUser, task, cancellationTokenSource);
                _tasks.Add(newAnalizationTask);
            }

            analizationTask.AddTask(task);
        }