public async Task UploadAsync()
        {
            Status = "Uploader";
            FileStatusInformations.Clear();
            var ftpPath = string.Format("{0}_{1:yyyyMMddHHmmss}", Configuration.Path, DateTime.Now);
            var sessionOptions = GetSessionOptions();

            await Task.Run(() =>
            {
                using (Session session = new Session())
                {
                    session.FileTransferProgress += FileTransferProgress;

                    // Connect
                    session.Open(sessionOptions);

                    // Upload files
                    TransferOptions transferOptions = new TransferOptions();
                    transferOptions.TransferMode = TransferMode.Binary;

                    TransferOperationResult transferResult = null;
                    transferResult = session.PutFiles(Location,ftpPath
                       , false,
                        transferOptions);

                    // Throw on any error
                    transferResult.Check();

                    return;

                    //return transferResult.Transfers;
                }
            });

            Status = "Færdig med upload. Kopier udtrækker";
            var command = new CreateDownloadApplication()
            {
                FtpPath = ftpPath,
                EncryptedPassword = sessionOptions.Password.Encrypt(),
                FolderName = string.Format("{0}{1:yyyyMMddHHmmss}", Configuration.Name, DateTime.Now),
                HostName = Configuration.Server,
                UserName = Configuration.UserName
            };

            await command.CreateDownloader();


        }
        // Temporarily checked out because of it's direct relation to ConfigR
        //public void Open()
        //{
        //    Process.Start("explorer.exe", GlobalParameters.ConfigurationFolder);
        //}

        private void FileTransferProgress(object sender, FileTransferProgressEventArgs e)
        {
            var attr = File.GetAttributes(e.FileName);

            if ((attr & FileAttributes.Directory) == FileAttributes.Directory)
                return;

            Application.Current.Dispatcher.Invoke(() =>
            {
                var info = FileStatusInformations.FirstOrDefault(x => x.Path == e.FileName);
                if (info == null)
                {
                    info = new Status() {Path = e.FileName};
                    FileStatusInformations.Add(info);
                }

                info.Progress = (int) (e.FileProgress * 100);
            });

            CPS = e.CPS;
            OverallProgress = e.OverallProgress * 100;
        }