/// <summary>
/// Copies the files.
/// </summary>
/// <param name="sourceDirectory">Source directory.</param>
/// <param name="targetDirectory">Target directory.</param>
/// <param name="criterial">File criteria.</param>
/// <param name="overrides">if is <strong>true</strong> overrides destination file.</param>
public static void CopyFiles(string sourceDirectory, string targetDirectory, string criterial, bool overrides)
{
Logger.Instance.Debug("");
Logger.Instance.Debug(" Assembly: iTin.Core.IO, Namespace: iTin.Core.IO, Class: File");
Logger.Instance.Debug(" Copies specified files from source to target directory");
Logger.Instance.Debug($" > Signature: (void) CopyFiles({typeof(string)}, {typeof(string)}, {typeof(string)}, {typeof(bool)})");
SentinelHelper.IsTrue(string.IsNullOrEmpty(sourceDirectory));
Logger.Instance.Debug($" > sourceDirectory: {sourceDirectory}");
SentinelHelper.IsTrue(string.IsNullOrEmpty(targetDirectory));
Logger.Instance.Debug($" > targetDirectory: {targetDirectory}");
Logger.Instance.Debug($" > criterial: {criterial}");
Logger.Instance.Debug($" > overrides: {overrides}");
string[] items = NativeDirectory.GetFiles(sourceDirectory, criterial, NativeIO.SearchOption.TopDirectoryOnly);
foreach (var item in items)
{
string filename = NativePath.GetFileName(item);
string target = NativePath.Combine(targetDirectory, filename);
NativeFile.Copy(item, target, overrides);
}
Logger.Instance.Debug($" > Output: Has been copied correctly from {sourceDirectory} to {targetDirectory}");
}