private void UploadFilms()
        {
            FilmUploader filmUploader = new FilmUploader(production);

            filmUploader.FailureEvent += OnFilmUploaderFailure;
            filmUploader.SuccessEvent += OnFilmUploaderSuccess;
            filmUploader.Upload();
        }
        private void OnFilmUploaderSuccess(object sender, EventArgs ea)
        {
            FilmUploader filmUploader = (sender as FilmUploader);

            filmUploader.SuccessEvent -= OnFilmUploaderSuccess;
            filmUploader.FailureEvent -= OnFilmUploaderFailure;
            filmUploader = null;

            production.Status = ProductionStatus.PS_UPDATE_HISTORY;
            Work();
        }
        private void OnFilmUploaderFailure(object sender, ResultEventArgs ea)
        {
            FilmUploader filmUploader = (sender as FilmUploader);

            filmUploader.SuccessEvent -= OnFilmUploaderSuccess;
            filmUploader.FailureEvent -= OnFilmUploaderFailure;
            filmUploader = null;

            production.ErrorStatus = (ProductionErrorStatus)ea.Result;
            FireFailureEvent();
        }