public class GSTSession : GSTSession
{
public GSTSession()
{
UserIP = "DESKTOPAPP";////Use "DESKTOPAPP" & TaxPro API server will pickup IP of connecting user
EnableAutoRefreshTokenOnApiCall = true;
//Event Handler for StartAPI Transaction : You can check Licensing or anything that you want to
//do before starting API Transaction
StartingApiTxn += StartAPITransactionHandler;
//Event to Handle GSP Refresh Session RefreshSessionCompleted
RefreshSessionCompleted += StoreRefreshedSession;
//Event to Handle AuthToken Completed Event
RefreshAuthTokenCompleted += StoreRefreshedAuth;
//Event to handle Get OTP and Authorization Token after expiry
RequiresReEstablisingOTPandAuthToken += ReEstablisingOTPandAuthToken;
}
private async void StoreRefreshedSession(object sender, GSTSession e)
{
//Update SessionID and ASPEk to ApiSettings
Shared.SaveAPISetting(ApiSetting);
}
private async void StoreRefreshedAuth(object sender, GSTSession e)
{
//Update Refresh Token Information for TaxPayer like AuthToken, SEK,TokenExp and AppKey
Shared.SaveAPILoginDetails(ApiLoginDetails);
}
private void StartAPITransactionHandler(object sender, GSTSession e)
{
//Event Handler for StartAPI Transaction : You can check Licensing or anything that you want to do before starting API Transaction
//if(true )
//{
// CancleApiTxn = true;
// CancelApiMsg = "API Cancel";
//}
}
public async void ReEstablisingOTPandAuthToken(object sender, GSTSession e)
{
}
/// <summary>
/// Login Details of API Transaction
/// </summary>
/// <param name="e"></param>
public override void LogAPITxn(GSTSession e)
{
string LogLine = DateTime.Now.ToString("dd/MM/yyyy HH:mm") + " ";
LogLine += e.TxnID + " ";
LogLine += e.FormNo + " ";
LogLine += e.ApiAction + " ";
LogLine += e.ApiTitle + " ";
LogLine += e.OutcomeMsg + " ";
LogLine += e.ErrCode + " ";
LogLine += e.Info2 + " ";
File.WriteAllText("GstApiTxnLog.txt", LogLine);
}
}