Пример #1
0
        private void UploadJob(Job job)
        {
            if (!File.Exists(job.SelectedVideo.Path))
            {
                DeleteLastJobFile();
                return;
            }

            SaveCurrentJob(job);

            UploadCommunication.ProgressChanged += ReactToProgressChanged;
            while (!UploadCommunication.Upload(ref job, ref shouldCancel))
            {
                job.UploadingAccount = AccountCommunication.RefreshAccess(job.UploadingAccount);
            }

            UploadCommunication.ProgressChanged -= ReactToProgressChanged;

            if (!shouldCancel)
            {
                OnUploadFinished(job.SelectedVideo.Title);
                DeleteLastJobFile();

                // Datei umbenennen, damit der Uploader nicht erneut versucht, sie hochzuladen.
                var movedPath = Path.GetDirectoryName(job.SelectedVideo.Path)
                                + "\\_" + Path.GetFileNameWithoutExtension(job.SelectedVideo.Path).Remove(0, 1)
                                + Path.GetExtension(job.SelectedVideo.Path);

                try
                {
                    File.Move(job.SelectedVideo.Path, movedPath);
                }
                catch (IOException)
                {
                }
            }
        }
Пример #2
0
        private void UploadVideo(string fileName, TemplateVideoCreator creator)
        {
            Video vid = creator.CreateVideo(fileName);

            bool waitResult = WaitForAccess(fileName);

            if (!waitResult)
            {
                // Video wurde gelöscht.
                return;
            }

            OnUploadStarted(vid.Title);

            Job job = null;

            while (job == null)
            {
                RefreshAccess();
                job = UploadCommunication.PrepareUpload(vid, ActiveAccount);
            }

            UploadJob(job);
        }