private void TablainfoTagIni(AdatTabla dt, int sorindex, Tablainfo tabinfo, TablainfoTag eredetitag, TablainfoTag parenttag, FakUserInterface fak, bool forditott) { termtablae = false; _fak = fak; _fak.ProgressRefresh(); _adattabla = dt; _sorindex = sorindex; _tabinfo = tabinfo; _parenttag = parenttag; _forditott = forditott; if (_node == null) _node = new TreeNode(); DataRow dr = null; if (sorindex != -1) { dr = dt.Rows[sorindex]; if (dt.Columns.IndexOf("SORREND") != -1) _sorrend = Convert.ToInt32(dr["SORREND"].ToString()); } if (tabinfo == null || forditott && eredetitag._fordtag == null) { _azonositok = new Azonositok(this, dr, _sorindex, dt.TableName, fak); string szint = _azonositok.Szint; if (!"RUC".Contains(szint)) fak.Szintstring = szint; _leiroazonositok = new Azonositok(this, dr, _sorindex, dt.TableName, fak, true); fak.ProgressRefresh(); switch (dt.TableName) { case "LEIRO": _azonositok.Szoveg = "Leiró tábla"; _leirotabinfo = new Tablainfo(dt, sorindex, this, _leiroazonositok, fak, true); _leirotabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _leirotabinfo.NaploTabla = _fak.NaploTablak[0]; _leirotabinfo.Init(true); _tabinfo = new Tablainfo(this, _azonositok, _fak); _tabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _tabinfo.LeiroTablainfo = _leirotabinfo; _tabinfo.Adattabla = _leirotabinfo.Adattabla; _tabinfo.Adattabla.Tablainfo = _tabinfo; _tabinfo.Beallit(); _tabinfo.LeiroVizsg(); if (_azonositok.Azon == "LEIR") _tabinfo.Adattabla.LastSel = _azonositok.Selectstring; break; case "BASE": if (sorindex == -1) // BASE sajatmaga { _azonositok.Szoveg = "BASE tábla"; AdatTabla leirotabla = new AdatTabla("LEIRO"); _leirotabinfo = new Tablainfo(leirotabla, -1, this, _leiroazonositok, fak, true); _leirotabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _leirotabinfo.NaploTabla = _fak.NaploTablak[0]; _leirotabinfo.Init(false); _tabinfo = new Tablainfo(dt, sorindex, this, _azonositok, _fak, false); _tabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _tabinfo.LeiroTablainfo = _leirotabinfo; _tabinfo.Init(false); _tabinfo.LeiroVizsg(); _fak.Combokupdate(this); } else if (_azonositok.Tablanev != "" && !forditott) { fak.ProgressRefresh(); AdatTabla tartaltabla = new AdatTabla("TARTAL"); AdatTabla leirotabla = new AdatTabla("LEIRO"); _leirotabinfo = new Tablainfo(leirotabla, -1, this, _leiroazonositok, fak, true); _leirotabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _leirotabinfo.NaploTabla = _fak.NaploTablak[0]; _leirotabinfo.Init(true); _tabinfo = new Tablainfo(tartaltabla, -1, this, _azonositok, fak); _tabinfo.LeiroTablainfo = _leirotabinfo; _tabinfo.Init(true); _tabinfo.LeiroVizsg(); if (!fak.BajVan) { for (int i = 0; i < tartaltabla.Rows.Count; i++) { fak.ProgressRefresh(); DataRow dr1 = tartaltabla.Rows[i]; owner = dr1["OWNER"].ToString(); bool kell = false; if (fak.Alkalmazas == "TERVEZO" || owner == fak.AlkalmazasId || owner == fak.Alkalmazas) kell = true; else { char[] vesszo = new char[1]; vesszo[0] = Convert.ToChar(","); string[] userek = dr1["USEREK"].ToString().Split(vesszo); if (owner == "" && userek[0] == "") kell = true; else { for (int j = 0; j < userek.Length; j++) { if (userek[j] != "" && userek[j] == fak.Alkalmazas) { kell = true; break; } } } } if (kell) { TablainfoTag tartaltag = new TablainfoTag(tartaltabla, i, null, null, this, fak); if ("CO".Contains(_azonositok.Adatfajta)) { fak.ProgressRefresh(); tartaltag.FordTag = new TablainfoTag(tartaltabla, i, _tabinfo, tartaltag, this, fak, true); } } } } } break; case "TARTAL": if (!forditott) { akttablanev = _azonositok.Tablanev; string akttermszarm = _azonositok.Termszarm.Trim(); aktszint = _azonositok.Szint; string kodtipus = _azonositok.Kodtipus; termtablae = akttermszarm == "T"; owner = _azonositok.Ownerid; user = _azonositok.User; AdatTabla adattabla = new AdatTabla(akttablanev); if (akttablanev == "LEIRO") _leirotabinfo = fak.LeiroTag.Tablainfo; else { if (adattabla.TableName == "KODTAB" || adattabla.TableName == "OSSZEF" || adattabla.TableName == "LISTA" || adattabla.TableName=="STATISZTIKA" || adattabla.TableName=="ADATSZOLG" || adattabla.TableName=="NAPTARAK") { _leirotabinfo = fak.SpecialisLeiroTabinfok.GetByAzontip(_leiroazonositok.Azontip); if(_leirotabinfo==null) { AdatTabla leiroadattabla = new AdatTabla("LEIRO"); _leirotabinfo = new Tablainfo(leiroadattabla, -1, this, _leiroazonositok, fak, true); _leirotabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _leirotabinfo.NaploTabla = _fak.NaploTablak[0]; _leirotabinfo.Init(false); fak.SpecialisLeiroTabinfok.Add(_leirotabinfo); } } else { AdatTabla leiroadattabla = new AdatTabla("LEIRO"); _leirotabinfo = new Tablainfo(leiroadattabla, -1, this, _leiroazonositok, fak, true); _leirotabinfo.NaploTablainfo = _fak.NaploTablainfok[0]; _leirotabinfo.NaploTabla = _fak.NaploTablak[0]; _leirotabinfo.Init(false); } } if (akttablanev == "LEIRO") { _tabinfo = fak.Tablainfok.GetBySzintPluszTablanev(kodtipus.Substring(0, 1), kodtipus.Substring(1)); if (_tabinfo != null) _tabinfo = _tabinfo.LeiroTablainfo; else return; } else { _tabinfo = new Tablainfo(adattabla, -1, this, _azonositok, fak); _tabinfo.LeiroTablainfo = _leirotabinfo; if (_azonositok.Verzioinfok.AktualConnection != "") { _tabinfo.Init(true); _tabinfo.LeiroVizsg(); if (!fak.BajVan) fak.Combokupdate(this); } } } else { eredetitag.FordTag = this; _tabinfo = eredetitag._tabinfo; _leirotabinfo = eredetitag._leirotabinfo; } break; } if (_parenttag != null) { Insert(); if (_parenttag.Azonositok.Szulotabla != "" && _parenttag.Azonositok.Szuloszint != "") { _azonositok.Szulotabla = _parenttag.Azonositok.Szulotabla; _azonositok.Szuloszint = _parenttag.Azonositok.Szuloszint; } if (termtablae) { tartalinfo = fak.Tablainfok.GetByAzontip("SZRMTARTAL"); TablainfoTag parent = tartalinfo.TablaTag; int sorrend; if (tartalinfo.DataView.Count == 0) sorrend = 100; else sorrend = Convert.ToInt32(tartalinfo.DataView[tartalinfo.DataView.Count - 1]["SORREND"].ToString()) + 1000; string megnevezes = _azonositok.Szoveg + " tábla mezöi"; string kodtipus = aktszint + akttablanev; string azontip = "SZRM" + aktszint + akttablanev; DataRow row = tartalinfo.Find("KODTIPUS", aktszint + akttablanev); if (row == null) { row = tartalinfo.Ujsor(); row["SORREND"] = sorrend; sorrend = sorrend + 1000; } if (row["KODTIPUS"].ToString() != kodtipus) { tartalinfo.Modositott = true; row["KODTIPUS"] = kodtipus; } if (row["SZOVEG"].ToString() != megnevezes) { tartalinfo.Modositott = true; row["SZOVEG"] = megnevezes; } if (row["AZONTIP"].ToString() != azontip) { tartalinfo.Modositott = true; row["AZONTIP"] = azontip; } if (row["OWNER"].ToString() != owner) { tartalinfo.Modositott = true; row["OWNER"] = owner; } if (row["USEREK"].ToString() != user) { tartalinfo.Modositott = true; row["USEREK"] = user; } row = tartalinfo.Find("KODTIPUS", aktszint + akttablanev); tartalinfosorindex = tartalinfo.Rows.IndexOf(row); TablainfoTag tag = tartalinfo.TablaTag.ChildTablainfoTagok[azontip]; if (tartalinfo.Modositott) { row["MODOSITOTT_M"] = 1; fak.UpdateTransaction(new Tablainfo[] { tartalinfo }); } if (tag == null) { fak.ProgressRefresh(); tag = new TablainfoTag(tartalinfo.Adattabla, tartalinfosorindex, null, null, parent, fak); fak.Combokupdate(tag); } } } _node.Text = _azonositok.Szoveg; _node.Tag = this; _azonositok.ToolTipText(); } }
private void InfokGyujt(DataTable dt5, Azonositok azonbase, Tablainfo tabinfo, int alkalmind, int termszarmind, int szintind, int tablaind,bool kellmezotulajdonsag) { DataRow newrow1 = dt5.NewRow(); string mezotext2 = ""; string tulajdonsagtext2 = ""; string mezotext3 = ""; string tulajdonsagtext3 = ""; string fejcolumn = "Column1"; Cols egycol; string tervmezostring = mezotext2; string tervtulajdonsagstring = tulajdonsagtext2; if (tabinfo.Tablanev != "VALTOZASNAPLO" && tabinfo.Tablanev!="USERLOG") { if (kellmezotulajdonsag) { tervmezostring = mezotext3; tervtulajdonsagstring = tulajdonsagtext3; fejcolumn = "Column2"; newrow1["Column1"] = "Mezötulajdonságok adatbázis táblaterv alapján: "; for (int k = 0; k < tabinfo.TablaColumns.Count; k++) { int count = 0; egycol = tabinfo.TablaColumns[k]; mezotext2 += "Mezö neve: " + egycol.ColumnName; tulajdonsagtext2 += "Adattipus: " + egycol.DataType.ToString() + "\n"; count++; tulajdonsagtext2 += "Adathossz: " + egycol.DbaseColumnSize.ToString() + "\n"; count++; if (egycol.Numeric(egycol.DataType) && !egycol.DataType.ToString().Contains("Int")) { tulajdonsagtext2 += "Tizedesek száma: " + egycol.Tizedesek.ToString() + "\n"; count++; } tulajdonsagtext2 += "Lehet null? " + BoolToString(egycol.IsAllowDbNull); count++; if (egycol.IsIdentity) { tulajdonsagtext2 += "Ez az identity " + "\n"; count++; } for (int i = 0; i < count; i++) mezotext2 += "\n"; } } if (tabinfo.Tablanev != "OSSZEF") { newrow1[fejcolumn] = "TERVEZO-ben megadott mezötulajdonságok: "; for (int k = 0; k < tabinfo.TablaColumns.Count; k++) { int count = 0; egycol = tabinfo.TablaColumns[k]; if ((egycol.Lathato || egycol.Comboe) && !egycol.IsIdentity) { tervmezostring += "Mezö neve: " + egycol.ColumnName; if (egycol.Sorszov != egycol.ColumnName) { tervtulajdonsagstring += "Sor szövege: " + egycol.Sorszov + "\n"; count++; } if (egycol.Caption != egycol.ColumnName) { tervtulajdonsagstring += "Oszlop szövege: " + egycol.Caption + "\n"; count++; } tervtulajdonsagstring += "Csak olvas? " + BoolToString(egycol.ReadOnly); count++; tervtulajdonsagstring += "Lehet üres? " + BoolToString(egycol.Lehetures); count++; if (egycol.Adathossz != "0" && egycol.Adathossz != egycol.DbaseColumnSize.ToString()) { tervtulajdonsagstring += "Adathossz: " + egycol.Adathossz + "\n"; count++; } if (egycol.DefaultValue.ToString() != "" && egycol.DefaultValue.ToString() != "0") { tervtulajdonsagstring += "Kezdöérték: " + egycol.DefaultValue.ToString() + "\n"; count++; } if (egycol.Format != "") { tervtulajdonsagstring += "Formátum: " + egycol.Format + "\n"; count++; } for (int i = 0; i < count; i++) tervmezostring += "\n"; } } } } if (kellmezotulajdonsag) { newrow1["Column4"] = mezotext2; newrow1["Column5"] = tulajdonsagtext2; newrow1["Column6"] = tervmezostring; newrow1["Column7"] = tervtulajdonsagstring; } else { newrow1["Column4"] = tervmezostring; newrow1["Column5"] = tervtulajdonsagstring; } newrow1["Column20"] = alkalmind; newrow1["Column19"] = termszarmind; newrow1["Column18"] = szintind; newrow1["Column17"] = tablaind; dt5.Rows.Add(newrow1); }
/// <summary> /// mint az elozo, de a leiroe parameter tartalma szerint adattabla vagy az adattabla leirotablajanak tablainfojat /// hozza letre /// </summary> /// <param name="dt"></param> /// <param name="sorindex"></param> /// <param name="tag"></param> /// <param name="tagazon"></param> /// <param name="fak"></param> /// <param name="leiroe"> /// true: leirotabla /// false: adattabla /// </param> public Tablainfo(AdatTabla dt, int sorindex, TablainfoTag tag, Azonositok tagazon, FakUserInterface fak, bool leiroe) { NewTablainfo(dt, sorindex, tag, tagazon, fak, leiroe); }
private void NewTablainfo(AdatTabla dt, int sorindex, TablainfoTag tag, Azonositok tagazon, FakUserInterface fak, bool leiroe) { _leiroe = leiroe; _fak = fak; _tablatag = tag; _parenttag = tag.ParentTag; _azonositok = tagazon; if (dt != null) _adattabla = dt; }
/// <summary> /// A LEIRO tabla adattablainformacio letrehozasa /// </summary> /// <param name="tag"> /// A tablainformaciot es a hozza tartozo leirotablainformaciot osszefogo objectum /// </param> /// <param name="tagazon"> /// a tablainformacio azonositoi /// </param> /// <param name="fak"> /// fak /// </param> public Tablainfo(TablainfoTag tag, Azonositok tagazon, FakUserInterface fak) { NewTablainfo(null, -1, tag, tagazon, fak, false); }