/// <summary> /// The target interfaces to use for registration by default in a PAC.WPF project. /// </summary> /// <returns>List of inherited interfaces to search for.</returns> public static List <ModelLookupData> DependencyInjectionWPFDefaultInterfaceList() { var interfaceList = DependencyInjectionPACDefaultInterfaceList(); interfaceList.Add(ModelLookupData.Init(WPFConstants.WPFNamespace, WPFConstants.ContractNamePresentation)); return(interfaceList); }
/// <summary> /// Determines the type of PAC contract the interface inherits. /// </summary> /// <param name="source">The source interface.</param> /// <returns>The target type of contract implemented.</returns> public static (bool presenter, bool controller, bool abstraction) ContractType(CsInterface source) { if (source == null) { return(false, false, false); } if (!source.IsLoaded) { return(false, false, false); } var presenter = ModelLookupData.Init(WPFConstants.WPFAssemblyName, WPFConstants.ContractNamePresentation); var contract = source.HasInterface(presenter); if (contract != null) { return(true, false, false); } var controller = ModelLookupData.Init(WPFConstants.PACNamespace, WPFConstants.ContractNameController); contract = source.HasInterface(controller); if (contract != null) { return(false, true, false); } var abstraction = ModelLookupData.Init(WPFConstants.PACNamespace, WPFConstants.ContractNameAbstraction); contract = source.HasInterface(abstraction); return(contract != null ? (false, false, true) : (false, false, false)); }
/// <summary> /// The base classes that should be ignored in a PAC.WPF based project for registration. /// </summary> /// <returns>List of base classes to ignore</returns> public static List <ModelLookupData> DependencyInjectionWPFBaseClassIgnoreList() { return(new List <ModelLookupData> { ModelLookupData.Init(WPFConstants.WPFNamespace, WPFConstants.ApplicationBaseClassName) }); }
/// <summary> /// The target interfaces to use for registration by default in a PAC project. /// </summary> /// <returns>List of inherited interfaces to search for.</returns> public static List <ModelLookupData> DependencyInjectionPACDefaultInterfaceList() { return(new List <ModelLookupData> { ModelLookupData.Init(WPFConstants.PACNamespace, WPFConstants.ContractNameAbstraction), ModelLookupData.Init(WPFConstants.PACNamespace, WPFConstants.ContractNameController) }); }
/// <summary> /// Gets a list of standard base classes that should not be registered for dependency injection in a AspNet based project. /// </summary> /// <returns></returns> public static List <ModelLookupData> DependencyInjectionIgnoreBaseClasses() { return(new List <ModelLookupData> { ModelLookupData.Init(AspNetConstants.MvcNamespace, AspNetConstants.ControllerBaseClassName) }); }