I already got solution like getting all the Target Types for all Publications and then filtering the Target Types based on particular Publication (like checking all Target Type is being used in which Publications). So i am getting the correct result like all available of Target Types for particular Publication.
I am using the following code:
List<TridionItem> pubTargetList = new List<TridionItem>();
var pubTargets = client.GetClient.GetSystemWideList(new PublicationTargetsFilterData());
foreach (PublicationTargetData pubTargetdata in pubTargets)
{
PublicationTargetData target = (PublicationTargetData)client.GetClient.Read(pubTargetdata.Id, new ReadOptions());
LinkToPublicationData[] pubDataItems = target.Publications;
foreach (LinkToPublicationData publicationData in pubDataItems)
{
if (publicationData.IdRef == publicationId)
{
pubTargetList.Add(new TridionItem()
{
Id = pubTargetdata.Id,
Name = pubTargetdata.Title
});
}
}
}
But I think there might be better way to retrieve the Target Types based on Publication directly. Any further information will be very helpful.
Thanks, Debabrata