Hey, you can use code to access smart object as long as you can access the K2 api and have active connection to k2 server. Below is the code snippet
SourceCode.HostClientAPI,
SourceCode.SmartObjects.Client
string m_strSOConnManagedUsers = "Server=server;Port=5555;AutoAlias=False;SmartObjects=Tasks";
string strSelectCmd = "Smartobject.GetList";
SourceCode.Data.SmartObjectsClient.SOConnection oConn = new SourceCode.Data.SmartObjectsClient.SOConnection(m_strSOConnManagedUsers);
SourceCode.Data.SmartObjectsClient.SOCommand oCmd = new SourceCode.Data.SmartObjectsClient.SOCommand(strSelectCmd, oConn);
SourceCode.Data.SmartObjectsClient.SODataReader oRdr = null;
oCmd.CommandType = System.Data.CommandType.StoredProcedure;
SourceCode.Data.SmartObjectsClient.SOParameter oParam = new SourceCode.Data.SmartObjectsClient.SOParameter("@Parameter1", "Value");
SourceCode.Data.SmartObjectsClient.SOParameter oParam1 = new SourceCode.Data.SmartObjectsClient.SOParameter("@Parameter2", "value");
oCmd.Parameters.Add(oParam);
oCmd.Parameters.Add(oParam1);
oRdr = oCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
string m_strPrefix = "";
if (oRdr != null)
{
if (oRdr.HasRows)
{
while (oRdr.Read())
{
// do stuff here with data
}
}
}
oRdr.Close();
}
catch (Exception ex)
{
// Add exception handling code here..
}
Full source is available in k2 developer ref...check it out
HTH