public SerializableResource SerializeResourceForStudio(IResource resource)
{
// convert the fliping errors due to json issues in c# ;(
var errors = new List<ErrorInfo>();
var parseErrors = resource.Errors;
if(parseErrors != null)
{
errors.AddRange(parseErrors.Select(error => error as ErrorInfo));
}
var datalist = "<DataList></DataList>";
if(resource.DataList != null)
{
var replace = resource.DataList.Replace("\"", GlobalConstants.SerializableResourceQuote);
datalist = replace.Replace("'", GlobalConstants.SerializableResourceSingleQuote).ToString();
}
return new SerializableResource
{
Inputs = resource.Inputs,
Outputs = resource.Outputs,
ResourceCategory = resource.ResourcePath,
ResourceID = resource.ResourceID,
VersionInfo = resource.VersionInfo,
ResourceName = resource.ResourceName,
Permissions = AuthorizationService.GetResourcePermissions(resource.ResourceID),
ResourceType = resource.ResourceType,
IsValid = resource.IsValid,
DataList = datalist,
Errors = errors,
IsNewResource = resource.IsNewResource
};
}