Dev2.PathOperations.Dev2ActivityIOBroker.ExtractFile C# (CSharp) Method

ExtractFile() static private method

static private ExtractFile ( Dev2UnZipOperationTO args, ZipFile zip, string extractFromPath ) : void
args Dev2UnZipOperationTO
zip Ionic.Zip.ZipFile
extractFromPath string
return void
        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);
                        }
                    }
                }
            }
        }