using System;
using System.IO;
using System.Windows.Forms;

namespace Addison_Wesley.Codebook.Filesystem
{
   public class FileUtil
   {
      /// <summary>
      /// Zkopíroje soubor
      /// </summary>
      /// <param name="sourceFilePath">Cesta ke zdrojovému souboru</param>
       /// <param name="destFilePath">Cesta k cílovému souboru</param>
      /// <returns>Vrátí true, podařilo-li se soubor zkopírovat</returns>
      public static bool CopyFile(string sourceFilePath, string destFilePath)
      {
         // Dotaz, zda soubor existuje 
         if (System.IO.File.Exists(destFilePath))
         {
            // Dotaz k uživateli, zda se má soubor přepsat 
            if (MessageBox.Show("Soubor '" + destFilePath +
               "' již existuje.\r\n\r\nChcete ho přepsat?",
               Application.ProductName, MessageBoxButtons.YesNo,
               MessageBoxIcon.Exclamation) == DialogResult.No)

               // Ukončíme funkci a vrátíme false
               return false;
         }

         try
         {
            // Soubor překopírujeme 
            System.IO.File.Copy(sourceFilePath, destFilePath, true);

            return true;
         }
         catch (Exception ex)
         {
            // Chybvý zpráva
            MessageBox.Show("Soubor '" + sourceFilePath + "' nelze " +
               "zkopítrovat: " + ex.Message, Application.ProductName,
               MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

            return false;
         }
      }
   }
}
