public static void MarkFileAsFailed(string filename)
 {
     var failedFile = string.Format("{0}_FAILED{1}", Path.GetFileNameWithoutExtension(filename), Path.GetExtension(filename));
     if (File.Exists(failedFile))
         UiLibrary.AppendGuidToFilename(failedFile);
     File.Move(filename, failedFile);
 }
 public static string ArchiveFile(int vendorId, SetupJobDirection direction, string localFile)
 {
     var dc = new ProcessRunnerDcDataContext();
     var vendor = dc.Vendors.Single(v => v.Id == vendorId);
     var archivePath = dc.NameValuePairs.Single(nv => nv.Name.Equals("TransmissionArchive")).Value;
     var path = Path.Combine(archivePath, direction.ToString(), vendor.ArchiveLocation);
     if (!Directory.Exists(path))
         Directory.CreateDirectory(path);
     path = Path.Combine(path, DateTime.Now.Year.ToString());
     if (!Directory.Exists(path))
         Directory.CreateDirectory(path);
     var archiveFilename = Path.Combine(path, Path.GetFileName(localFile));
     if (File.Exists(archiveFilename))
         UiLibrary.AppendGuidToFilename(archiveFilename);
     File.Copy(localFile, archiveFilename);
     return archiveFilename;
 }