Exemplo n.º 1
0
        public void GetResultTest()
        {
            // arrange
            var model = new EfDaigramModel {
                Entities = new List <Entity> {
                    new Entity {
                        Name    = "e01",
                        Columns = new List <Column> {
                            new Column {
                                Name = "id", Type = "int"
                            },
                            new Column {
                                Name = "name", Type = "int"
                            }
                        },
                    },
                    new Entity {
                        Name    = "e02",
                        Columns = new List <Column> {
                            new Column {
                                Name = "id", Type = "int"
                            }
                        }
                    }
                },
            };

            // act
            var result = this._target.GetResult(model);

            Assert.Contains("@startum", result.Content);
            Assert.Contains("@enduml", result.Content);
        }
Exemplo n.º 2
0
        DiagramResult IDiagramGenerator.GetResult(EfDaigramModel model)
        {
            if (model.Entities?.Any() is not true)
            {
                return(default(DiagramResult));
            }
            var result = new PumlSyntaxModel {
                Entities = new  List <string>()
            };

            foreach (var e in model.Entities)
            {
                var columns = this.GetColumns(e.Columns);
                var entity  = this.GetEntity(e.Name, columns);
                result.Entities.Add(entity);
            }
            if (model.RelationShips?.Any() is true)
            {
                result.RelationShips = this.GetRelationShips(model.RelationShips);
            }
            return(new DiagramResult {
                DatabaseName = model.DatabaseName, Content = result.ToString(), FileType = FileType.puml
            });
        }