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();
            }
        }
Esempio n. 8
0
 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()));
     });
 }
Esempio n. 9
0
 public virtual void WriteAttributes(EntityMetadataManager entityConstants, string lastAttribute)
 {
 }
Esempio n. 10
0
 public virtual void WriteEntityConstantClassHeader(EntityMetadataManager entityConstants)
 {
 }