/// <summary> /// Az Adattabla Column-okat egy masik DataTable-be masolja /// </summary> /// <param name="datatable"> /// ide masolja /// </param> public void CopyColumnsToDataTable(AdatTabla datatable) { foreach(DataColumn egycol in Columns) { DataColumn col = new DataColumn(); col.ColumnName = egycol.ColumnName; col.DataType = egycol.DataType; col.Caption = egycol.Caption; col.ColumnMapping = egycol.ColumnMapping; col.MaxLength = egycol.MaxLength; col.ReadOnly = egycol.ReadOnly; datatable.Columns.Add(col); } }
/// <summary> /// Info update /// </summary> /// <param name="dt"> /// Informacios tabla /// </param> /// <param name="sorindex"> /// informacios sor indexe /// </param> public void TablainfoTagUpdate(AdatTabla dt, int sorindex) { _azonositok.AzonositokUpdate(dt.Rows[sorindex]); if (sorindex != -1 && dt.Columns.IndexOf("SORREND") != -1) _sorrend = Convert.ToInt32(dt.Rows[sorindex]["SORREND"].ToString()); _node.Text = _azonositok.Szoveg; _azonositok.ToolTipText(); if (_fordtag != null) { _fordtag._azonositok.AzonositokUpdate(dt.Rows[sorindex]); _fordtag._azonositok.ToolTipText(); } if(_tabinfo!=null) _fak.Combokupdate(this); }
/// <summary> /// Inicializalas /// </summary> public override void AltalanosInit() { editboljott = false; bool valt = UjTag; if (!valt) { valt = !Tabinfo.KellVerzio && ValtozasLekerdezExcept(new string[] { "Verziovaltozas" }).Count != 0 || Tabinfo.KellVerzio && ValtozasLekerdez().Count != 0; } if (!valt) { MezoControlInfok[0].UserControlInfo = UserControlInfo; return; } Tablainfo tabinfo = TablainfoTag.Tablainfo; HozferJog = tabinfo.Azonositok.Jogszintek[(int)KezeloiSzint]; ColCollection inputcolumns = tabinfo.InputColumns; ColCollection tablacolumns = tabinfo.TablaColumns; adattabla = tabinfo.Adattabla; azontipindex = inputcolumns.IndexOf("AZONTIP"); azontipcol = inputcolumns[azontipindex]; mezonevindex = inputcolumns.IndexOf("MEZONEV"); mezonevcol = inputcolumns[mezonevindex]; fixertekindex = inputcolumns.IndexOf("FIXERTEK"); fixertekcol = inputcolumns[fixertekindex]; AzontipTag = new MezoTag(tabinfo, "AZONTIP", FakUserInterface, null, null, null, null); AzontipTag.Control = comboBox1; comboBox1.Tag = AzontipTag; FakUserInterface.Comboinfoszures(comboBox1, new string[] { "SZRM" }); AzontipTag.SzurtCombofileinfo[0] = ""; AzontipTag.SzurtComboinfo[0] = ""; MezonevMezoTag = new MezoTag(tabinfo, "MEZONEV", FakUserInterface, null, null, null, null); MezonevMezoTag.Control = comboBox1; mezonevcol.Comboe = true; azontipcol.Comboe = true; fixertekcol.Comboe = true; if (adattabla.Columns.IndexOf("MEZONEV_K") == -1) adattabla.Columns.Add(new DataColumn("MEZONEV_K")); if (tabinfo.ComboColumns["MEZONEV"] == null) tabinfo.ComboColumns.Add(mezonevcol); int mezonevk = tabinfo.KiegColumns.IndexOf("MEZONEV_K"); if (mezonevk != -1) mezonevkiegcol = tabinfo.KiegColumns[mezonevk]; else { mezonevkiegcol = new Cols("MEZONEV_K", "System.String", "Mezö neve", 30, true, tabinfo, ""); tabinfo.KiegColumns.Add(mezonevkiegcol); } mezonevcol.Kiegcol = mezonevkiegcol; tabinfo.TablaColumns["MEZONEV"].Kiegcol = mezonevkiegcol; fixertekcol = inputcolumns[fixertekindex]; FixertMezoTag = new MezoTag(tabinfo, "FIXERTEK", FakUserInterface, null, null, null, null); FixertMezoTag.Control = comboBox1; comboBox1.Tag = FixertMezoTag; fixertekcol.Combo_Info = FakUserInterface.ComboInfok.ComboinfoKeres("SZRTSPECADATSZOLGNEVEK"); tabinfo.TablaColumns["FIXERTEK"].Combo_Info = fixertekcol.Combo_Info; if (adattabla.Columns.IndexOf("FIXERTEK_K") == -1) adattabla.Columns.Add(new DataColumn("FIXERTEK_K")); if (tabinfo.ComboColumns["FIXERTEK"] == null) tabinfo.ComboColumns.Add(fixertekcol); int fixertekk = tabinfo.KiegColumns.IndexOf("FIXERTEK_K"); if (fixertekk != -1) fixertkiegcol = tabinfo.KiegColumns[fixertekk]; else { fixertkiegcol = new Cols("FIXERTEK_K", "System.String", "Fix érték", 30, true, tabinfo, ""); tabinfo.KiegColumns.Add(fixertkiegcol); } fixertekcol.Kiegcol = fixertkiegcol; base.AltalanosInit(); viewindex = Tabinfo.ViewSorindex; for (int i = 0; i < Tabinfo.DataView.Count; i++) { ComboAllitasok(i); Tabinfo.ViewSorindex = i; } comboBox1.Tag = MezonevMezoTag; if (viewindex != -1) { ComboAllitasok(viewindex); Tabinfo.ViewSorindex = viewindex; Inputtablaba(Tabinfo.AktualViewRow[szovegcol].ToString()); } else Inputtablaba(); }
/// <summary> /// Forditott TablainfoTag objectum letrehozasa vagy aktualizalasa /// </summary> /// <param name="dt"> /// Informaciot tartalmazo adattabla - BASE/TARTAL/LEIRO vagy valamelyik adattabla /// </param> /// <param name="sorindex"> /// az informacios sor indexe /// </param> /// <param name="tabinfo"> /// A tablainformacio /// </param> /// <param name="eredetitag"> /// az eredeti TablainfoTag /// </param> /// <param name="parenttag"> /// parent tag /// </param> /// <param name="fak"> /// Fak /// </param> /// <param name="forditott"> /// true /// </param> public TablainfoTag(AdatTabla dt, int sorindex, Tablainfo tabinfo, TablainfoTag eredetitag, TablainfoTag parenttag, FakUserInterface fak, bool forditott) { TablainfoTagIni(dt, sorindex, tabinfo, eredetitag, parenttag, fak, forditott); }
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(); } }
/// <summary> /// LEIRO vagy BASE sajat TablainfoTag objectum eloallitasa /// </summary> /// <param name="dt"> /// Tartalmazza a LEIRO sajat leirasanak sorait vagy a BASE sorait /// </param> /// <param name="fak"> /// Fak /// </param> public TablainfoTag(AdatTabla dt, FakUserInterface fak) { TablainfoTagIni(dt, -1, null, null, null, fak, false); }
/// <summary> /// BASE tabla "Szarmazekos" illetve "Termeszetes" sorabol TablainfoTag eloallitasa /// </summary> /// <param name="dt"> /// BASE sorait tartalmazo adattabla /// </param> /// <param name="sorindex"> /// a kivant sor /// </param> /// <param name="fak"> /// Fak /// </param> public TablainfoTag(AdatTabla dt, int sorindex, FakUserInterface fak) { TablainfoTagIni(dt, sorindex, null, null, null, fak, false); }
/// <summary> /// objectum letrehozasa, FakUserInterface hivja az ott leirt parameterekkel /// a teljes strukturat, ami a FakPlusz mukodesehez kell, letrehozza /// </summary> /// <param name="alkalmazas"> /// alkalmazas neve /// </param> /// <param name="form"> /// main form /// </param> /// <param name="kellprogress"> /// kell progressbar? /// </param> /// <param name="connstringek"> /// connectionstringek tombje /// </param> /// <param name="adatbazisfajta"> /// adatbazisfajta:Sql vagy MySql /// </param> /// <param name="mainvezerles"> /// main vezerloinfo /// </param> /// <param name="kezeloid"> /// kezelo id-je vagy -2 /// </param> private void NewFakUserInterface(string alkalmazas, Form form, bool kellprogress, string[] connstringek, string adatbazisfajta, Vezerloinfo mainvezerles, int kezeloid, bool webe) { UserSzamitasok.UserSzamitasok.Init(this); _alkalmazas = alkalmazas; _mainvezerles = mainvezerles; _mainform = form; KezeloId = kezeloid; Webe = webe; if (adatbazisfajta == "MySql") _mysqle = true; else _mysqle = false; ConnectionStringArray = new ArrayList(connstringek); _rendszerconn = connstringek[0]; _userconn = connstringek[1]; _alapconnectionstringek[0] = connstringek[0]; _alapconnectionstringek[1] = connstringek[1]; NaploTablak = new DataTable[connstringek.Length]; LastUpdateDateTime = new DateTime[connstringek.Length]; LastBackupDateTime = new DateTime[connstringek.Length]; NaploTablak[0] = new DataTable("VALTOZASNAPLO"); NaploTablak[1] = new DataTable("VALTOZASNAPLO"); LastUpdateDateTime[0] = DateTime.MinValue; LastUpdateDateTime[1] = DateTime.MinValue; int maxi = connstringek.Length; if (alkalmazas == "TERVEZO") { maxi = 3; if (!_rendszerconn.Contains("GITTA") && !_rendszerconn.Contains("localhost")) _enyem = false; } for (int i = 2; i < maxi; i++) { _cegconnectionok.Add(connstringek[i]); NaploTablak[i] = new DataTable("VALTOZASNAPLO"); LastUpdateDateTime[i] = DateTime.MinValue; } Sqlinterface.RendszerUserConn(_rendszerconn, _userconn); Sqlinterface.SetCegConnectionok((string[])_cegconnectionok.ToArray(typeof(string))); Sqlinterface.Cegconn(_cegconnectionok[0].ToString()); //LastBackupDateTime[0] = Sqlinterface.GetLastBackupDate(_rendszerconn); //LastBackupDateTime[1] = Sqlinterface.GetLastBackupDate(_userconn); Sqlinterface.Select(NaploTablak[0], _rendszerconn, "VALTOZASNAPLO", "", "", true); NaploTablak[0].Rows.Clear(); Sqlinterface.Select(NaploTablak[1], _userconn, "VALTOZASNAPLO", "", "", true); NaploTablak[1].Rows.Clear(); for (int i = 2; i < maxi; i++) { //LastBackupDateTime[i] = Sqlinterface.GetLastBackupDate(connstringek[i]); Sqlinterface.Select(NaploTablak[i], connstringek[i], "VALTOZASNAPLO", "", "", true); NaploTablak[i].Rows.Clear(); } //DataTable dtcegek = new DataTable(); DataTable dtcegalkalmazasok = new DataTable(); Sqlinterface.Select(Alkalmazasok, _rendszerconn, "KODTAB", " where KODTIPUS='Alkalm'", "", false); foreach (DataRow dr in Alkalmazasok.Rows) { string sorszam = dr["SORSZAM"].ToString(); string nev = dr["SZOVEG"].ToString(); AlkalmazasNevek.Add(nev); AlkalmazasIdk.Add(sorszam); if (_alkalmazas != "TERVEZO" && nev == _alkalmazas) _alkalmazasid = sorszam; } if (_alkalmazas != "TERVEZO" && _alkalmazasid == "") { CloseProgress(); FakPlusz.MessageBox.Show("Nincs " + _alkalmazas + " nevü alkalmazás!"); _bajvan = true; return; } //Sqlinterface.Select(dtcegek, _userconn, "CEGEK", "", "CEG_ID", false); string kezdevho = DateTime.Today.ToShortDateString().Substring(0, 8) + "01"; DateTime modkezdetedatum = Convert.ToDateTime(kezdevho); DateTime modvegedatum = modkezdetedatum.AddMonths(1).AddDays(-1); string vegevho = DatumToString(modvegedatum); _aktintervallum = new DateTime[] { modkezdetedatum, modvegedatum }; _shortdateintervallum = new string[] { kezdevho, vegevho }; _verzioinfok = new VerzioinfoCollection(); string[] szintek = new string[] { "R", "U", "C" }; for (int i = 0; i < szintek.Length; i++) { Verzioinfok egyver = new Verzioinfok(this); _verzioinfok.Add(egyver, szintek[i]); egyver.VerzioinfoCollection = _verzioinfok; } //if (kellprogress) // OpenProgress(); SetProgressText("Alapinfok töltése"); Rendszerversiontolt(); ProgressRefresh(); Userversiontolt(); ProgressRefresh(); AdatTabla leirotab = new AdatTabla("LEIRO"); _leirotag = new TablainfoTag(leirotab, this); string[] szovegek = new string[] { "Rendszerszintû Combok", "Userszintû Combok", "Céginicializálás" }; string[] azonok = new string[] { "RC", "UC", "CC" }; if (!_bajvan) { _leirotablainfo = _leirotag.Tablainfo; _leironode = _leirotablainfo.TablaTag.Node; AdatTabla dt = new AdatTabla("BASE"); Sqlinterface.Select((DataTable)dt, _rendszerconn, "BASE", "", "order by PARENT,SORREND", false); _basetag = new TablainfoTag(dt, this); _basenode = _basetag.Node; if (kellprogress) { KezdetiForm.OpenKezdeti(this, szovegek, azonok); // KezdetiForm.OpenKezdeti(this, null, null); // _mainform.AddOwnedForm(KezdetiForm); } DataView fofaview = dt.DataView; fofaview.Table = (DataTable)dt; fofaview.Sort = "PARENT,SORREND"; fofaview.RowFilter = "[parent] = '0'"; SetProgressText("Rendszer információk töltése"); TreeNode egynode; string baseszoveg; string azon; for (int i = 0; i < fofaview.Count; i++) { baseszoveg = fofaview[i].Row["SZOVEG"].ToString(); azon = fofaview[i].Row["AZON"].ToString(); TablainfoTag tag = new TablainfoTag(dt, i, this); if (kellprogress) KezdetiForm.Sorkesz(baseszoveg, azon); GyokerTablainfoTagok.Add(tag); egynode = tag.Node; } foreach (TablainfoTag tag in GyokerTablainfoTagok) { TablainfoTagokEpit(tag, fofaview); if (_bajvan) break; } if (kellprogress) { //_mainform.RemoveOwnedForm(KezdetiForm); //KezdetiForm.Visible = false; //OpenProgress(); } fofaview.Sort = "SORREND"; if (!_bajvan) { _leirotablainfo.Beallit(); _leirotablainfo.Combobeallit(); _basetag.LeiroTablainfo.Beallit(); _basetag.LeiroTablainfo.Combobeallit(); _basetag.Tablainfo.Beallit(); _basetag.Tablainfo.Combobeallit(); KezdetiForm.ShowProgress(); Combotoltes("R"); KezdetiForm.Sorkesz(szovegek[0], azonok[0]); Combotoltes("U"); KezdetiForm.Sorkesz(szovegek[1], azonok[1]); } } string selstring = ""; if (_bajvan) { string szov = this.BajInfo; if (szov == "") { CloseProgress(); FakPlusz.MessageBox.Show("Programhiba!"); } } else // elso ceg adatai { for (int i = 0; i < _cegconnectionok.Count; i++) { if (selstring == "") selstring += " where "; else selstring += " or "; selstring += "CEGCONNECTION='" + _cegconnectionok[i].ToString() + "'"; } _ceginfo = Tablainfok.GetBySzintPluszTablanev("U", "CEGEK"); int count = _ceginfo.DataView.Count; bool[] megvan = new bool[_cegconnectionok.Count]; if (_ceginfo.DataView.Count < _cegconnectionok.Count) // uj ceg(ek) { for (int i = 0; i < _cegconnectionok.Count; i++) { string conn = _cegconnectionok[i].ToString(); for (int j = 0; j < _ceginfo.DataView.Count; j++) { DataRow dr = _ceginfo.DataView[j].Row; if (dr["CEGCONNECTION"].ToString() == conn) { megvan[i] = true; break; } } if (!megvan[i]) { DataRow dr = _ceginfo.Ujsor(); dr["SZOVEG"] = (count++).ToString() + ".cég"; dr["CEGCONNECTION"] = conn; } } } if (_alkalmazas != "TERVEZO") { if (_ceginfo.Modositott) UpdateTransaction(new Tablainfo[] { _ceginfo }); //_ceginfo.Adattabla.Rows.Clear(); //_ceginfo.Azonositok.Selectstring = selstring; //Sqlinterface.Select(_ceginfo.Adattabla, _userconn, "CEGEK", selstring, _ceginfo.Azonositok.Orderstring, false); } if (!_bajvan) { KezdetiForm.Sorkesz(szovegek[2], azonok[2]); Cegadatok(0); for (int i = 0; i < _tablainfok.Count; i++) { int conind = ConnectionStringArray.IndexOf(_tablainfok[i].Adattabla.Connection); _tablainfok[i].NaploTablainfo = NaploTablainfok[conind]; } } if (!_bajvan) { GyokerekEsGyokerChainek(); _comboinfok.Kiajanlinfo = _tablainfok.GetByAzontip("SZCTKIAJANL"); string azon = ""; foreach (Tablainfo info in _tablainfok) { if (info.KellVerzio && (info.LehetCombo || info.LehetOsszef || info.LehetCsoport)) { string azontip = info.Azontip; foreach (Tablainfo info1 in _tablainfok) { if (info != info1 && info1.Tablanev != "TARTAL" && info1.KellVerzio) { if (info1.Tablanev != "OSSZEF") { foreach (Cols egycol in info1.ComboColumns) { if (egycol.Comboazontip == azontip) { if (info.ComboHasznalok.IndexOf(info1) == -1) { info.ComboHasznalok.Add(info1); if (Combohasznalok.IndexOf(info) == -1) Combohasznalok.Add(info); } } } } else if ((info1.Azontip1 == azontip || info1.Azontip2 == azontip) && info.ComboHasznalok.IndexOf(info1) == -1) { info.ComboHasznalok.Add(info1); if (Combohasznalok.IndexOf(info) == -1) Combohasznalok.Add(info); } } } } } CloseProgress(); KezdetiForm.CloseKezdeti(); // _mainform.RemoveOwnedForm(KezdetiForm); // KezdetiForm.Visible = false; } else { CloseProgress(); KezdetiForm.CloseKezdeti(); // _mainform.RemoveOwnedForm(KezdetiForm); // KezdetiForm.Visible = false; } // HelpWindow = new Helpwindow(this, Alkalmazas == "TERVEZO"); } }
/// <summary> /// Objectum letrehozasa /// </summary> public SzerkesztettAlap() { InitializeComponent(); osszesview.Add(parameterview); osszesview.Add(feltetelview); osszesview.Add(feltetelsview); osszesview.Add(felteteloview); for (int i = 0;i<nemlathatooszlopok.Length;i++) { listaparametertabla.Columns.Add(new DataColumn(nemlathatooszlopok[i])); statisztikaparametertabla.Columns.Add(new DataColumn(nemlathatooszlopok[i])); } for (int i = 0;i<listatobbioszlop.Length;i++) { string colnev = listatobbioszlop[i]; DataColumn col = new DataColumn(colnev); col.Caption=listatobbioszlopnev[i]; if(colnev == "OSZLOPSORSZAM" ||colnev=="SORRENDSORSZAM") col.DataType=Type.GetType("System.Int32"); listaparametertabla.Columns.Add(col); } for (int i = 0;i<statisztikatobbioszlop.Length;i++) { string colnev = statisztikatobbioszlop[i]; DataColumn col = new DataColumn(colnev); col.Caption=statisztikatobbioszlopnev[i]; if(colnev == "MATRIXSORSZAM" ||colnev=="SORRENDSORSZAM") col.DataType=Type.GetType("System.Int32"); statisztikaparametertabla.Columns.Add(col); } listaparamcombooszlopok.AddRange(new string[] { "SORRENDSORSZAM", "KELLOSSZEGZES", "OSSZEGZENDO", "ATLAGOLANDO", "CSAKOSSZEGSORBA", "OSZLOPSORSZAM" }); statisztikaparamcombooszlopok.AddRange(new string[] {"SORRENDSORSZAM", "ATLAGOLANDO","MATRIXSORSZAM" }); string[] felteteladatnevek = new string[] {"AZONTIP","MEZONEV","NYITOZAROJEL","ELSOELEM","RELACIO","MASODIKELEM", "ZAROZAROJEL","ESVAGY"}; string[] felteteladatszovegek = new[] { "", "", "Nyitó zárjel", "Adat neve ", "Reláció", "Tartalom ", "Záró zárjel", "És/Vagy" }; AdatTabla[] tablak = new AdatTabla[] { felteteltabla, sorfelteteltabla, oszlopfelteteltabla }; for (int i = 0; i < felteteladatnevek.Length; i++) { string adatnev = felteteladatnevek[i]; string szov = felteteladatszovegek[i]; for (int j = 0; j < 3; j++) { DataColumn col = new DataColumn(adatnev); col.Caption = szov; tablak[j].Columns.Add(col); } } //felteteltabla.Columns.AddRange( // new DataColumn[] {new DataColumn("AZONTIP"), // new DataColumn("MEZONEV"),new DataColumn("NYITOZAROJEL"), // new DataColumn("ELSOELEM"),new DataColumn("RELACIO"),new DataColumn("MASODIKELEM"), // new DataColumn("ZAROZAROJEL"),new DataColumn("ESVAGY")}); //sorfelteteltabla.Columns.AddRange(new DataColumn[] {new DataColumn("AZONTIP"), // new DataColumn("MEZONEV"),new DataColumn("NYITOZAROJEL"), // new DataColumn("ELSOELEM"),new DataColumn("RELACIO"),new DataColumn("MASODIKELEM"), // new DataColumn("ZAROZAROJEL"),new DataColumn("ESVAGY")}); //oszlopfelteteltabla.Columns.AddRange(new DataColumn[] {new DataColumn("AZONTIP"), // new DataColumn("MEZONEV"),new DataColumn("NYITOZAROJEL"), // new DataColumn("ELSOELEM"),new DataColumn("RELACIO"),new DataColumn("MASODIKELEM"), // new DataColumn("ZAROZAROJEL"),new DataColumn("ESVAGY")}); //feltetelview.Table = felteteltabla; //feltetelsview.Table = sorfelteteltabla; //felteteloview.Table = oszlopfelteteltabla; }
/// <summary> /// _inputtable inicializalasa /// </summary> private void Inputtablaini() { DataRow NewRow; Comboinfok egyinfo = _fak.ComboInfok.ComboinfoKeres("SZRK9999"); if (egyinfo != null) _szovegmaxlength = egyinfo.Maxhossz; else _szovegmaxlength = 50; int tarthossz = 0; int j = 0; if (_inputtable == null) _inputtable = new AdatTabla("INPTABLE"); _inputtable.Clear(); _inputtable.Columns.Clear(); _inputtable.Tablainfo = this; foreach (Cols egycol in _inputcolumns) { j = egycol.InputMaxLength; if (j > tarthossz) tarthossz = j; } if (tarthossz <= 50) _tartalommaxlength = tarthossz; else _tartalommaxlength = 50; _inputtable.Columns.Add(Ujcol("SZOVEG", "System.String", "Megnevezés", true, _szovegmaxlength)); _inputtable.Columns.Add(Ujcol("TARTALOM", "System.String", "Tartalom", false, _tartalommaxlength)); foreach (Cols egycol in _inputcolumns) { NewRow = _inputtable.NewRow(); NewRow[0] = egycol.Sorszov; NewRow[1] = egycol.DefaultValue; _inputtable.Rows.Add(NewRow); } if (_inputtable.GridView != null) { _inputtable.GridView.Columns[0].Width = _szovegmaxlength * 9; _inputtable.GridView.Columns[1].Width = _tartalommaxlength * 9; } }
/// <summary> /// Kozos inicializalas, felulirhato /// Vegrehajtodik, vagy a BASE tablarol van szo /// </summary> public override void AltalanosInit() { bool valt = UjTag; if (!valt) { valt = !Tabinfo.KellVerzio && ValtozasLekerdezExcept(new string[] { "Verziovaltozas" }).Count != 0 || Tabinfo.KellVerzio && ValtozasLekerdez().Count != 0; } if (!valt) { if (MezoControlInfok[0] != null) { MezoControlInfok[0].UserControlInfo = UserControlInfo; UserControlInfo.AktivPage = AktivPage; } } else { if (!UjTag) savviewindex = Tabinfo.ViewSorindex; //else //{ // Tabinfo.ViewSorindex // } bool verzvaltas = ValtozasLekerdez("Verziovaltozas").Count != 0; ValtozasTorol(); if (verzvaltas) { foreach (Control page in AktivPage.Parent.Controls) { if (page != AktivPage) { if (page.Controls.Count != 0) { Base cont = (Base)page.Controls[0]; cont.ValtozasTorol("Verziovaltozas"); } } } } verzioe = !Leiroe && TablainfoTag.Tablainfo.Tablanev.Contains("VERSION"); combocell = null; combovisible = false; torolalap.Visible = false; eleszur.Visible = false; mogeszur.Visible = false; rogzit.Visible = false; string azon = TablainfoTag.Azonositok.Azon; if (azon == "LEIR") Leiroe = false; else if (this.Name.Contains("Leiro")) Leiroe = true; if (Leiroe) Tabinfo = TablainfoTag.Tablainfo.LeiroTablainfo; else Tabinfo = TablainfoTag.Tablainfo; if (Tabinfo.Tablanev == "LEIRO" && azon == "SZRM") { Leiroe = true; Tabinfo = TablainfoTag.Tablainfo; } if (Tabinfo.InputColumns.Count == 0 || !AktivDropDownItem.Enabled) this.Visible = false; else if (this.Parameterez == null) this.Visible = true; Tabinfo.Hivo = Hivo; if (Tabinfo.Tablanev == "TARTAL" && KezeloiSzint != KezSzint.Fejleszto && "LI".Contains(Tabinfo.Adatfajta)) { switch (KezeloiSzint) { case KezSzint.Kezelo: HozferJog = HozferJogosultsag.Semmi; break; case KezSzint.Vezeto: HozferJog = HozferJogosultsag.Semmi; break; default: HozferJog = HozferJogosultsag.Irolvas; break; } } else HozferJog = Hivo.HozferJog; if (Leiroe) { if (azon.Substring(0, 2) == "SZ" || TablainfoTag.Tablainfo.Tablanev == "BASE") { if (azon == "SZRM") HozferJog = HozferJogosultsag.Csakolvas; } szovegcol = Tabinfo.Adattabla.Columns.IndexOf(Tabinfo.SzovegColName); } else { if (Tabinfo.Tablanev == "TARTAL" && azon == "SZRM") HozferJog = HozferJogosultsag.Csakolvas; szovegcol = Tabinfo.Adattabla.Columns.IndexOf(Tabinfo.SzovegColName); } Tabinfo.SetAktHozferJog(KezeloiSzint, this.Name); if (Tabinfo.Tablanev == "CEGKEZELOKIOSZT") FakUserInterface.Kezeloszereprendberak(Tabinfo); SorrendColumn = Tabinfo.SorrendColumn; AktivPage.Text = AktivDropDownItem.Text; bool valtozasnaplouserlog = Tabinfo.Tablanev == "VALTOZASNAPLO" || Tabinfo.Tablanev == "USERLOG"; if (LezartCeg) { if (HozferJog != HozferJogosultsag.Semmi) { if(Tabinfo.Azonositok.Jogszintek[Convert.ToInt32(KezSzint.Rendszergazda)] == HozferJogosultsag.Irolvas && (KezeloiSzint==KezSzint.Minden || SzovegesKezeloiSzint[Convert.ToInt32(KezeloiSzint)].Contains("Rendszergazda"))) HozferJog = HozferJogosultsag.Irolvas; else { HozferJog = HozferJogosultsag.Csakolvas; Tabinfo.HozferJog = HozferJogosultsag.Csakolvas; } } } if (Tabinfo.HozferJog == HozferJogosultsag.Irolvas && Tabinfo.Szint == "C") HozferJog = HozferJogosultsag.Irolvas; if (HozferJog == HozferJogosultsag.Irolvas && Tabinfo.HozferJog == HozferJogosultsag.Irolvas) { if (!valtozasnaplouserlog) { AktivPage.Text += " karbantartása"; dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; } else { HozferJog = Tabinfo.HozferJog; AktivPage.Text += " áttekintése"; //if (valtozasnaplouserlog) // dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader; //else // dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } } else { AktivPage.Text += " áttekintése"; //if (valtozasnaplouserlog) // dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader; //else // dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } if (HozferJog != HozferJogosultsag.Irolvas) toolStrip1.Visible = false; else toolStrip1.Visible = true; DataView = Tabinfo.DataView; Inputtabla = Tabinfo.Inputtabla; InputColumns = Tabinfo.InputColumns; TablaColumns = Tabinfo.TablaColumns; KiegColumns = Tabinfo.KiegColumns; Tabinfo.AktualControlInfo = FakUserInterface.ControlTagokTolt(this, panel2, ref Tabinfo, AktivPage, AktivMenuItem, AktivDropDownItem); MezoControlInfok[0] = Tabinfo.AktualControlInfo; UserControlInfo = FakUserInterface.Attach(this, Vezerles, ref Tabinfo, AktivPage, AktivMenuItem, AktivDropDownItem); dataGridView1.Dock = DockStyle.Fill; MezoControlInfok[0].UserControlInfo = UserControlInfo; Tabinfo.Modositott = false; if (!this.Name.Contains("Naptar")) Tabinfo.Tartalmaktolt(true); if (!UjTag) Tabinfo.ViewSorindex = savviewindex; else Tabinfo.ViewSorindex = Tabinfo.ViewSorindex; VerziobuttonokAllit(); if (!Beszurhat && !verzioe) sorrendcolindex = -1; else sorrendcolindex = Tabinfo.Adattabla.Columns.IndexOf(Tabinfo.SorrendColumn.ColumnName); UjTag = false; } }
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> /// 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); }
/// <summary> /// user hivhatja a feltetelek kiegeszitesere /// </summary> /// <param name="felttabla"></param> public virtual void Userfeltetelekkiegeszit(AdatTabla felttabla) { felttabla.Rows.Clear(); //DataRow dr = felttabla.NewRow(); //dr["AZONTIP"] = "T CTNEVEK"; //dr["MEZONEV"] = "NYILVCSOP"; //dr["RELACIO"] = "="; //dr["MASODIKELEM"] = "1.Nyilv.csop"; //dr["ESVAGY"] = "VAGY"; //felttabla.Rows.Add(dr); //dr = felttabla.NewRow(); //dr["AZONTIP"] = "T CTNEVEK"; //dr["MEZONEV"] = "NYILVCSOP"; //dr["RELACIO"] = "="; //dr["MASODIKELEM"] = "2.Nyilv.csop"; //felttabla.Rows.Add(dr); }
/// <summary> /// Masolatot keszit a megadott AdatTabla-rol /// </summary> /// <param name="origtable"> /// a masolando AdatTabla /// </param> /// <returns> /// a masolat /// </returns> private AdatTabla AdattablaCopy(AdatTabla origtable) { AdatTabla dt = new AdatTabla(origtable.TableName); foreach (DataColumn oldcol in origtable.Columns) { DataColumn egycol = new DataColumn(); egycol.ColumnName = oldcol.ColumnName; egycol.Caption = oldcol.Caption; egycol.ColumnMapping = oldcol.ColumnMapping; egycol.DataType = oldcol.DataType; egycol.MaxLength = oldcol.MaxLength; dt.Columns.Add(egycol); } for (int i = 0; i < origtable.Rows.Count; i++) { DataRow egyrow = dt.NewRow(); DataRow oldrow = origtable.Rows[i]; for (int j = 0; j < origtable.Columns.Count; j++) egyrow[j] = oldrow[j]; dt.Rows.Add(egyrow); } return dt; }
/// <summary> /// inicializalas /// </summary> public void OsszefinfoInit() { if (!InitKell) return; InitKell = false; TolteniKell=true; string[] modositottak = Fak.GetTartal(tabinfo, "SORSZAM", "MODOSITOTT_M", "1"); if(modositottak!=null) Fak.ForceAdattolt(tabinfo,true); string aktverid = tabinfo.AktVerzioId.ToString(); eredetiaktverid = aktverid; string oldverid = aktverid; Adattabla = tabinfo.Adattabla; szovcol = Adattabla.Columns.IndexOf("SZOVEG"); identcol = tabinfo.IdentityColumnIndex; if (szovcol == -1) { Adattabla.Columns.Add(new DataColumn("SZOVEG")); szovcol = Adattabla.Columns.IndexOf("SZOVEG"); } DataView = Adattabla.DataView; forditott = tabinfo.TablaTag.Forditott; azontip1 = tabinfo.Azontip1; azontip2 = tabinfo.Azontip2; if (azontip1.Contains("SZRM")) { keresoszint1 = azontip1.Substring(4, 1); keresotablanev1 = azontip1.Substring(5); } if (azontip2.Contains("SZRM")) { keresoszint2 = azontip2.Substring(4, 1); keresotablanev2 = azontip2.Substring(5); } if (keresoszint1 == "") tabinfo1 = Fak.Tablainfok.GetByAzontip(azontip1); else tabinfo1 = Fak.Tablainfok.GetBySzintPluszTablanev(keresoszint1, keresotablanev1).LeiroTablainfo; if (tabinfo1 != null) { Adattabla1 = tabinfo1.Adattabla; DataView1 = Adattabla1.DataView; eredetiaktverid1 = tabinfo1.AktVerzioId.ToString(); aktverid1 = eredetiaktverid1; if (keresoszint2 == "") tabinfo2 = Fak.Tablainfok.GetByAzontip(azontip2); else { tabinfo2 = Fak.Tablainfok.GetBySzintPluszTablanev(keresoszint2, keresotablanev2); if (tabinfo2 != null) tabinfo2 = tabinfo2.LeiroTablainfo; } if (tabinfo2 != null) { Adattabla2 = tabinfo2.Adattabla; DataView2 = Adattabla2.DataView; eredetiaktverid2 = tabinfo2.AktVerzioId.ToString(); aktverid2 = eredetiaktverid2; } if (DataView.Count != 0) { string col1n = "VERZIO_ID1"; string col2n = "VERZIO_ID2"; aktverid1 = DataView[0].Row[col1n].ToString(); if (tabinfo.Adatfajta != "S" && tabinfo2!=null) if (tabinfo2.KellVerzio) aktverid2 = DataView[0].Row[col2n].ToString(); } } }