AvalonPatch.AvalonPatch.fillInfo C# (CSharp) Method

fillInfo() public method

public fillInfo ( string fileName, patchFile pf ) : void
fileName string
pf patchFile
return void
        void fillInfo(string fileName, patchFile pf)
        {
            if (pf.patchAction != "unzip")
            {
                pf.patchVersion = fileVersion(Path.Combine(tempExtractPath, fileName));
                pf.patchSize = fileSize(Path.Combine(tempExtractPath, fileName));
            }

            // if patch file is a plugin
            if (pf.patchLocation.ToLower().StartsWith("process") || pf.patchLocation.ToLower().StartsWith("windows"))
            {
                pf.destinationPath = Path.Combine(SkinInfo.mpPaths.pluginPath, pf.patchLocation);
                pf.installedVersion = fileVersion(Path.Combine(pf.destinationPath, fileName));
                pf.installedSize = fileSize(Path.Combine(pf.destinationPath, fileName));
            }
            if (pf.patchLocation.ToLower().StartsWith("mediaportal"))
            {
                pf.destinationPath = SkinInfo.mpPaths.sMPbaseDir;
                pf.installedVersion = fileVersion(Path.Combine(pf.destinationPath, fileName));
                pf.installedSize = fileSize(Path.Combine(pf.destinationPath, fileName));
            }
            if (pf.patchAction == "unzip")
                pf.installedVersion = skInfo.skinVersion.ToString();

            if (pf.installedVersion == "0.0.0.0" && pf.patchAction != "mandatoryinstall")
                return;

            patchFiles.Add(pf);
            ListViewItem item = new ListViewItem(new[] { pf.patchFileName, pf.patchVersion, pf.installedVersion });
            item.ImageIndex = 1;

            Version patchVersion = new Version(pf.patchVersion);
            Version installedVersion = new Version(pf.installedVersion);

            if (patchVersion.CompareTo(installedVersion) < 0)
            {
                item.ImageIndex = 0;
            }
            else if (patchVersion.CompareTo(installedVersion) == 0)
            {
                // check filesize...we cant do modified date as embedded resource
                // streams and writes a new file
                if (pf.patchSize.CompareTo(pf.installedSize) <= 0)
                    item.ImageIndex = 0;
                else
                    item.ImageIndex = 1;
            }
            else
                item.ImageIndex = 1;

            thePatches.Items.Add(item);
        }