Пример #1
0
 /// <summary>
 /// Tablainformacio adattabla azon sorainak id-tombjet kivanjuk, melyek a szuresnek megfelelnek
 /// </summary>
 /// <param name="tabinfo">
 /// A kivant tablainformacio
 /// </param>
 /// <param name="szures">
 /// a parameter object[] egy eleme:
 /// new object{string columnneve,string kivant tartalom}
 /// </param>
 /// <returns>
 /// a szuresnek megfelelo id-tomb vagy null
 /// </returns>
 public string[] GetSzurtTabinfoIdk(Tablainfo tabinfo, object[] szures)
 {
     DataRow[] rows = tabinfo.Find(szures);
     ArrayList ar = new ArrayList();
     int idindex = tabinfo.IdentityColumnIndex;
     for (int i = 0; i < rows.Length; i++)
         ar.Add(rows[i][idindex].ToString());
     if (ar.Count == 0)
         return null;
     return (string[])ar.ToArray(typeof(string));
 }
Пример #2
0
 /// <summary>
 /// Rogzites 
 /// </summary>
 public virtual void Rogzit()
 {
     savviewindex = Tabinfo.ViewSorindex;
     if (!Leiroe && Tabinfo.Tablanev == "TARTAL" && FakUserInterface.Adatszintek.Contains(Tabinfo.Szint))
     {
         tartalinfo = FakUserInterface.GetByAzontip("SZRMTARTAL");
         if (tartalinfo.AktVerzioId != tartalinfo.LastVersionId)
         {
             tartalinfo.AktVerzioId = tartalinfo.LastVersionId;
             tartalinfo.Adattabla.Select();
         }
         string funkcio;
         if (tartalinfo.LezartVersion)
             tartalinfo.CreateNewVersion();
         for (int i = 0; i < Tabinfo.DataView.Count; i++)
         {
             funkcio = "MODIFY";
             DataRow dr = Tabinfo.DataView[i].Row;
             string tablanev = dr["TABLANEV"].ToString();
             string kodtipus = "SZRM" + Tabinfo.Szint + tablanev;
             DataRow ujsor = tartalinfo.Find("KODTIPUS", Tabinfo.Szint + tablanev);
             string owner = dr["OWNER"].ToString();
             string userek = dr["USEREK"].ToString();
             if (ujsor == null)
             {
                 ujsor = tartalinfo.Ujsor();
                 funkcio = "ADD";
             }
             string savsort = tartalinfo.DataView.Sort;
             tartalinfo.DataView.Sort = "KODTIPUS";
             int viewind = tartalinfo.ViewSorindex;
             bool modositott = false;
             if (funkcio == "ADD")
             {
                 ujsor[tartalinfo.Kodtipuscol] = Tabinfo.Szint + tablanev;
                 ujsor[tartalinfo.Azontipcol] = kodtipus;
                 ujsor[tartalinfo.Szovegcol] = dr["SZOVEG"].ToString() + " tábla mezöi";
                 ujsor[tartalinfo.Azontip1col] = Tabinfo.Szint + tablanev;
                 ujsor["OWNER"] = owner;
                 ujsor["USEREK"] = userek;
                 ujsor["SORREND"] = dr["SORREND"].ToString();
                 tartalinfo.ViewSorindex = tartalinfo.DataView.Find((object)(Tabinfo.Szint + tablanev));
                 modositott = true;
             }
             else
             {
                 tartalinfo.ViewSorindex = tartalinfo.DataView.Find((object)(Tabinfo.Szint + tablanev));
                 if (ujsor[tartalinfo.Kodtipuscol].ToString() != Tabinfo.Szint + tablanev)
                 {
                     ujsor[tartalinfo.Kodtipuscol] = Tabinfo.Szint + tablanev;
                     ujsor[tartalinfo.Azontip1col] = Tabinfo.Szint + tablanev;
                     modositott = true;
                 }
                 if (ujsor[tartalinfo.Azontipcol].ToString() != kodtipus)
                 {
                     ujsor[tartalinfo.Azontipcol] = kodtipus;
                     modositott = true;
                 }
                 if (ujsor[tartalinfo.Szovegcol].ToString() != dr["SZOVEG"].ToString() + " tábla mezöi")
                 {
                     ujsor[tartalinfo.Szovegcol] = dr["SZOVEG"].ToString() + " tábla mezöi";
                     modositott = true;
                 }
                 if (ujsor["OWNER"].ToString() != owner)
                 {
                     ujsor["OWNER"] = owner;
                     modositott = true;
                 }
                 if (ujsor["USEREK"].ToString() != userek)
                 {
                     ujsor["USEREK"] = userek;
                     modositott = true;
                 }
                 if (ujsor["SORREND"].ToString() != dr["SORREND"].ToString())
                 {
                     ujsor["SORREND"] = dr["SORREND"];
                     modositott = true;
                 }
             }
             if (modositott)
             {
                 tartalinfo.Modositott = true;
                 FakUserInterface.ValtoztatasFunkcio = funkcio;
                 tartalinfo.ValtozasNaplozas(ujsor);
                 tartalinfo.DataView.Sort = savsort;
                 tartalinfo.ViewSorindex = viewind;
             }
         }
         FakUserInterface.Rogzit(Tabinfo);
     }
     else
         FakUserInterface.Rogzit(new Tablainfo[] { Tabinfo });
     rogzit.Enabled = false;
     if (DataView.Count == 0)
         Tabinfo.ViewSorindex = -1;
     else if (savviewindex < DataView.Count)
         Tabinfo.ViewSorindex = savviewindex;
     else
         Tabinfo.ViewSorindex = 0;
     SetSelectedRow(Tabinfo.ViewSorindex);
     if (verzioe)
     {
         Verzioinfok verinf = FakUserInterface.VerzioInfok[Tabinfo.Szint];
         string conn = verinf.AktualConnection;
         ValtozasBeallit("Verziovaltozas");
         FakUserInterface.Versiontolt(Tabinfo.Szint, conn);
         VerziobuttonokAllit();
     }
     if (Tabinfo.Tablanev == "LEIRO")
     {
         UjTag = true;
         this.AltalanosInit();
     }
     if (KarbantartoPage != null && KarbantartoPage.Controls.Count!=0)
     {
         try
         {
             Alap karbantarto = (Alap)KarbantartoPage.Controls[0];
             if (!karbantarto.Modositott)
             {
                 karbantarto.UjTag = true;
                 karbantarto.AltalanosInit();
             }
         }
         catch
         {
             Listatervalap karbantarto = (Listatervalap)KarbantartoPage.Controls[0];
             if (!karbantarto.Modositott)
             {
                 karbantarto.UjTag = true;
                 karbantarto.AltalanosInit();
             }
         }
     }
     RogzitesUtan();
 }
Пример #3
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();
            }
        }
Пример #4
0
        public bool Bejeltolt()
        {
            int k;
            DataRow rgazdarow;
            FakUserInterface.ProgressRefresh();
            kezeloinfo = FakUserInterface.GetBySzintPluszTablanev("U", "KEZELOK");
            kezalkalminfo = FakUserInterface.GetOsszef("U", "KezeloAlkalm");
            rendszergazdainfo = FakUserInterface.GetBySzintPluszTablanev("U", "RENDSZERGAZDA");
            if (KezalkalmUpdateKell)
            {
                DataRow row = kezalkalminfo.Ujsor();
                row["PREV_ID2"] = alkid;
                row["SORSZAM2"] = alkid;
                row["PREV_ID1"] = Rgazdaid;
                row["SORSZAM1"] = Rgazdaid;
                FakUserInterface.Rogzit(kezalkalminfo);
                KezalkalmUpdateKell = false;
            }
            else if (Rgazdaid=="-1")
            {
                DataRow row = kezeloinfo.Ujsor();
                row["SZOVEG"] = Nev;
                row["JELSZO"] = jelszo;
                FakUserInterface.Rogzit(kezeloinfo);
                Kezeloid = kezeloinfo.DataView[0].Row["KEZELO_ID"].ToString();
                row = kezalkalminfo.Ujsor();
                row["PREV_ID2"] = alkid;
                row["SORSZAM2"] = alkid;
                row["PREV_ID1"] = Kezeloid;
                row["SORSZAM1"] = Kezeloid;
                FakUserInterface.Rogzit(kezalkalminfo);
                rgazdarow = rendszergazdainfo.Ujsor();
                rgazdarow["RENDSZERGAZDA_ID"] = Kezeloid;
                FakUserInterface.Rogzit(rendszergazdainfo);
            }
            rgazdarow = rendszergazdainfo.DataView[0].Row;
            Rgazdaid = rgazdarow["RENDSZERGAZDA_ID"].ToString();
            if (Kezeloid != "-1")
            {
                DataRow row = kezeloinfo.Find("KEZELO_ID", Kezeloid);
                string oldjelszo = row["JELSZO"].ToString();
                string newjelszo = "";
                if (oldjelszo == "")
                    newjelszo = jelszo;
                else if (oldjelszo != jelszo)
                    newjelszo = ujjelszo;
                if (newjelszo != "")
                {
                    row["JELSZO"] = newjelszo;
                    kezeloinfo.Modositott = true;
                    FakUserInterface.Rogzit(kezeloinfo);
                }
            }
            CsakEgyKezelo = KezeloIdkArray.Count < 2;
            Tablainfo ceginfo = FakUserInterface.Tablainfok.GetBySzintPluszTablanev("U", "CEGEK");
            DataView cegDataView = new DataView(ceginfo.Adattabla);
            cegDataView.Sort = "CEG_ID";
            string cegid;
            ArrayList ceginformacioarray = new ArrayList();
            ArrayList lezartceginformacioarray = new ArrayList();
            ArrayList aktceginformacioarray = new ArrayList();
            DataRow dr;
            DateTime aktualisdatum = DateTime.MinValue;
            DateTime indulodatum = DateTime.MinValue;
            string vegedatumstring = "";
            bool lezartceg = false;
            bool lezartev = false;
            cegszerzinfo = FakUserInterface.GetBySzintPluszTablanev("C", "CEGSZERZODES");
            cegkezszerepinfo = FakUserInterface.GetBySzintPluszTablanev("C", "CEGKEZELOKIOSZT");
            Tablainfo cegverzio = FakUserInterface.GetBySzintPluszTablanev("C", "CVERSION");
            Tablainfo[] infok = new Tablainfo[] { cegszerzinfo, cegkezszerepinfo,cegverzio };
            for (int i = 0; i < cegDataView.Count; i++)
            {
                FakUserInterface.ProgressRefresh();
                dr = cegDataView[i].Row;
                cegid = dr["CEG_ID"].ToString();
                string conn = dr["CEGCONNECTION"].ToString();
                if(cegconok.IndexOf(conn)!=-1)
                {
                    FakUserInterface.AktualCegid = Convert.ToInt64(cegid);
                    FakUserInterface.AktualCegconn = conn;
                    Sqlinterface.Cegconn(conn);
                    for (int j = 0; j < infok.Length; j++)
                    {
                        FakUserInterface.ProgressRefresh();
                        infok[j].Adattabla.Connection = conn;
                        infok[j].Adattabla.Select();
                    }
                    cegszerzinfo.DataView.RowFilter = "CEG_ID = " + cegid + " AND " + "ALKALMAZAS_ID = " + alkid;
                    DataRow row;
                    indulodatum = UjcegIndulodatum;
                    aktualisdatum = indulodatum;
                    if (cegszerzinfo.DataView.Count == 0)
                    {
                        FakUserInterface.ProgressRefresh();
                        row = cegszerzinfo.Ujsor();
                        row["ALKALMAZAS_ID"] = alkid;
                        row["INDULODATUM"] = indulodatum;
                        row["AKTUALISDATUM"] = indulodatum;
                        row["MODOSITOTT_M"] = "1";
                        aktualisdatum = indulodatum;
                    }
                    else
                    {
                        row = cegszerzinfo.DataView[0].Row;
                        indulodatum = Convert.ToDateTime(row["INDULODATUM"].ToString());
                        aktualisdatum = Convert.ToDateTime(row["AKTUALISDATUM"].ToString());
                        vegedatumstring = row["VEGEDATUM"].ToString();
                    
                    }
                    cegkezszerepinfo.DataView.RowFilter = "CEG_ID = " + cegid + " AND ALKALMAZAS_ID = " + alkid + " AND KEZELO_ID = " + Kezeloid;
                    if (cegkezszerepinfo.DataView.Count == 0)
                    {
                        FakUserInterface.ProgressRefresh();
                        row = cegkezszerepinfo.Ujsor();
                        row["ALKALMAZAS_ID"] = alkid;
                        row["KEZELO_ID"] = Kezeloid;
                        row["SZEREPKOD"] = "10"; // semmi
                    }
                    row = cegverzio.DataView[0].Row;
                    DateTime datumtol = Convert.ToDateTime(row["DATUMTOL"].ToString());
                    if (indulodatum.CompareTo(datumtol) != 0)
                    {
                        row["DATUMTOL"] = indulodatum;
                        row["MODOSITOTT_M"] = 1;
                        cegverzio.Modositott = true;
                    }
                    cegkezszerepinfo.DataView.RowFilter = "";
                    FakUserInterface.ProgressRefresh();
                    FakUserInterface.Rogzit(infok);
                }
            }
            for (int i = 0; i < cegDataView.Count; i++)
            {
                FakUserInterface.ProgressRefresh();
                dr = cegDataView[i].Row;
                cegid = dr["CEG_ID"].ToString();
                string conn = dr["CEGCONNECTION"].ToString();
                if (cegconok.IndexOf(conn) != -1)
                {
                    Sqlinterface.Cegconn(conn);
                    FakUserInterface.AktualCegid = Convert.ToInt64(cegid);
                    FakUserInterface.AktualCegconn = conn;
                    for (int j = 0; j < infok.Length; j++)
                    {
                        FakUserInterface.ProgressRefresh();
                        infok[j].Adattabla.Connection = conn;
                        infok[j].Adattabla.Select();
                    }
                    cegszerzinfo.DataView.RowFilter = "CEG_ID = " + cegid + " AND " + "ALKALMAZAS_ID = " + alkid;
                    DataRow szerzrow = cegszerzinfo.DataView[0].Row;
                    cegkezszerepinfo.DataView.RowFilter = "CEG_ID = " + cegid + " AND ALKALMAZAS_ID = " + alkid + " AND KEZELO_ID = " + Kezeloid;
                    DataRow kezrow = cegkezszerepinfo.DataView[0].Row;
                    cegkezszerepinfo.DataView.RowFilter = "";
                    int szerep = Convert.ToInt16(kezrow["SZEREPKOD"].ToString());
                    bool vanhozfer = CsakEgyKezelo || Kezeloid == Rgazdaid || szerep != (int)Base.KezSzint.Semmi;
                    if (Kezeloid == Rgazdaid) // && szerep == (int)Base.KezSzint.Semmi)
                        CsakEgyKezelo = false;
                    if (vanhozfer)
                    {
                        adatkezeloid = "-1";
                        if (szerep == (int)Base.KezSzint.Kezelo || szerep == (int)Base.KezSzint.Kiemeltkezelopluszkezelo)
                            adatkezeloid = Kezeloid;
                        vezetoid = "-1";
                        if (szerep == (int)Base.KezSzint.Vezeto)
                            vezetoid = Kezeloid;
                        kiemeltkezeloid = "-1";
                        if (szerep == (int)Base.KezSzint.Kiemeltkezelo || szerep == (int)Base.KezSzint.Kiemeltkezelopluszkezelo)
                            kiemeltkezeloid = Kezeloid;
                        indulodatum = Convert.ToDateTime(szerzrow["INDULODATUM"].ToString());
                        aktualisdatum = Convert.ToDateTime(szerzrow["AKTUALISDATUM"].ToString());
                        vegedatumstring = szerzrow["VEGEDATUM"].ToString();
                        if (vegedatumstring != "")
                            vegedatum = Convert.ToDateTime(vegedatumstring);
                        else
                            vegedatum = DateTime.MaxValue;
                        lezartceg = vegedatum.CompareTo(DateTime.Today) < 0;
                        k = cegDataView.Find(cegid);
                        if (!lezartceg)
                            aktceginformacioarray = ceginformacioarray;
                        else
                            aktceginformacioarray = lezartceginformacioarray;
                        if (FakUserInterface.BajVan)
                            return true;
                        FakUserInterface.ProgressRefresh();
                        Ceginformaciok ujceginfo = Ujceginformacio(ceginfo.Adattabla.Rows[k], k, cegid, Kezeloid, Rgazdaid, indulodatum, aktualisdatum, lezartceg, lezartev);
                        bool ok = true;
                        if (MainAlap != null)
                            ok = MainAlap.AlkalmazasKiegTolt(ujceginfo);
                        if (ok)
                            aktceginformacioarray.Add(ujceginfo);
                    }
                }
            }
            AktivCegInformaciok = null;
            LezartCegInformaciok = null;
//            string[] userparamok = null;
            if (ceginformacioarray.Count == 0 && lezartceginformacioarray.Count == 0)
            {
                FakUserInterface.CloseProgress();
                FakPlusz.MessageBox.Show("  Nincs hozzáférése!\nSzóljon a rendszergazdának!");
                return true;
            }
            DataTable userlogtable;
            Ceginformaciok ceginf;
            if (ceginformacioarray.Count != 0)
            {
                FakUserInterface.ProgressRefresh();
                CegNevek = new string[ceginformacioarray.Count];
                CegIdk = new string[ceginformacioarray.Count];
                for (int i = 0; i < ceginformacioarray.Count; i++)
                {
                    ceginf = (Ceginformaciok)ceginformacioarray[i];
                    CegNevek[i] = ceginf.CegNev;
                    CegIdk[i] = ceginf.CegId;
                    userlogtable = new DataTable("USERLOG");
                    Sqlinterface.Select(userlogtable, FakUserInterface.Userconn, "USERLOG", " where ALKALMAZAS_ID=" + alkid + " AND CEG_ID= " + CegIdk[i] + " AND KEZELO_ID = " + Kezeloid, " order by LAST_MOD DESC", true);
                    if (userlogtable.Rows.Count == 0)
                        ceginf.UserLogsor = null;
                    else
                        ceginf.UserLogsor = userlogtable.Rows[0];
                }
                AktivCegInformaciok = (Ceginformaciok[])ceginformacioarray.ToArray(typeof(Ceginformaciok));
                AktualCegInformaciok = AktivCegInformaciok;
                AktualCegInformacio = AktivCegInformaciok[0];
                LezartCeg = false;
            }
            if (lezartceginformacioarray.Count != 0)
            {
                FakUserInterface.ProgressRefresh();
                LezartCegNevek = new string[lezartceginformacioarray.Count];
                LezartCegIdk = new string[lezartceginformacioarray.Count];
                for (int i = 0; i < lezartceginformacioarray.Count; i++)
                {
                    ceginf = (Ceginformaciok)lezartceginformacioarray[i];
                    LezartCegNevek[i] = ceginf.CegNev;
                    LezartCegIdk[i] = ceginf.CegId;
                    userlogtable = new DataTable("USERLOG");
                    Sqlinterface.Select(userlogtable, FakUserInterface.Userconn, "USERLOG", " where ALKALMAZAS_ID=" + alkid + " AND CEG_ID= " + LezartCegIdk[i] + " AND KEZELO_ID = " + Kezeloid, " order by LAST_MOD DESC", true);
                    if (userlogtable.Rows.Count == 0)
                        ceginf.UserLogsor = null;
                    else
                        ceginf.UserLogsor = userlogtable.Rows[0];
                }
                LezartCegInformaciok = (Ceginformaciok[])lezartceginformacioarray.ToArray(typeof(Ceginformaciok));
                if (AktivCegInformaciok == null)
                {
                    AktualCegInformaciok = LezartCegInformaciok;
                    AktualCegInformacio = LezartCegInformaciok[0];
                    LezartCeg = true;
                }
            }
            if (elso)
            {
                FakUserInterface.ProgressRefresh();
                elso = false;
                bool megvan = false;
                int pos = -1;
                Tablainfo logtabinfo = FakUserInterface.GetBySzintPluszTablanev("U", "USERLOG");
                logtabinfo.Adattabla.Select();
                logtabinfo.DataView.RowFilter = "KEZELO_ID=" + Kezeloid + " AND ALKALMAZAS_ID =" + alkid;
                if (logtabinfo.DataView.Count != 0)
                {
                    DataRow row = logtabinfo.DataView[0].Row;
                    cegid = row["CEG_ID"].ToString();
                    UserContnev = row["USERCONTNEV"].ToString();
                    Parametertipus = Convert.ToInt16(row["PARAMETERTIPUS"].ToString());
                    UserParamok = row["USERPARAMOK"].ToString();
                    if (AktivCegInformaciok != null)
                    {
                        pos = (new ArrayList(CegIdk)).IndexOf(cegid);
                        if (pos != -1)
                        {
                            megvan = true;
                            AktualCegInformaciok = AktivCegInformaciok;
                            AktualCegInformacio = AktualCegInformaciok[pos];
                            LezartCeg = false;
                        }
                    }
                    if (!megvan && LezartCegInformaciok != null)
                    {
                        pos = (new ArrayList(LezartCegIdk)).IndexOf(cegid);
                        if (pos != -1)
                        {
                            megvan = true;
                            AktualCegInformaciok = LezartCegInformaciok;
                            AktualCegInformacio = LezartCegInformaciok[pos];
                            LezartCeg = true;
                        }
                    }
                }
                else
                {
                    cegid = AktualCegInformacio.CegId;
                    UserContnev = "";
                }
                logtabinfo.Adattabla.Rows.Clear();

                //for (int i = 0; i < CegInformaciok.Length; i++)
                //{
                //    FakUserInterface.ProgressRefresh();
                //    if (CegInformaciok[i].CegId == cegid)
                //    {
                //        megvan = true;
                //        AktualCeginformacio = CegInformaciok[i];
                //        AktualCegindex = AktualCeginformacio.Cegindex;
                //        //                        AktualComboIndex = i;
                //        AktivCegInformacio = AktualCeginformacio;
                //        AktivCegInformaciok = CegInformaciok;
                //        LezartCeg = false;
                //        break;

                //    }
                //}
                //if (!megvan)
                //{
                //    if (LezartCegInformaciok != null)
                //    {
                //        for (int i = 0; i < LezartCegInformaciok.Length; i++)
                //        {
                //            FakUserInterface.ProgressRefresh();
                //            if (LezartCegInformaciok[i].CegId == cegid)
                //            {
                //                AktualCeginformacio = LezartCegInformaciok[i];
                //                AktualCegindex = AktualCeginformacio.Cegindex;
                //                //                                AktualComboIndex = i;
                //                AktivCegInformacio = AktualCeginformacio;
                //                AktivCegInformaciok = LezartCegInformaciok;
                //                LezartCeg = true;
                //                megvan = true;
                //                break;
                //            }
                //        }
                //    }
                //}
                if (!megvan)
                {
                    UserParamok = "";
                    Parametertipus = 0;
//                    AktualCeginformacio = AktivCegInformacio;
                    LezartCeg = AktualCegInformacio.LezartCeg;
                }
                logtabinfo.DataView.RowFilter = "";
            }
            //if(ceginfo.Adattabla.Rows.Count>1)
            //    FakUserInterface.Cegadatok(0);
            return false;
        }