public frmCreateManyToManyRelationship(int tableID)
        {
            InitializeComponent();
            TableID = tableID;


            dtgList.EnableFiltering = true;
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("ID", "ID", true, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("Name", "Name", false, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("PairRelationshipID", "Pair Relationship ID", true, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("PairRelationship", "Pair Relationship", true, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("Alias", "Alias", false, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("Entity1", "Entity1", true, 100, GridViewColumnType.Text));
            dtgList.Columns.Add(ControlHelper.GenerateGridviewColumn("Entity2", "Entity2", true, 100, GridViewColumnType.Text));

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                txtName.Text = projectContext.Table.First(x => x.ID == tableID).Name;

                var manyToOneList = projectContext.ManyToOneRelationshipType.Where(x => x.RelationshipType.Relationship.TableDrivedEntity.TableID == tableID);

                List <ManyToOne> ManyToOneList = new List <ManyToOne>();
                foreach (var item in manyToOneList)
                {
                    RelationshipDTO rItem = GeneralHelper.ToRelationshipDTO(item.RelationshipType.Relationship);
                    ManyToOneList.Add(GeneralHelper.ToManyToOne(rItem, item.RelationshipType.ManyToOneRelationshipType));
                }

                dtgList.DataSource = ManyToOneList;
            }
        }
        private void btnSave_Click_1(object sender, EventArgs e)
        {
            if (txtName.Text == "")
            {
                MessageBox.Show("نام رابطه مشخص نشده است");
                return;
            }
            if (optIsDisjoint.Checked == false && optIsOverlap.Checked == false)
            {
                MessageBox.Show("نوع " + "Disjoint/IsOverlap" + "مشخص نشده است");
                return;
            }
            if (optIsTolatParticipation.Checked == false && optIsPartialParticipation.Checked == false)
            {
                MessageBox.Show("نوع " + "TolatParticipation/PartialParticipation" + "مشخص نشده است");
                return;
            }
            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                if (isaRelationship == null)
                {
                    isaRelationship = new DataAccess.ISARelationship();
                }
                isaRelationship.Name = txtName.Text;

                if (optIsGeneralization.Checked == true)
                {
                    isaRelationship.IsGeneralization = true;
                }
                else if (optIsSpecialization.Checked == true)
                {
                    isaRelationship.IsSpecialization = true;
                }

                isaRelationship.IsTolatParticipation = optIsTolatParticipation.Checked == true;

                isaRelationship.IsDisjoint = optIsDisjoint.Checked == true;


                if (isaRelationship.ID == 0)
                {
                    projectContext.ISARelationship.Add(isaRelationship);
                }

                projectContext.SaveChanges();

                if (ISARelationshipSelected != null)
                {
                    ISARelationshipSelected(this, new ISARelationshipSelectedArg()
                    {
                        ISARelationship = isaRelationship
                    });
                }
                this.Close();
            }
        }
コード例 #3
0
        public TableDTO GetTable(int tableID)
        {
            List <TableDTO> result = new List <TableDTO>();

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                var table = projectContext.Table.First(x => x.ID == tableID);
                return(ToTableDTO(table));
            }
        }
コード例 #4
0
        public List <TableDTO> GetTables(int databaseID)
        {
            List <TableDTO> result = new List <TableDTO>();

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                // string catalogName = GeneralHelper.GetCatalogName(serverName, dbName);
                var list = projectContext.Table.Where(x => x.DBSchema.DatabaseInformationID == databaseID).ToList();
                foreach (var item in list)
                {
                    result.Add(ToTableDTO(item));
                }
            }
            return(result);
        }
コード例 #5
0
        public List <TableDTO> GetTablesWithManyToOneRelationships(int databaseID)
        {
            List <TableDTO> result = new List <TableDTO>();

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                //string catalogName = GeneralHelper.GetCatalogName(serverName, dbName);
                var list = projectContext.Table.Where(x => x.DBSchema.DatabaseInformationID == databaseID);
                list = list.Where(x => x.TableDrivedEntity.Any(y => y.Relationship.Count(z => z.RelationshipType.ManyToOneRelationshipType != null) > 0));
                foreach (var item in list)
                {
                    result.Add(ToTableDTO(item));
                }
            }
            return(result);
        }
コード例 #6
0
        private void btnSave_Click_1(object sender, EventArgs e)
        {
            if (txtName.Text == "")
            {
                MessageBox.Show("نام رابطه مشخص نشده است");
                return;
            }
            if (optIsTolatParticipation.Checked == false && optIsPartialParticipation.Checked == false)
            {
                MessageBox.Show("نوع " + "TolatParticipation/PartialParticipation" + "مشخص نشده است");
                return;
            }

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                if (unionRelationship == null)
                {
                    unionRelationship = new DataAccess.UnionRelationshipType();
                }
                unionRelationship.Name = txtName.Text;



                unionRelationship.IsTolatParticipation = optIsTolatParticipation.Checked == true;


                unionRelationship.UnionHoldsKeys = chkUnionHoldsKeys.Checked;

                if (unionRelationship.ID == 0)
                {
                    projectContext.UnionRelationshipType.Add(unionRelationship);
                }

                projectContext.SaveChanges();

                if (UnionRelationshipSelected != null)
                {
                    UnionRelationshipSelected(this, new UnionRelationshipSelectedArg()
                    {
                        UnionRelationship = unionRelationship
                    });
                }
                this.Close();
            }
        }