public override void WriteEntityConstantClassHeader(EntityMetadataManager entityConstants) { this.WriteLine(Environment.NewLine + "\t/// <summary>"); this.WriteLine("\t/// " + entityConstants.EntityDisplayName + " constants."); this.WriteLine("\t/// </summary>"); if (entityConstants.IsActivity) { this.WriteLine($"\tpublic sealed class {entityConstants.EntityLogicalName} : activitypointer{Environment.NewLine }\t{{"); } else if (entityConstants.EntityLogicalName == "EntityGenericConstants") { this.WriteLine("\tpublic class " + entityConstants.EntityLogicalName + Environment.NewLine + "\t{"); } else if (entityConstants.EntityLogicalName == "activitypointer") { this.WriteLine("\tpublic class " + entityConstants.EntityLogicalName + " : EntityGenericConstants" + Environment.NewLine + "\t{"); } else { this.WriteLine("\tpublic sealed class " + entityConstants.EntityLogicalName + " : EntityGenericConstants" + Environment.NewLine + "\t{"); } if (!(entityConstants.EntityLogicalName != "EntityGenericConstants")) { return; } this.WriteLine("\t\t/// <summary>"); this.WriteLine("\t\t/// " + entityConstants.EntityLogicalName); this.WriteLine("\t\t/// </summary>"); this.WriteLine("\t\tpublic static string logicalName => \"" + entityConstants.EntityLogicalName + "\";" + Environment.NewLine); this.WriteLine("\t\t/// <summary>"); this.WriteLine("\t\t/// " + entityConstants.EntityDisplayName); this.WriteLine("\t\t/// </summary>"); this.WriteLine("\t\tpublic static string displayName => \"" + entityConstants.EntityDisplayName + "\";" + Environment.NewLine); }
public override void WriteAttributes( EntityMetadataManager entityConstants, string lastAttribute) { foreach (var attribute in entityConstants.Attributes) { this.WriteAttribute(attribute, lastAttribute, (uint)entityConstants.OptionSetAttributes.Count > 0U, entityConstants.StatusReasonAttribute); } }
public override void WriteEntityConstantClassHeader(EntityMetadataManager entityConstants) { JsHeaderLines.ToList().ForEach(row => this.WriteLine(row)); this.WriteLine(Environment.NewLine + this.NameSpaceJsName + "." + entityConstants.EntityLogicalName + " = {"); this.WriteLine("\t///" + entityConstants.EntityDisplayName + " constants."); if (!(entityConstants.EntityLogicalName != "EntityGenericConstants")) { return; } this.WriteLine("\tlogicalName: \"" + entityConstants.EntityLogicalName + "\","); this.WriteLine("\tdisplayName: \"" + entityConstants.EntityDisplayName + "\","); }
public void FilterAttributes(EntityMetadataManager activityPointerMetadata) { this.EntitiesData.ForEach(entityData => { if (!entityData.IsActivity) { return; } List <string> activityPointerAttributesLogicalNames = new List <string>(); activityPointerMetadata.Attributes.ToList().ForEach(attr => activityPointerAttributesLogicalNames.Add(attr.LogicalNameConstant)); activityPointerAttributesLogicalNames.Sort(); entityData.Attributes = entityData.Attributes.Where(attr => !activityPointerAttributesLogicalNames.Contains(attr.LogicalNameConstant)).ToList(); }); }
private void ExtractEntityCommonFieldMetadata() { this.ActivityPointerMetadata = this.EntityData.Where(ent => ent.EntityLogicalName == "activitypointer").FirstOrDefault(); var list = this.AccountMetadata.Attributes.Where(attr => EntityCommonFields.Contains(attr.LogicalName)).ToList(); this.EntityCommonAttributes = new EntityMetadataManager("Entity Generic", "EntityGenericConstants", false, new List <string>()); void action(AttributeMetadata attr) { if (attr.DisplayName.LocalizedLabels.Count <= 0) { return; } this.EntityCommonAttributes.AddAttribute(GetAttributeElementFromMetadata(attr, null)); } list.ForEach(action); this.EntityData.Insert(0, this.EntityCommonAttributes); }
public override void WriteAttributes(EntityMetadataManager manager, string lastAttribute) { foreach (AttributeMetadataManager attribute in manager.Attributes) { this.WriteLine("\t\t/// <summary>"); this.WriteLine("\t\t/// Display Name: " + attribute.DisplayNameConstant + ","); if (this.ExtractTypes) { this.WriteLine("\t\t/// Type: " + attribute.Type + ","); foreach (var line in attribute.WriteFieldInfo()) { this.WriteLine(line); } } if (this.ExtractDescriptions) { this.WriteLine("\t\t/// Description: " + attribute.Description); } this.WriteLine("\t\t/// </summary>"); this.WriteLine("\t\tpublic static string " + attribute.LogicalNameConstantLabel + " => \"" + attribute.LogicalNameConstant + "\";" + Environment.NewLine); } }
private void ParallelExtractData() { using (Log.Track("Transforming metadata")) { var entitiesMetadata = this.EntitiesMetadata; var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = 1 }; var entityConcurrentData = new ConcurrentBag <EntityMetadataManager>(); void body(EntityMetadata entMetadata) { if (entMetadata.DisplayName.LocalizedLabels.Count <= 0) { return; } string label = entMetadata.DisplayName.LocalizedLabels.FirstOrDefault()?.Label; var entityMetadataManager = new EntityMetadataManager(label, entMetadata.LogicalName, entMetadata.IsActivity.Value, EntityCommonFields.ToList()); Console.WriteLine(label); foreach (AttributeMetadata attribute in entMetadata.Attributes) { if (attribute.DisplayName.LocalizedLabels.Count > 0) { AttributeMetadataManager elementFromMetadata = GetAttributeElementFromMetadata(attribute, entMetadata.LogicalName); entityMetadataManager.AddAttribute(elementFromMetadata); } } entityMetadataManager.OptionSetAttributes = entityMetadataManager.OptionSetAttributes.OrderBy(opt => opt.LogicalNameConstant).ToList(); entityConcurrentData.Add(entityMetadataManager); } Parallel.ForEach(entitiesMetadata, parallelOptions, body); this.EntityData = entityConcurrentData.OrderBy(data => data.EntityLogicalName).ToList(); } }
internal void WriteCurrentEntityConstants(EntityMetadataManager entityConstants, string lastAttribute, string tabulation) { if (entityConstants.Attributes.Count == 0) { return; } this.WriteAttributes(entityConstants, lastAttribute); if (entityConstants.StatusAttribute != null) { this.WriteStateValues(entityConstants.StatusAttribute, tabulation); var source = StatusReasonElementsWithStateValues(entityConstants.StatusReasonAttribute, entityConstants.StatusAttribute); this.WriteAttributeHeader(entityConstants.StatusReasonAttribute); this.WriteRows(source.ToList(), tabulation, new bool?(entityConstants.OptionSetAttributes.Count == 0)); } entityConstants.OptionSetAttributes.ForEach(opt => { if (opt.PicklistValues.Count <= 0) { return; } this.WriteAttributeHeader(opt); this.WriteRows(opt.PicklistValues.ToList(), tabulation, new bool?(opt == entityConstants.OptionSetAttributes.Last())); }); }
public virtual void WriteAttributes(EntityMetadataManager entityConstants, string lastAttribute) { }
public virtual void WriteEntityConstantClassHeader(EntityMetadataManager entityConstants) { }