private static String GetNameToLookup(string entityName) { var application = MetadataProvider.Applications().FirstOrDefault(a => a.Entity == entityName); if (application == null) { return(MetadataProvider.Entity(entityName).Name); } return(application.ApplicationName); }
public static IEnumerable <CompleteApplicationMetadataDefinition> Applications([NotNull] this InMemoryUser user, ClientPlatform platform) { if (user == null) { throw new ArgumentNullException("user"); } return(from application in MetadataProvider.Applications(platform) where user.IsAllowedOnApplication(application) select application); }
public MobileMetadataDownloadResponseDefinition DownloadMetadatas() { var user = SecurityFacade.CurrentUser(); var metadatas = MetadataProvider.Applications(ClientPlatform.Mobile); var securedMetadatas = metadatas.Select(metadata => metadata.CloneSecuring(user)).ToList(); var securedMenu = user.Menu(ClientPlatform.Mobile); var response = new MobileMetadataDownloadResponseDefinition { MetadatasJSON = JsonConvert.SerializeObject(securedMetadatas, Newtonsoft.Json.Formatting.None, _jsonSerializerSettings), MenuJson = JsonConvert.SerializeObject(securedMenu, Newtonsoft.Json.Formatting.None, _jsonSerializerSettings) }; return(response); }
public void HandleEvent(ApplicationStartedEvent eventToDispatch) { var before = new Stopwatch(); var applications = MetadataProvider.Applications(); var completeApplicationMetadataDefinitions = applications as CompleteApplicationMetadataDefinition[] ?? applications.ToArray(); ISet <String> namesToRegister = new HashedSet <string>(); AddAllApplicationsAndUsedEntities(namesToRegister, completeApplicationMetadataDefinitions); foreach (var name in namesToRegister) { _facade.Register(name, "", null, false); } _log.Info(LoggingUtil.BaseDurationMessage("finished registering whereclauses in {0}", before)); }
public void JsonEntegra() { var user = SecurityFacade.CurrentUser(); var metadatas = MetadataProvider.Applications(ClientPlatform.Mobile); var securedMetadatas = metadatas.Select(metadata => MobileCompleteApplicationMetadata.CloneSecuring(metadata, user)).ToList(); var workorder = securedMetadatas.First(f => f.Name == "workorder"); Assert.AreEqual(2, workorder.Schemas.Count); var settings = new JsonSerializerSettings(); settings.TypeNameHandling = TypeNameHandling.Objects; var json = JsonConvert.SerializeObject(securedMetadatas, Formatting.Indented); Debug.Write(json); // json = json.Replace("softWrench.sW4.Metadata.Applications.Schema.ApplicationSchema, softWrench.sW4", "" + typeof(TestAppSchema).AssemblyQualifiedName); // Debug.Write(json); // var deserializedMetadatas = JsonConvert.DeserializeObject<IEnumerable<MobileCompleteApplicationMetadata>>(json); // Assert.IsTrue(deserializedMetadatas.First().Schemas.First().Value is TestAppSchema); }
private static void AddAllApplicationsAndUsedEntities(ISet <string> namesToRegister, CompleteApplicationMetadataDefinition[] completeApplicationMetadataDefinitions) { foreach (var application in MetadataProvider.Applications()) { namesToRegister.Add(application.ApplicationName); foreach (var schema in application.Schemas()) { foreach (var association in schema.Value.Associations) { var entityName = association.EntityAssociation.To; var associationApplication = completeApplicationMetadataDefinitions.FirstOrDefault(a => a.Entity == entityName); var toAdd = associationApplication == null ? association.EntityAssociation.To : associationApplication.ApplicationName; namesToRegister.Add(toAdd); } } } }
private static IEnumerable <IApplicationAttributeDisplayable> InverseFKsFields(ApplicationSchemaDefinition thisSchema) { var resultList = new List <IApplicationAttributeDisplayable>(); var applications = MetadataProvider.Applications(); if (MetadataProvider.InternalCache == null) { MetadataProvider.InternalCache = new MetadataProviderInternalCache(); } var cache = MetadataProvider.InternalCache; var relationshipName = EntityUtil.GetRelationshipName(thisSchema.ApplicationName); if (!cache.RelationshipsByNameCache.ContainsKey(relationshipName)) { return(resultList); } var relationships = MetadataProvider.InternalCache.RelationshipsByNameCache[relationshipName]; foreach (var association in relationships) { var entityAssociation = association.EntityAssociation; foreach (var attribute in entityAssociation.Attributes) { if (attribute.To != null) { resultList.Add(ApplicationFieldDefinition.HiddenInstance(thisSchema.ApplicationName, attribute.To)); } } } return(resultList); }