Beispiel #1
0
        void emptyEntity_MouseClick(object sender, MouseEventArgs e)
        {
            List <Entity> unavailableEntities = new List <Entity>();

            unavailableEntities.AddRange(Table.MappedEntities());

            try
            {
                EntityForm2.BusyPopulating = true;
                UserControls.FormSelectExistingEntity form = new UserControls.FormSelectExistingEntity(Table, unavailableEntities, null, "Select entity to map", false);
                form.ShowDialog(this);

                if (form.SelectedEntity != null && EntityAdded != null)
                {
                    EntityForm2.BusyPopulating = false;
                    EntityAdded(form.SelectedEntity, Table);
                }
            }
            finally
            {
                EntityForm2.BusyPopulating = false;
            }
        }
        void emptyEntity_MouseClick(object sender, MouseEventArgs e)
        {
            List<Entity> unavailableEntities = new List<Entity>();
            unavailableEntities.AddRange(Table.MappedEntities());

            try
            {
                EntityForm2.BusyPopulating = true;
                UserControls.FormSelectExistingEntity form = new UserControls.FormSelectExistingEntity(Table, unavailableEntities, null, "Select entity to map", false);
                form.ShowDialog(this);

                if (form.SelectedEntity != null && EntityAdded != null)
                {
                    EntityForm2.BusyPopulating = false;
                    EntityAdded(form.SelectedEntity, Table);
                }
            }
            finally
            {
                EntityForm2.BusyPopulating = false;
            }
        }
        public static void CreateNewReference(Entity theEntity)
        {
            List<Entity> unavailableEntities = new List<Entity>();

            foreach (ReferenceImpl reference in theEntity.References)
            {
                if (reference.Entity1 == theEntity)
                    unavailableEntities.Add(reference.Entity2);
                else if (reference.Entity2 == theEntity)
                    unavailableEntities.Add(reference.Entity1);
            }
            UserControls.FormSelectExistingEntity form = new UserControls.FormSelectExistingEntity(theEntity, unavailableEntities, null, "Select entity to reference", false, UserControls.FormSelectExistingEntity.RequestorTypes.Entity_Select_Existing);
            form.ShowDialog();

            if (form.SelectedEntity != null)
            {
                Entity selectedEntity = form.SelectedEntity;
                ReferenceImpl newReference = new ReferenceImpl(theEntity, selectedEntity);
                newReference.Name = "New Reference";
                newReference.EntitySet = selectedEntity.EntitySet;
                newReference.Cardinality1 = form.CardinalityPrimary;
                newReference.Cardinality2 = form.CardinalityForeign;
                newReference.End1Name = newReference.Cardinality1 == ArchAngel.Interfaces.Cardinality.Many ? newReference.Entity2.Name.Pluralize() : newReference.Entity2.Name;
                newReference.End2Name = newReference.Cardinality2 == ArchAngel.Interfaces.Cardinality.Many ? newReference.Entity1.Name.Pluralize() : newReference.Entity1.Name;
                newReference.End1Enabled = true;
                newReference.End2Enabled = true;
                theEntity.AddReference(newReference);
                selectedEntity.AddReference(newReference);

                if (form.SelectedRelationship != null)
                    newReference.SetMappedRelationship(form.SelectedRelationship);
                else if (form.AssociationTable != null)
                    newReference.SetMappedTable(form.AssociationTable);
                else if (selectedEntity.MappedTables().Count() == 1)
                    newReference.SetMappedTable(selectedEntity.MappedTables().ElementAt(0));

                theEntity.EntitySet.AddReference(newReference);
            }
        }