In the photo it shows this

with the associated code.
but then it tells you it has to do this,
The Postprocess Method
A post-processing script must have one method as shown below.
Code:
public static bool Postprocess(WrPostprocessArguments args)
{
try
{
return true ;
}
catch (Exception exp)
{
args.WriteDebug(exp.Message);
return false ;
}
}
Which is completely different from the photo.
But then it says this
The .NET test application should load the data output for your project and then call the postprocess method as shown below. When your test application works, you can copy the Postprocess method directly into the Visual Web Ripper script editor.
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VisualWebRipper;
namespace Postprocessing
{
class Program
{
static void Main(string[] args)
{
WrProject project = WrProject.LoadByName( "projectName" );
WrDataProject data = project.GetCollectedData();
WrPostprocessArguments processArgs = new WrPostprocessArguments(data.StartUrls, project);
Postprocess(processArgs);
}
public static bool Postprocess(WrPostprocessArguments args)
{
try
{
//First we set the SQL we'll use to insert data into the database table.
//The Database connection has already been set by defining a shared script
//database. Visual Web Ripper will automatically open and close the
//database connection.
args.Database.SetSql( "insert into properties (type,fors,title,description,area) values (@type,@fors,@title,@description,@area)" );
args.Database.PrepareSql();
//The first table contains the start URL. We only have one start URL in
//this project. ChildTableRows returns all rows in the first child table
foreach(WrDataRow finditRow in args.DataTable[0].ChildTableRows)
{
//The next child table is the page navigation data table
foreach(WrDataRow pageRow in finditRow.ChildTableRows)
{
//The last child table is where the property data is located
foreach(WrDataRow propertyRow in pageRow.ChildTableRows)
{
args.Database.SetParameterTextValue( "@type" ,
finditRow[ "type" ]);
args.Database.SetParameterTextValue( "@fors" ,
finditRow[ "fors" ]);
args.Database.SetParameterTextValue( "@title" ,
propertyRow[ "title" ]);
args.Database.SetParameterTextValue( "@description" ,
propertyRow[ "description" ]);
args.Database.SetParameterTextValue( "@area" ,
propertyRow[ "area" ]);
args.Database.ExecuteNonQuery();
}
}
}
return true ;
}
catch (Exception exp)
{
args.WriteDebug(exp.Message);
return false ;
}
}
}
}
I'm pretty confused...