/// <summary>
        /// Returns a file path/name for a run result file.  Will create the
        /// job run directory if it does not exist.
        /// </summary>
        /// <param name="definitionName">Definition name</param>
        /// <param name="runItem">Result type</param>
        /// <param name="runStart">Run date</param>
        /// <returns>File path/name</returns>
        private static string GetRunFilePathName(
            string definitionName,
            JobRunItem runItem,
            DateTime runStart)
        {
            string directoryPath = GetJobRunOutputDirectory(definitionName);
            string jobRunPath = string.Format(CultureInfo.InvariantCulture, @"{0}\{1}",
                directoryPath, ConvertDateTimeToJobRunName(runStart));

            return string.Format(CultureInfo.InvariantCulture, @"{0}\{1}.xml", jobRunPath,
                runItem.ToString());
        }
        /// <summary>
        /// Returns a FileStream object for a new scheduled job definition run.
        /// </summary>
        /// <param name="definitionOutputPath">Scheduled job definition path.</param>
        /// <param name="runStart">DateTime of job run start time.</param>
        /// <param name="runItem">Job run item.</param>
        /// <returns>FileStream object.</returns>
        public static FileStream CreateFileForJobRunItem(
            string definitionOutputPath,
            DateTime runStart,
            JobRunItem runItem)
        {
            if (string.IsNullOrEmpty(definitionOutputPath))
            {
                throw new PSArgumentException("definitionOutputPath");
            }

            string filePathName = GetRunFilePathNameFromPath(definitionOutputPath, runItem, runStart);

            // If the file already exists, we overwrite it because the job run
            // can be updated multiple times while the job is running.
            return File.Create(filePathName);
        }
        /// <summary>
        /// Returns a FileStream object for an existing scheduled job definition
        /// run.
        /// </summary>
        /// <param name="definitionName">Scheduled job definition name.</param>
        /// <param name="runStart">DateTime of job run start time.</param>
        /// <param name="runItem">Job run item.</param>
        /// <param name="fileAccess">File access</param>
        /// <param name="fileMode">File mode</param>
        /// <param name="fileShare">File share</param>
        /// <returns>FileStream object.</returns>
        public static FileStream GetFileForJobRunItem(
            string definitionName,
            DateTime runStart,
            JobRunItem runItem,
            FileMode fileMode,
            FileAccess fileAccess,
            FileShare fileShare)
        {
            if (string.IsNullOrEmpty(definitionName))
            {
                throw new PSArgumentException("definitionName");
            }

            string filePathName = GetRunFilePathName(definitionName, runItem, runStart);
            return File.Open(filePathName, fileMode, fileAccess, fileShare);
        }
        /// <summary>
        /// Returns a file path/name for a job run result, based on the passed in
        /// job run output path.  Will create the job run directory if it does not
        /// exist.
        /// </summary>
        /// <param name="outputPath">Definition job run output path</param>
        /// <param name="runItem">Result type</param>
        /// <param name="runStart">Run date</param>
        /// <returns></returns>
        private static string GetRunFilePathNameFromPath(
            string outputPath,
            JobRunItem runItem,
            DateTime runStart)
        {
            string jobRunPath = string.Format(CultureInfo.InvariantCulture, @"{0}\{1}",
                outputPath, ConvertDateTimeToJobRunName(runStart));

            if (!Directory.Exists(jobRunPath))
            {
                // Create directory for this job run date.
                Directory.CreateDirectory(jobRunPath);
            }

            return string.Format(CultureInfo.InvariantCulture, @"{0}\{1}.xml", jobRunPath,
                runItem.ToString());
        }
Example #5
0
        /// <summary>
        /// Returns a file path/name for a job run result, based on the passed in
        /// job run output path.  Will create the job run directory if it does not
        /// exist.
        /// </summary>
        /// <param name="outputPath">Definition job run output path</param>
        /// <param name="runItem">Result type</param>
        /// <param name="runStart">Run date</param>
        /// <returns></returns>
        private static string GetRunFilePathNameFromPath(
            string outputPath,
            JobRunItem runItem,
            DateTime runStart)
        {
            string jobRunPath = string.Format(CultureInfo.InvariantCulture, @"{0}\{1}",
                outputPath, ConvertDateTimeToJobRunName(runStart));

            if (!Directory.Exists(jobRunPath))
            {
                // Create directory for this job run date.
                Directory.CreateDirectory(jobRunPath);
            }

            return string.Format(CultureInfo.InvariantCulture, @"{0}\{1}.xml", jobRunPath,
                runItem.ToString());
        }
Example #6
0
        /// <summary>
        /// Returns a file path/name for a run result file.  Will create the
        /// job run directory if it does not exist.
        /// </summary>
        /// <param name="definitionName">Definition name</param>
        /// <param name="runItem">Result type</param>
        /// <param name="runStart">Run date</param>
        /// <returns>File path/name</returns>
        private static string GetRunFilePathName(
            string definitionName,
            JobRunItem runItem,
            DateTime runStart)
        {
            string directoryPath = GetJobRunOutputDirectory(definitionName);
            string jobRunPath = string.Format(CultureInfo.InvariantCulture, @"{0}\{1}",
                directoryPath, ConvertDateTimeToJobRunName(runStart));

            return string.Format(CultureInfo.InvariantCulture, @"{0}\{1}.xml", jobRunPath,
                runItem.ToString());
        }
Example #7
0
        /// <summary>
        /// Returns a FileStream object for a new scheduled job definition run.
        /// </summary>
        /// <param name="definitionOutputPath">Scheduled job definition path.</param>
        /// <param name="runStart">DateTime of job run start time.</param>
        /// <param name="runItem">Job run item.</param>
        /// <returns>FileStream object.</returns>
        public static FileStream CreateFileForJobRunItem(
            string definitionOutputPath,
            DateTime runStart,
            JobRunItem runItem)
        {
            if (string.IsNullOrEmpty(definitionOutputPath))
            {
                throw new PSArgumentException("definitionOutputPath");
            }

            string filePathName = GetRunFilePathNameFromPath(definitionOutputPath, runItem, runStart);

            // If the file already exists, we overwrite it because the job run 
            // can be updated multiple times while the job is running.
            return File.Create(filePathName);
        }
Example #8
0
        /// <summary>
        /// Returns a FileStream object for an existing scheduled job definition
        /// run.
        /// </summary>
        /// <param name="definitionName">Scheduled job definition name.</param>
        /// <param name="runStart">DateTime of job run start time.</param>
        /// <param name="runItem">Job run item.</param>
        /// <param name="fileAccess">File access</param>
        /// <param name="fileMode">File mode</param>
        /// <param name="fileShare">File share</param>
        /// <returns>FileStream object.</returns>
        public static FileStream GetFileForJobRunItem(
            string definitionName,
            DateTime runStart,
            JobRunItem runItem,
            FileMode fileMode,
            FileAccess fileAccess,
            FileShare fileShare)
        {
            if (string.IsNullOrEmpty(definitionName))
            {
                throw new PSArgumentException("definitionName");
            }

            string filePathName = GetRunFilePathName(definitionName, runItem, runStart);
            return File.Open(filePathName, fileMode, fileAccess, fileShare);
        }