/// <summary> /// Tenta recupera os dados da versão do tipo da entidade com base /// no tipo informado. /// </summary> /// <param name="typeName">Tipo que será pesquisado.</param> /// <returns>Versão do tipo da entidade correspondente ou null.</returns> public BusinessEntityTypeVersion GetTypeVersion(Colosoft.Reflection.TypeName typeName) { var key = CreateTypeVersionKey(typeName); BusinessEntityTypeVersion entityTypeVersion = null; if (_typeVersions.TryGetValue(key, out entityTypeVersion)) { return(entityTypeVersion); } return(null); }
/// <summary> /// Tenta recupera as propriedade da versão do tipo da entidade com base no tipo informado. /// </summary> /// <param name="typeName">Tipo da versão da entidade.</param> /// <param name="uiContext">Nome do contexto visual usado para filtrar os dados.</param> /// <returns></returns> public IEnumerable <BusinessEntityTypeVersionProperty> GetTypeProperties(Colosoft.Reflection.TypeName typeName, string uiContext = null) { var key = CreateTypeVersionKey(typeName); BusinessEntityTypeVersion entityTypeVersion = null; if (_typeVersions.TryGetValue(key, out entityTypeVersion)) { return(entityTypeVersion.Properties.Where(f => uiContext == null || f.UIConfigurations.Where(x => x.UIContext == uiContext).Any())); } return(new BusinessEntityTypeVersionProperty[0]); }
/// <summary> /// Cria uma chave para identificar a versão do tipo. /// </summary> /// <param name="version"></param> /// <returns></returns> private static string CreateTypeVersionKey(BusinessEntityTypeVersion version) { return(string.Format("{0}.{1}, {2}", version.TypeNamespace, version.TypeName, version.TypeAssembly)); }