Exemplo n.º 1
0
        public bool TryDequeue(out Upload upload)
        {
            if (_queue.TryDequeue(out upload))
            {
                UploadsChanged?.Invoke(this, CollectionChangedEventArgs <Upload> .CreateForRemovedItem(upload));

                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }