Example #1
0
        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();
            }
        }
Example #2
0
        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);

        }
Example #3
0
 /// <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);
 }
Example #4
0
 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;
 }
Example #5
0
 /// <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);
 }