// Returns non-null List of ServiceInstanceInfo objects.. empty list if null input. // No throw public static ReadOnlyCollection <ServiceEntity> GetAllServiceInstances(this ApplicationEntityList applications) { var services = new List <ServiceEntity>(); if (applications != null) { foreach (var app in applications) { services.AddRange(app.ServiceList); } } return(services.AsReadOnly()); }
// ActiveApplicationsInfo public static int GetPartitionCount(this ApplicationEntityList applications, Uri serviceName) { IEnumerable <ServiceEntity> services = applications.GetAllServiceInstances(); foreach (var svc in services) { if (svc.ServiceName() == serviceName) { return(svc.PartitionList.Count()); } } return(0); }
// No throw // Returns non-null. public static ReadOnlyCollection <Uri> GetAllServiceNames(this ApplicationEntityList applications) { // As applications.GetAllServiceInstances() returns non-null results, it should always return non-null. return(applications.GetAllServiceInstances().Select(svc => svc.Service.ServiceName).ToList().AsReadOnly()); }