public bool TryDequeue(out Upload upload) { if (_queue.TryDequeue(out upload)) { UploadsChanged?.Invoke(this, CollectionChangedEventArgs <Upload> .CreateForRemovedItem(upload)); return(true); } return(false); }
public IEnumerable <Upload> TryEnqueueRange(IEnumerable <SessionRecordingData> recordings) { var uploads = recordings.Where(r => _queue.Any(u => u.Recording.Path.Equals(r.Path)) == false) .Select(r => new Upload(r)) .ToList(); if (uploads.Any()) { uploads.ForEach(u => _queue.Enqueue(u)); UploadsChanged?.Invoke(this, CollectionChangedEventArgs <Upload> .CreateForAddedCollection(uploads)); } return(uploads); }
public bool TryEnqueue(SessionRecordingData recording) { if (_queue.Any(u => u.Recording.Path.Equals(recording.Path)) == false) { var upload = new Upload(recording.Clone()); _queue.Enqueue(upload); UploadsChanged?.Invoke(this, CollectionChangedEventArgs <Upload> .CreateForAddedItem(upload)); return(true); } return(false); }