コード例 #1
0
        internal void LoadMetadataJsonFile(string jsonFilePath)
        {
            string jsonFileName = Path.GetFileName(jsonFilePath);

            StatusText = $"Loading {jsonFileName}";

            ERInformation entityRelations = null;

            try
            {
                entityRelations = ERInformationUtil.LoadRelationsFromDataFile(jsonFilePath);
            }
            catch (Exception ex)
            {
                StatusText = $"Failed to load {jsonFileName} - " + ex.ToString();
                return;
            }
            this.entityRelations = entityRelations;

            if (File.Exists(jsonFilePath.Replace(".json", ".htm")))
            {
                triggerHtmlFilePath = jsonFilePath.Replace(".json", ".htm");
            }

            RefreshListView();
            StatusText = $"{Path.GetFileName(jsonFileName)} loaded.";
        }
コード例 #2
0
 private static void DumpERRelationsInSpecFile(StreamWriter specWriter, ERInformation entityRelations)
 {
     // Add all relationship information in the scheme (spec file) at the end
     foreach (ERRelation relation in entityRelations.ERRelations.Distinct().OrderBy(obj => obj.EntityOne))
     {
         specWriter.WriteLine("{0,50} 1-n {1}.{2}", relation.EntityOne, relation.EntityMany, relation.LookupField);
     }
 }
コード例 #3
0
 private void RefreshListView()
 {
     lvEntity.Items.Clear();
     lvEntity.Columns[0].Width = lvEntity.Width - SystemInformation.VerticalScrollBarWidth - 5;
     foreach (string entiyName in entityRelations.ListEntities())
     {
         ListViewItem item             = new ListViewItem(entiyName);
         bool         entityInSkipList = ERInformation.IsEntityInSkipList(entiyName);
         item.Checked = !entityInSkipList;
         lvEntity.Items.Add(item);
     }
 }
コード例 #4
0
        internal static ERInformation LoadRelationsFromDataFile(string fileNamePath)
        {
            string relationJsonText;

            using (StreamReader jsonTextReader = new StreamReader(fileNamePath))
            {
                relationJsonText = jsonTextReader.ReadToEnd();
            }
            ERInformation entityRelations = JsonConvert.DeserializeObject <ERInformation>(relationJsonText);

            return(entityRelations);
        }
コード例 #5
0
        internal static void AggregateERInformationForAllEntities(string organizationUrl, List <EntityMetadata> allEntitiesMetadata, StreamWriter jsonWriter, StreamWriter specWriter)
        {
            // allEntitiesMetadata has all metadata now.
            // Aggregate all entities' ERInformation and create a final ERInformation object, then persist the data in json.
            ERInformation erInformationForAllEntities = new ERInformation();

            erInformationForAllEntities.OrganizationUrl = organizationUrl;
            erInformationForAllEntities.CreatedOn       = DateTime.UtcNow;
            foreach (EntityMetadata entityMetadata in allEntitiesMetadata)
            {
                erInformationForAllEntities.AddMetadata(entityMetadata.ERInformationForThisEntity);
            }
            string relationsJson = JsonConvert.SerializeObject(erInformationForAllEntities, Formatting.Indented);

            jsonWriter.WriteLine(relationsJson);
            DumpERRelationsInSpecFile(specWriter, erInformationForAllEntities);
        }
コード例 #6
0
 internal void AddMetadata(ERInformation erInformationToBeAdded)
 {
     EREntitieAttributes.AddRange(erInformationToBeAdded.EREntitieAttributes);
     ERRelations.AddRange(erInformationToBeAdded.ERRelations);
 }