internal static void CheckinFile(String winPath, String verNo, String verDesc, int maskId, int pathId, int encrSet) { FileInfo fi = new FileInfo(winPath); bool isDeleted = !fi.Exists; //(fi.Attributes & MY_FILE_ATTRIBUTE_DELETED) != 0; FSCheckinDocInfo co = new FSCheckinDocInfo(); co.command = isDeleted ? FSCheckinDocInfo.COMMAND_DELETE : FSCheckinDocInfo.COMMAND_CHECKIN; co.verNo = verNo; co.verDesc = verDesc; co.maskId = maskId; co.pathId = pathId; co.encrSet = encrSet; String infoFileName = makeCheckoutCtrlFileName(winPath); co.Write(infoFileName); if (isDeleted) { fi = new FileInfo(infoFileName); } System.IO.FileAttributes attrs = fi.Attributes; attrs &= ~System.IO.FileAttributes.Archive; attrs |= System.IO.FileAttributes.ReadOnly; // Checkin File.SetAttributes(winPath, attrs); }
internal static void RestoreFile(string winPath) { FSCheckinDocInfo co = new FSCheckinDocInfo(); co.command = FSCheckinDocInfo.COMMAND_RESTORE; String infoFileName = makeCheckoutCtrlFileName(winPath); co.Write(infoFileName); // Checkin System.IO.FileAttributes attrs = System.IO.FileAttributes.ReadOnly | System.IO.FileAttributes.Hidden; File.SetAttributes(infoFileName, attrs); }