Ejemplo n.º 1
0
        public void Run(ActiveRecordDescriptor descriptor)
        {
            using (NewSubClassDialog dialog = new NewSubClassDialog())
            {
                if (dialog.ShowDialog(Workspace.ActiveWindow) == DialogResult.OK)
                {
                    ActiveRecordDescriptorSubClass subclass = new ActiveRecordDescriptorSubClass(descriptor);
                    subclass.Table = descriptor.Table;
                    subclass.DiscriminatorValue = dialog.DiscriminatorValue;
                    subclass.ClassName          = dialog.ClassName;

                    Model.CurrentProject.AddActiveRecordDescriptor(subclass);
                    Model.Update();
                }
            }
        }
Ejemplo n.º 2
0
        private void CreateConnectionsIfNecessary(Shape shape)
        {
            ActiveRecordShape arshape = shape as ActiveRecordShape;

            if (arshape != null)
            {
                if (arshape.ActiveRecordDescriptor is ActiveRecordDescriptorSubClass)
                {
                    ActiveRecordDescriptorSubClass subclass = arshape.ActiveRecordDescriptor as ActiveRecordDescriptorSubClass;
                    ConnectSubToSuperClass(ObtainShape(subclass.BaseClass), shape);
                }
                else
                {
                    ConnectSubToSuperClass(ObtainBaseShape(arshape), shape);
                }
            }
        }