static void ExtractFile(Dev2UnZipOperationTO args, ZipFile zip, string extractFromPath)
{
if(zip != null)
{
using(zip)
{
if(!string.IsNullOrEmpty(args.ArchivePassword))
{
zip.Password = args.ArchivePassword;
}
foreach(var ze in zip)
{
try
{
ze.Extract(extractFromPath,
args.Overwrite
? ExtractExistingFileAction.OverwriteSilently
: ExtractExistingFileAction.DoNotOverwrite);
}
catch(BadPasswordException bpe)
{
throw new Exception("Invalid archive password", bpe);
}
}
}
}
}