Hi,
I have a code something like
DmsAgent agent = new DmsAgent();
GetActiveAlarmsMessage getActiveAlarmsRequest = new GetActiveAlarmsMessage(agent.ID);
var res = _dms.SendMessage(getActiveAlarmsRequest) as ActiveAlarmsResponseMessage;
var activeAlarms = res.ActiveAlarms.WhereNotNull().ToList();
var filteredAlarms = activeAlarms
.Where(alarm => alarm.ViewImpactInfo.Any(x => x.Name == "Event Monitoring"))
.ToList();
foreach (var alarm in filteredAlarms.OrderBy(x => x.Severity))
{
if (alarm.Services != null && alarm.Services.Length > 0)
{
servicesName.Clear();
foreach (var service in alarm.Services)
{
var serviceObject = engine.FindServiceByKey(service);
if (serviceObject != null)
{
string serviceName = serviceObject.Name;
servicesName.Add(serviceName);
}
}
}
So, herein, like engine I want to get detail of service (here specifically name of service) at line
"var serviceObject = engine.FindServiceByKey(service);" but in GQI, how can I achieve that
Hi Apurva,
In an GQI Ad-hoc data source you could use the GetServiceByIDMessage or GetServiceByNameMessage as follows:
var request = new GetServiceByIDMessage(dmaID, serviceID);
var serviceInfo = _dms.SendMessage(request) as ServiceInfoEventMessage;
var serviceName = serviceInfo.Name;


Hi Apurva, to retrieve the views a service is part of you can use GetViewsForElementMessage. A service/element can belong to multiple views.
var request = GetViewsForElementMessage(dmaId, serviceId);
var viewInfo = _dms.SendMessage(request) as GetViewsForElementResponse;
var views = viewInfo.Views;

With this I get the main view only, not just the current view inside which it is
View A-> View B-> View C-> Service,
What will be needed to return View C
as I always get super parent one that is VIEW A, and that to when I iterate on viewInfo?.Views.
Or is there a way to get all the alarms with respect to view, I have asked another Dojo question on this today which might do all, but no reply yet

Are the returned views not a collection with multiple views?
Hi,
Thanks it worked, just one thing more can I get the view name under which the service is there from the info?