public RecordsetList Test(string args, Guid workspaceId, Guid dataListId)
{
try
{
var service = JsonConvert.DeserializeObject<PluginService>(args,new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Objects
});
var pluginSourceFromCatalog = _resourceCatalog.GetResource<PluginSource>(workspaceId, service.Source.ResourceID);
if (pluginSourceFromCatalog == null)
{
try
{
var xmlStr = Resources.ReadXml(workspaceId, ResourceType.PluginSource, service.Source.ResourceID.ToString());
if (!string.IsNullOrEmpty(xmlStr))
{
var xml = XElement.Parse(xmlStr);
pluginSourceFromCatalog = new PluginSource(xml);
}
}
catch(Exception)
{
//ignore the exception
}
}
if (pluginSourceFromCatalog != null)
{
service.Source = pluginSourceFromCatalog;
}
return FetchRecordset(service, true);
}
catch(Exception ex)
{
RaiseError(ex);
return new RecordsetList { new Recordset { HasErrors = true, ErrorMessage = ex.Message } };
}
}