예제 #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            IDomainMap domainMap = new DomainMap();

            domainMap.Name          = "Test";
            domainMap.RootNamespace = "Puzzle.Testing";

            IClassMap employee = new ClassMap();

            employee.Name      = "Employee";
            employee.DomainMap = domainMap;

            IPropertyMap firstName = new PropertyMap();

            firstName.Name     = "FirstName";
            firstName.DataType = "System.String";
            firstName.ClassMap = employee;

            IPropertyMap lastName = new PropertyMap();

            lastName.Name     = "LastName";
            lastName.DataType = "System.String";
            lastName.ClassMap = employee;

            IPropertyMap reportsTo = new PropertyMap();

            reportsTo.Name     = "ReportsTo";
            reportsTo.DataType = "Employee";
            reportsTo.ClassMap = employee;

            IPropertyMap employees = new PropertyMap();

            employees.Name         = "Employees";
            employees.IsCollection = true;
            employees.ItemType     = "Employee";
            employees.ClassMap     = employee;

            ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer();
            string code = modelToCodeTransformer.ToCSharpCode(domainMap);
            //string code = modelToCodeTransformer.ToCSharpCodeFile(domainMap, "Test");

            //modelToCodeTransformer.ToAssemblyFile(domainMap, domainMap.Name + ".dll");
            Assembly asm = modelToCodeTransformer.ToAssembly(domainMap);

            textBox1.Text = code;
        }