public override DialogResult Run(IModel model) { IntermediateClassWizardModel intCWizModel = (IntermediateClassWizardModel)model; // intCWizModel.TableNode is set by the ApplicationController // 0 is the relation to Orders // 1 is the relation to Product intCWizModel[0].CodingStyle = CodingStyle.IList; intCWizModel[0].OwnFieldName = "order"; intCWizModel[0].ForeignFieldName = "orderDetail"; intCWizModel[0].ForeignKeyColumnName = "OrderID"; intCWizModel[0].RelationDirection = RelationDirection.Bidirectional; intCWizModel[0].Table = "Orders"; intCWizModel[0].Type = "Order"; intCWizModel[1].CodingStyle = CodingStyle.IList; intCWizModel[1].OwnFieldName = "product"; intCWizModel[1].ForeignFieldName = "orderDetail"; intCWizModel[1].ForeignKeyColumnName = "ProductID"; intCWizModel[1].RelationDirection = RelationDirection.DirectedFromMe; intCWizModel[1].Table = "Products"; intCWizModel[1].Type = "Product"; return(DialogResult.OK); }
protected override void SwitchToState(int newState, out ViewBase newView, out WizardState wizardState) { int oldState = this.State; IntermediateClassWizardModel model = (IntermediateClassWizardModel)this.Model; if (newState == 1) { model.Index = 0; base.LastState = 2; } if (newState == 0) { base.LastState = 2; if (model.Index == 1) { model.Index = 0; newState = 1; } } if (newState == 2) { model.Index = 1; newState = 1; base.LastState = 1; } base.SwitchToState(newState, out newView, out wizardState); }
public IntClassWiz2(IModel model) { this.model = (IntermediateClassWizardModel)model; InitializeComponent(); #if !NDO11 this.radioArrayList.Text = "List<T>"; this.radioIList.Text = "IList<T>"; this.radioNDOArrayList.Visible = false; #endif }
public bool MapIntermediateClass(TableNode tn) { // IntermediateClass ic = new IntermediateClass(); // IntermediateClassNode icn = new IntermediateClassNode(ic, tn); IList tableNodes = new ArrayList(); foreach (TableNode tnode in databaseNode.TableNodes) { if (tn.Text == tnode.Text) { continue; } if (tnode.Table.MappingType == TableMappingType.MappedAsClass) { tableNodes.Add(tnode); } } IntermediateClassWizardModel model = new IntermediateClassWizardModel(tn, tableNodes); IWizardController controller = ApplicationController.wizardControllerFactory.Create ("IntermediateClassWizController", "IntClassWiz", "Intermediate Class Wizard"); //controller.FrameSize = new Size(544, 500); model[0].RelationDirection = RelationDirection.Bidirectional; model[1].RelationDirection = RelationDirection.Bidirectional; DialogResult r = controller.Run(model); if (r == DialogResult.OK) { DatabaseNode parent = (DatabaseNode)tn.Parent; // Nothing to remove, because we use the original table node // tn.Remove(); // tn.Parent.Nodes.Add(icn); for (int i = 0; i < 2; i++) { ColumnNode columnNode = (ColumnNode)tn.FindNode(model[i].ForeignKeyColumnName, typeof(ColumnNode)); FkRelation fkr = new FkRelation(columnNode.Text); IntermediateClassInfo intermClInfo = model[i]; fkr.FieldName = intermClInfo.OwnFieldName; fkr.ForeignCodingStyle = intermClInfo.CodingStyle; fkr.ForeignFieldName = intermClInfo.ForeignFieldName; fkr.ForeignIsComposite = false; fkr.IsComposite = false; fkr.OwningTable = tn.Text; fkr.OwningType = tn.Table.ClassName; fkr.RelatedTable = intermClInfo.Table; fkr.RelatedType = intermClInfo.Type; fkr.RelationDirection = intermClInfo.RelationDirection; fkr.RelationName = string.Empty; //ForeignFkRelation ffkr = fkr.ForeignRelation; RelationNode relationNode = new RelationNode(fkr, tn); relationNode.RelatedTableNode = (TableNode)databaseNode.FindNode(intermClInfo.Table); ForeignKeyWizModel fkwizModel = new ForeignKeyWizModel(relationNode, new ArrayList()); tn.DualKeyRelations[i] = intermClInfo.OwnFieldName; MakeForeignKeyRelation(relationNode, columnNode, fkwizModel); } return(true); } return(false); }
public IntClassWiz1(IModel model) { this.model = (IntermediateClassWizardModel)model; InitializeComponent(); }