예제 #1
0
        private void ResultReady(object sender, FileMoveResult result)
        {
            if (result == null)
            {
                RunAfterTestsRoutines();
                return;
            }

            var status = result.exception == null ? "OK" : "Error";
            var line   = new ListViewItem
            {
                BackColor   = result.exception == null ? Color.Green : Color.Red,
                Text        = $"{Path.GetFileName(result.SourcePath)}",
                ToolTipText =
                    result.exception == null ? result.TargetPath : TryToGetUserFriendlyExceptionDescription(result.exception)
            };

            lVLog.Items.Add(line);
            progressBar.Value += result.fileSizeInPercents;
        }
예제 #2
0
        public FileMoveResult Start()
        {
            var result = new FileMoveResult {
                SourcePath = itemPath
            };

            try
            {
                var target = GetTargetPath(itemPath, destinationFolder);
                result.TargetPath = target;
                if (Directory.Exists(itemPath)) //if is directory
                {
                    string uniqueTargetName = MakeFileNameUnique(target);
                    AddLocks(itemPath, sourceLocks);
                    try
                    {
                        MoveDirectory(itemPath, uniqueTargetName);
                    }
                    catch (Exception ex)
                    {
                        MoveDirectory(uniqueTargetName, itemPath, false);
                        throw;
                    }
                }
                else if (File.Exists(itemPath)) //if is file
                {
                    MoveFile(itemPath, target);
                }
                else
                {
                    throw new FileNotFoundException("Source file was not found.", itemPath);
                }
            }
            catch (Exception ex)
            {
                result.exception = ex;
                return(result);
            }

            return(result);
        }
예제 #3
0
        public FileMoveResult Start()
        {
            var result = new FileMoveResult { SourcePath= itemPath };
            try
            {
                var target = GetTargetPath(itemPath, destinationFolder);
                result.TargetPath = target;
                if (Directory.Exists(itemPath)) //if is directory
                {
                    string uniqueTargetName = MakeFileNameUnique(target);
                    AddLocks(itemPath,sourceLocks);
                    try
                    {
                        MoveDirectory(itemPath, uniqueTargetName);
                    }
                    catch (Exception ex)
                    {
                        MoveDirectory(uniqueTargetName,itemPath,false);
                        throw;
                    }
                }
                else if (File.Exists(itemPath)) //if is file
                {
                    MoveFile(itemPath, target);
                }
                else
                {
                    throw new FileNotFoundException("Source file was not found.", itemPath);
                }
            }
            catch (Exception ex)
            {
                result.exception = ex;
                return result;
            }

            return result;
        }
예제 #4
0
 private void OnResultReady(FileMoveResult result)
 {
     ResultReady?.Invoke(typeof(Desktop), result);
 }
예제 #5
0
        private void ResultReady(object sender, FileMoveResult result)
        {
            if (result==null)
            {
                RunAfterTestsRoutines();
                return;
            }

            var status = result.exception == null ? "OK" : "Error";
            var line = new ListViewItem
            {
                BackColor = result.exception == null ? Color.Green : Color.Red,
                Text = $"{Path.GetFileName(result.SourcePath)}: {status}",
                ToolTipText =
                    result.exception == null ? result.TargetPath : TryToGetUserFriendlyExceptionDescription(result.exception)
            };
            lVLog.Items.Add(line);
            progressBar.Value += result.fileSizeInPercents;
        }
예제 #6
0
 private void OnResultReady(FileMoveResult result)
 {
     ResultReady?.Invoke(typeof(Desktop), result);
 }