using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.DI;
using Tango.MachineStudio.Common;
public static class TangoIOCExtensions
{
/// <summary>
/// Gets the specified module <see cref="IStudioViewModel"/> view models.
/// </summary>
/// <param name="tangoIOC">The Tango IOC.</param>
/// <param name="module">The module.</param>
/// <returns></returns>
public static IEnumerable<IStudioViewModel> GetModuleViewModels(this TangoIOC tangoIOC, IStudioModule module)
{
var viewModels = tangoIOC.GetAllInstancesByBase<IStudioViewModel>().Where(x => x != null && x.GetType().BaseType.GetGenericArguments().Length > 0 && x.GetType().BaseType.GetGenericArguments()[0] == module.GetType());
return viewModels;
}
}