Example #1
0
        public void SetDatas(DBRegistrationClass dbReg, Dictionary <string, TableClass> Tables, Dictionary <string, ViewClass> Views)
        {
            ddc = new DesDatabaseDesignClass
            {
                Views  = new Dictionary <string, DesViewClass>(),
                Tables = new Dictionary <string, DesTableClass>()
            };

            int posx = 10;
            int posy = 10;


            foreach (ViewClass view in Views.Values)
            {
                DesViewClass dvc = new DesViewClass
                {
                    View   = view,
                    Design = new ObjectDesignClass(posx, posy)
                };

                posx += 100;
                posy += 20;
                ddc.Views.Add(view.Name, dvc);
            }

            posx = 10;
            posy = 100;
            foreach (TableClass table in Tables.Values)
            {
                DesTableClass dvc = new DesTableClass
                {
                    Table  = table,
                    Design = new ObjectDesignClass(posx, posy)
                };

                posx += 100;
                posy += 20;
                ddc.Tables.Add(table.Name, dvc);
            }

            CreateDBDesign(0);
            CreateDBObjects(0);
        }
Example #2
0
        private void CreateDesignObjects()
        {
            ObjectList.Clear();

            // string[] ln = File.ReadAllLines(fn);

            UIDesignTableClass tc;
            int x = 20;
            int y = 20;

            //foreach (string s in ln)
            int n = 0;

            //object ob1=null;
            //object ob2=null;
            foreach (ItemDataClass s in selDBObjects.CheckedItemDatas)
            {
                if (s.Object.GetType() == typeof(DesTableClass))
                {
                    //  string n = s.Substring(s.IndexOf("'")+1, s.LastIndexOf("'") - s.IndexOf("'") -1);
                    DesTableClass TableObject = (DesTableClass)s.Object;
                    n++;


                    tc = new UIDesignTableClass(pbDesign, s.Object.ToString(), true, TableObject.Design.posx, TableObject.Design.posy);

                    tc.TableNotify.Register4Info(Notify_OnRaiseInfoHandler1);
                    x += 160;
                    //y += 0;
                    if (x > 1000)
                    {
                        x  = 20;
                        y += 180;
                    }
                    var tob = (DesTableClass)s.Object;
                    foreach (var att in tob.Table.Fields.Values)
                    {
                        tc.AddAttribute(att.Name);
                    }
                    //if(n == 1) ob1 = tc;
                    //if(n == 2) ob2 = tc;

                    ObjectList.Add(tc);
                }

                /*
                 * else if (s.ToUpper().StartsWith("VIEW"))
                 * {
                 *
                 * }
                 * else if (s.ToUpper().StartsWith("FIELD"))
                 * {
                 *
                 * }
                 */
            }

            foreach (ItemDataClass s in selDBObjects.CheckedItemDatas)
            {
                if (s.Object.GetType() == typeof(DesTableClass))
                {
                    DesTableClass tb1 = (DesTableClass)s.Object;
                    foreach (var fld in tb1.Table.Fields)
                    {
                        if (fld.Key.EndsWith("_ID"))
                        {
                            UIDesignTableClass ob1 = (UIDesignTableClass)FindObject(tb1.Table.Name);
                            UIDesignTableClass ob2 = (UIDesignTableClass)FindObject(fld.Key.Remove(fld.Key.Length - 3));
                            if ((ob1 != null) && (ob2 != null))
                            {
                                ReferenzClass rc = new ReferenzClass
                                {
                                    Name        = fld.Key,
                                    StartObject = ob1,
                                    EndObject   = ob2
                                };
                                ob1.LineList.Add(rc);
                            }
                        }
                    }
                }
            }
        }