Beispiel #1
0
        public JobEntry(IJobView jobView, JobTypeDescription typeDescription)
        {
            InitializeComponent();

            _jobView = jobView;

            EntryType      = typeDescription;
            EntryProgress  = jobView.Progress;
            EntryException = jobView.Exception;
            Status         = jobView.LastStatus;
            JobId          = jobView.Id;

            switch (jobView.Type)
            {
            case JobType.FileTransfer:
                EntryArgs = new TransferArgsView(jobView.GetArgumentsView().FileTransferArguments);
                break;

            case JobType.Delete:
                EntryArgs = new DelArgsView(jobView.GetArgumentsView().DeleteArguments);
                break;

            case JobType.DirTransfer:
                EntryArgs = new TransferArgsView(jobView.GetArgumentsView().DirectoryTransferArguments);
                break;

            default:
                throw new ArgumentOutOfRangeException("JobEntry.ctor: new type of job?");
            }
        }
        public static JobTypeDescription GetJobTypeDescription(this IJobView jobView)
        {
            if (jobView.Type == JobType.Delete)
            {
                if (jobView.GetArgumentsView().DeleteArguments.Target.GetType() == typeof(DirectoryInfo))
                {
                    return(JobTypeDescription.DirDelete);
                }
                else
                {
                    return(JobTypeDescription.FileDelete);
                }
            }

            if (jobView.Type == JobType.DirTransfer)
            {
                if (jobView.GetArgumentsView().DirectoryTransferArguments.Settings == TransferSettings.DeleteOriginal)
                {
                    return(JobTypeDescription.DirMove);
                }
                else
                {
                    return(JobTypeDescription.DirCopy);
                }
            }

            if (jobView.Type == JobType.FileTransfer)
            {
                if (jobView.GetArgumentsView().FileTransferArguments.Settings == TransferSettings.DeleteOriginal)
                {
                    return(JobTypeDescription.FileMove);
                }
                else
                {
                    return(JobTypeDescription.FileCopy);
                }
            }

            throw new ArgumentOutOfRangeException("New JobTypeDescription?");
        }