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)); }
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); }