Elaborating on what Chris said, while there will not be an automatic PowerScript-to-C# converter, the fact that our C# framework includes the DataStore and any embedded SQL can be basically copy n' paste into the SQLExecutor so it's not like you have to rethink and rewrite all your code... it is basically a "port" effort.
Example PowerScript code:
public function datastore of_retrieve (date ad_start, date ad_end, decimal adec_amt);
Datastore lds
lds = Create Datastore
lds.dataobject = "d_order_customer"
lds.SetTransObject(SQLCA)
lds.Retrieve(ad_start, ad_end, adec_amt)
Return lds
end function
Example C# code:
public IDataStore GetOrderCustomerInfo(DateTime startDate, DateTime endDate, decimal amount)
{
IDataStore dataStore = new DataStore("d_order_customer", _context);
dataStore.Retrieve(startDate, endDate, amount);
return dataStore;
}
Also, just to clarify, the DataWindow data object is automatically migrated to a C# data model... we provide a tool to do this. Here is example of what the automatically generated C# data model looks like for this:
public class OrderCustomer
{
[SqlColumn("Title")]
public string Person_Title { get; set; }
[SqlColumn("FirstName")]
public string Person_Firstname { get; set; }
[SqlColumn("MiddleName")]
public string Person_Middlename { get; set; }
[SqlColumn("LastName")]
public string Person_Lastname { get; set; }
[SqlColumn("ModifiedDate")]
public DateTime? Customer_Modifieddate { get; set; }
[SqlColumn(tableAlias: "c", column: "CustomerID")]
public int Customer_Customerid { get; set; }
[SqlCompute(alias: "SumAmt", expression: "Sum(o.SubTotal )")]
public decimal? Sumamt { get; set; }
[SqlCompute(alias: "AvgAmt", expression: "Avg(o.SubTotal )")]
public decimal? Avgamt { get; set; }
}