Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        public override void AltalanosInit()
        {
            DataRow row = null;
            string maxev = "";
            if (!FakUserInterface.EventTilt)
            {
                if (TablainfoTag.Tablainfo.InputColumns.Count < 33)
                {
                    this.Visible = false;
                    Parameterez.Visible = false;
                    MessageBox.Show("A leirótáblában kevés az input-mezö!");
                    return;
                }
                if (parameterpage == null)
                    parameterpage = (TabPage)Parameterez.tabControl1.Controls[0];
                ArrayList valtozasok = ValtozasLekerdez();
                bool cegvaltozas = ValtozasLekerdez("CegValtozas").Count != 0;
                bool ujtag = UjTag;
                if (valtozasok.Count != 0)
                {
                    FakUserInterface.EventTilt = true;
                    this.Visible = false;
                    FakUserInterface.EventTilt = false;
                }
                if (ujtag || valtozasok.Count != 0 || Valtozas)
                {
                    UjTag = true;
                    base.AltalanosInit();
                    naptarkodtipusinfo = FakUserInterface.GetKodtab("R", "Naptarfajta");
                    napfajtakinfo = FakUserInterface.GetKodtab("R", "NAPFAJTA");
                    kodtipfajtainfo = FakUserInterface.GetOsszef("R", "Naptarkodtipnapfajta");
                    elszevkezdhoinfo = FakUserInterface.GetKodtab("R", "Evkezdet");
                    tanevkezdhoinfo = FakUserInterface.GetKodtab("R", "Tanevkezdet");
                    kodtipkezdhoinfo = FakUserInterface.GetCsoport(Tabinfo.Szint, "Naptarkodtipkezdho");
                    kodtipkezdtanevhoinfo = FakUserInterface.GetCsoport(Tabinfo.Szint, "Naptarkodtiptanevkezdho");
                    szurtnapfajtainfo = FakUserInterface.GetKodtab("R", "Szurtnapfajta");
                    szurtnapfajtainfo.TeljesTorles();
                    kodtipus = Tabinfo.Kodtipus;
                    string kodtipid = FakUserInterface.GetTartal(naptarkodtipusinfo, "SORSZAM", "SZOVEG", kodtipus)[0];
                    string kezdhoid = "";
                    string[] idk = FakUserInterface.GetTartal(kodtipkezdhoinfo, "SORSZAM2", "SORSZAM1", kodtipid);
                    if(idk!=null)
                        kezdhoid = idk[0];
                    if (kezdhoid != "")
                    {
                        idk = FakUserInterface.GetTartal(elszevkezdhoinfo, "KOD", "SORSZAM", kezdhoid);
                        if (idk != null)
                            elszkezdho = Convert.ToInt16(idk[0]);
                    }
                    string tanevkezdhoid = "";
                    idk = FakUserInterface.GetTartal(kodtipkezdtanevhoinfo, "SORSZAM2", "SORSZAM1", kodtipid);
                    if(idk!=null)
                        tanevkezdhoid = idk[0];
                    if (tanevkezdhoid != "")
                    {
                        idk = FakUserInterface.GetTartal(tanevkezdhoinfo, "KOD", "SORSZAM",tanevkezdhoid);
                        if (idk != null)
                            tanevkezdho = Convert.ToInt16(idk[0]);
                    }
                    kodtipfajtainfo.DataView.RowFilter = "SORSZAM1 = " + kodtipid;
                    ArrayList ar = new ArrayList();
                    for (int i = 0; i < kodtipfajtainfo.DataView.Count; i++)
                    {
                        row = kodtipfajtainfo.DataView[i].Row;
                        string napfajtaid = row["SORSZAM2"].ToString();
                        napfajtakinfo.DataView.RowFilter = "SORSZAM = " + napfajtaid;
                        string sorrend = napfajtakinfo.DataView[0].Row["SORREND"].ToString();
                        bool ins = false;
                        for (int j = 0; j < ar.Count; j++)
                        {
                            string egysorr = ar[j].ToString();
                            if (sorrend.CompareTo(egysorr) < 0)
                            {
                                ar.Insert(j, sorrend);
                                ins = true;
                                break;
                            }
                        }
                        if (!ins)
                            ar.Add(sorrend);
                    }
                    for (int i = 0; i < ar.Count; i++)
                    {
                        napfajtakinfo.DataView.RowFilter = "SORREND = " + ar[i].ToString();
                        row = napfajtakinfo.DataView[0].Row;
                        string kod = row["KOD"].ToString();
                        string szov = row["SZOVEG"].ToString();
                        if (i == 0)
                            munkanapkezdobetu = kod;
                        DataRow ujsor = szurtnapfajtainfo.Ujsor();
                        ujsor["KOD"] = kod;
                        ujsor["SZOVEG"] = szov;
                    }
                    
                    kodtipfajtainfo.DataView.RowFilter = "";
                    napfajtakinfo.DataView.RowFilter = "";
                    FakUserInterface.Rogzit(szurtnapfajtainfo);
                }
                Kodidcol=Tabinfo.TablaColumns["KOD_ID"];
                if (elszkezdho != 1)
                    evparamcol = Kodidcol;
                else
                    evparamcol = Tabinfo.TablaColumns["EV"];
                Cols elsonapcol = Tabinfo.TablaColumns["N01"];
                if(ValasztekIndex==-1)
                    ValasztekIndex=0;
                SajatHozferJog = Tabinfo.HozferJog;
                Tabinfo.DataView.RowFilter = "";
                if (SajatHozferJog!=Base.HozferJogosultsag.Irolvas && Tabinfo.DataView.Count == 0)
                {
                    Parameterez.Visible = false;
                    this.Visible = false;
                    FakPlusz.MessageBox.Show("Nincs adat!");
                    return;
                }
                Tablainfo cegszerz = FakUserInterface.GetBySzintPluszTablanev("C", "CEGSZERZODES");
                string indulodatum = "";
                string aktualdatum = "";
                bool vanadat = Tabinfo.DataView.Count != 0;
                if (!Tervezoe)
                {
                    string savfilt = cegszerz.DataView.RowFilter;
                    cegszerz.DataView.RowFilter = "ALKALMAZAS_ID=" + FakUserInterface.AlkalmazasId;
                    row = cegszerz.DataView[0].Row;
                    indulodatum = row["INDULODATUM"].ToString();
                    aktualdatum = row["AKTUALISDATUM"].ToString();
                    maxev = aktualdatum.Substring(0, 4);
                    cegszerz.DataView.RowFilter = savfilt;
                    Datumtol = Convert.ToDateTime(indulodatum);
                    Datumig = Convert.ToDateTime(aktualdatum);
                    Tabinfo.DataView.RowFilter = "KOD_ID = '" + maxev + "'";
                    vanadat = Tabinfo.DataView.Count != 0;
                    Tabinfo.DataView.RowFilter = "";
                }
                if(ujtag || cegvaltozas)
                {
                    if (!vanadat)
                    {
                        Verzioinfok verinf = FakUserInterface.VerzioInfok["R"];
                        if (Tabinfo.Szint=="R")
                        {
                            Datumtol = verinf.AktIntervallum[0];
                            ev = verinf.AktIntervallum[0].Year;
                            Evgyart(ev);
                            vanadat = true;
                        }
                        else
                        {
                            if (FakUserInterface.Alkalmazas == "TERVEZO")
                            {
                                Parameterez.Visible = false;
                                return;
                            }
//                            Tablainfo cegszerz = FakUserInterface.GetBySzintPluszTablanev("C", "CEGSZERZODES");
//                            cegszerz.DataView.RowFilter = "ALKALMAZAS_ID=" + FakUserInterface.AlkalmazasId;
 //                           DataRow row = cegszerz.DataView[0].Row;
                            //Datumtol = Convert.ToDateTime(row["INDULODATUM"].ToString());
                            ev = Convert.ToInt32(maxev);
                            Evgyart(ev);
                            vanadat = true;
                            //if (Muszaknaptar)
                            //{
                            //    muszaknaptarrendben = Muszaknaptargyart(Datumtol);
                            //    if (!muszaknaptarrendben)
                            //    {
                            //        Parameterez.Visible = false;
                            //        return;
                            //    }
                            //}
                        }
                    }
                    string evstring = "";
                    if (vanadat && Tervezoe)
                    {
                        evstring = Tabinfo.DataView[0].Row[evparamcol.ColumnName].ToString();
                        ev = Convert.ToInt32(evstring);
                        Datumtol = Convert.ToDateTime(evstring + ".01.01");
                        Datumig = DateTimePicker.MaximumDateTime;

                        if (SajatHozferJog != Base.HozferJogosultsag.Irolvas)
                        {
                            evstring = Tabinfo.DataView[Tabinfo.DataView.Count - 1].Row[evparamcol.ColumnName].ToString();
                            Datumig = Convert.ToDateTime(evstring + ".01.01");
                            if (SajatHozferJog == Base.HozferJogosultsag.Irolvas)
                                Datumig = Datumig.AddYears(1);
                        }
                        else
                        {
                            
                        }
                    }
                    if (VanValasztek)
                        Parameterez.ValasztekParameterekInit();
                    DateTime[] mindatum = new DateTime[1];
                    DateTime[] maxdatum = new DateTime[1];
                    DateTime[] alapertdatum = new DateTime[1];
                    DateTime[] aktdatum = new DateTime[1];
                    aktdatum[0] = Datumtol;
                    for (int i = 0; i < mindatum.Length; i++)
                    {
                        mindatum[i] = Datumtol;
                        maxdatum[i] = Datumig;
                        alapertdatum[i] = Datumtol;
                    }
                    int savwidth = dataGridView2.Columns[1].Width;

                    DatumParameterezInit(mindatum, maxdatum, alapertdatum, aktdatum);
                    dataGridView2.Columns[1].Width = savwidth;
                }
                ev = Datumtol.Year;
                Parameterez.Visible = true;
                Tabinfo.DataView.RowFilter = evparamcol.ColumnName +"= " + ev.ToString();
                if (SajatHozferJog != Base.HozferJogosultsag.Irolvas)
                {
                    if (Tabinfo.DataView.Count == 0)
                    {
                        Parameterez.Visible = false;
                        FakPlusz.MessageBox.Show("Nincs adat!");
                        return;
                    }
                }
                if (Valtozas)
                {
                    if (Tabinfo.DataView.Count == 0)
                    {
                        Tabinfo.DataView.RowFilter = "";
                        int maxev1 = Convert.ToInt32(Tabinfo.DataView[Tabinfo.DataView.Count - 1].Row[evparamcol.ColumnName].ToString());
                        for (int i = maxev1 + 1; i <= ev; i++)
                            Evgyart(i);
                        Tabinfo.DataView.RowFilter = evparamcol.ColumnName + "=" + ev.ToString();
                    }
                    Tabinfo.Tartalmaktolt();
                    ((Formvezerles)Hivo).terv.WriteLoginfo();
                }
                if (Parameterez.tabControl1.SelectedIndex == 1)
                    this.Visible = true;
                if (this.Visible)
                {
                    for (int i = 0; i < Tabinfo.DataView.Count; i++)
                    {
                        Tempcellini1();
                    }
                }
                if (ujtag || valtozasok.Count != 0 || DatumValtozas || ValasztekValtozas)
                    Tabinfo.ViewSorindex = 0;
                else
                {
                    Tabinfo.Tartalmaktolt();
                    Tabinfo.ViewSorindex = Tabinfo.ViewSorindex;
                }
                if (Valtozas)
                {
                    ValtozasokTorlese();
                    Parameterez.ValtozasokTorlese();
                }
                Inputtablaba();
            }
            else
            {
                UjTag = false;
                ValtozasTorol();
            }
        }
Пример #2
0
        public override bool Ceginicializalas(int cegindex)
        {
            szarmazekospartnerinfo=FakUserInterface.GetByAzontip("SZCTPARTNER");
            szarmazekoskiegpartnerinfo=FakUserInterface.GetByAzontip("SZCTVEZIRPARTNER");
            partnergyokerinfo = UserParamTabla.TermCegPluszCegalattiTablainfok["PARTNERGYOKER"];
            FakUserInterface.Select(partnergyokerinfo.Adattabla, FakUserInterface.AktualCegconn,"PARTNERGYOKER", "", "",false);
            if (partnergyokerinfo.Adattabla.Rows.Count == 0)
            {
                DataRow row = partnergyokerinfo.Ujsor();
                FakUserInterface.Rogzit(partnergyokerinfo);
            }
                partnergyokerinfo.ViewSorindex = 0;
//                string gyokerid = partnergyokerinfo.AktIdentity.ToString();
//                FakUserInterface.AdattoltByAktid(partnergyokerinfo);
                FakUserInterface.OsszesAdattoltByParent("PARTNERGYOKER");
            

            alkalmnode.Nodes.Clear();
            beallitasnode.Nodes.Clear();
            userlognode.Nodes.Clear();
            modosithatonodeok.Nodes.Clear();
            cegszintunode.Nodes.Clear();
            if (UserParamTabla.UserHozferJogosultsag != Base.HozferJogosultsag.Semmi)
            {
                TreeView.Nodes.Add(alkalmnode);
                alkalmnode.Nodes.Add(beallitasnode);

                //Tablainfo tabinfo = FakUserInterface.GetBySzintPluszTablanev("U", "UVERSION");
                //ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                Tablainfo tabinfo = this.FakUserInterface.GetBySzintPluszTablanev("U", "CEGEK");
                ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                tabinfo = this.FakUserInterface.GetBySzintPluszTablanev("U", "KEZELOK");
                ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                tabinfo = this.FakUserInterface.GetOsszef("U", "KezeloAlkalm");
                ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                tabinfo = this.FakUserInterface.GetBySzintPluszTablanev("U", "RENDSZERGAZDA");
                ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                //if (KezeloiSzint != Base.KezSzint.Rendszergazda)
                //{
                    tabinfo = this.FakUserInterface.GetBySzintPluszTablanev("U", "BANKOK");
                    ujnodegyart(tabinfo.TablaTag.Node, beallitasnode);
                //}
                tabinfo = this.FakUserInterface.GetByAzontip("SZUKTARTAL");
                if (tabinfo.DataView.Count != 0)
                {
                    tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                    for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                        ujnodegyart(node, tartalnode);
                    }
                    modosithatonodeok.Nodes.Add(tartalnode);

                }
                if (modosithatonodeok.Nodes.Count != 0)
                    alkalmnode.Nodes.Add(modosithatonodeok);
                alkalmnode.Nodes.Add(userlognode);
                tabinfo = this.FakUserInterface.GetByAzontip("SZUTUSERLOG");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, userlognode);
                tabinfo = this.FakUserInterface.GetByAzontip("SZUTVALTOZASNAPLO");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, userlognode);
            }
            Cegindex = cegindex;
            LezartCeg = UserParamTabla.LezartCeg;
            KezeloiSzint = UserParamTabla.AktualKezeloiSzint;
            string kezszint = Convert.ToInt32(KezeloiSzint).ToString();
            HozferJog = UserParamTabla.AktualTermeszetesJogosultsag;
            if (HozferJog != Base.HozferJogosultsag.Semmi) // && ValtozasLekerdez().Count !=0)
                UserParamTabla.Infotolt();
            if (HozferJog == Base.HozferJogosultsag.Semmi || !UserParamTabla.MenuStripLathato && MenuPanel.Controls.Count != 0)
            {
                try
                {
                    TabControl c = (TabControl)MenuPanel.Controls[0];
                    FakUserInterface.RemoveAllControls(MenuPanel);
                }
                catch { };
            }
            menuStrip1.Visible = UserParamTabla.MenuStripLathato;
            for (int i = 0; i < Vezerles.ChildVezerloinfoCollection.Count; i++)
            {
                Vezerloinfo egyvez = Vezerles.ChildVezerloinfoCollection[i];
                egyvez.KezeloiSzint = KezeloiSzint;
                egyvez.HozferJog = HozferJog;
            }
            Datumtol = UserParamTabla.Datumtol;
            Datumig = UserParamTabla.Datumig;
            cegszintunode.Nodes.Clear();
            if (cegszintunode.Parent != null)
                TreeView.Nodes.Remove(cegszintunode);
            if (UserParamTabla.CegSzarmazekosJogosultsag != Base.HozferJogosultsag.Semmi)
            {
                cegszintunode.Text = UserParamTabla.AktualCegInformacio.CegNev;
                Tablainfo tabinfo = FakUserInterface.GetByAzontip("SZCKTARTAL");
                TreeNode tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                {
                    if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                        ujnodegyart(node, tartalnode);
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                tabinfo = FakUserInterface.GetByAzontip("SZCTTARTAL");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                {
                    Tablainfo egyinfo = tabinfo.TablaTag.ChildTablainfoTagok[i].Tablainfo;
                    string nev = egyinfo.Tablanev;
                    bool kell=true;
                    if(nev.StartsWith("PARTNER") && !UserParamTabla.Lehetpartner)
                        kell=false;
                    if (kell)
                    {
                        if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                        {
                            TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                            if (node.Text != "Kiajánlások" && node.Text != "Cégverziók")
                                ujnodegyart(node, tartalnode);
                        }
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                tabinfo = FakUserInterface.GetByAzontip("SZCOTARTAL");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.Node.Nodes.Count; i++)
                {
                    if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                        ujnodegyart(node, tartalnode);
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                tabinfo = FakUserInterface.GetByAzontip("SZCCTARTAL");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                {
                    if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node; //Node.Nodes[i];
                        ujnodegyart(node, tartalnode);
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                tabinfo = FakUserInterface.GetByAzontip("SZCSTARTAL");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                {
                    if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                        ujnodegyart(node, tartalnode);
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                tabinfo = FakUserInterface.GetByAzontip("SZCNTARTAL");
                tartalnode = ujnodegyart(tabinfo.TablaTag.Node, null);
                for (int i = 0; i < tabinfo.TablaTag.ChildTablainfoTagok.Count; i++)
                {
                    if (tabinfo.TablaTag.ChildTablainfoTagok[i].Azonositok.Jogszintek[(int)KezeloiSzint] != Base.HozferJogosultsag.Semmi)
                    {
                        TreeNode node = tabinfo.TablaTag.ChildTablainfoTagok[i].Node;
                        ujnodegyart(node, tartalnode);
                    }
                }
                if (tartalnode.Nodes.Count != 0)
                    cegszintunode.Nodes.Add(tartalnode);
                if (cegszintunode.Nodes.Count != 0)
                    TreeView.Nodes.Add(cegszintunode);
            }
            if (TreeView.Nodes.Count == 0)
                TreeView.Parent.Visible = false;
            else
                TreeView.Parent.Visible = true;
            if (UserParamTabla.UserParamok != "" && UserParamTabla.AktualVezerloControlNev == this.Name)
            {
                if (UserParamTabla.AktualControlNev != "")
                {
                    TabControl_Selecting(UserParamTabla.AktualMenuItemIndex, UserParamTabla.AktualDropItemIndex);
                    UserParamTabla.UserParamok = "";
                }
            }
            //for (int i = 0; i < Vezerles.ChildVezerloinfoCollection.Count; i++)
            //{
            //    Vezerloinfo alvez = Vezerles.ChildVezerloinfoCollection[i];
            //    ArrayList droparray = new ArrayList();
            //    ToolStripMenuItem[] dropok = (ToolStripMenuItem[])alvez.DropItemek[0];
            //    droparray = new ArrayList(dropok);
            //    alvez.SetMenuAlmenuItems(droparray);
            //}
            return true;
        }
Пример #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 void Kezeloszereprendberak(Tablainfo szerepinfo)
 {
     if (szerepinfo != null)
     {
         string savfilt = szerepinfo.DataView.RowFilter;
         string filt = "";
         Tablainfo kezalkalm = GetOsszef("U", "KezeloAlkalm");
         string[] idk = GetTartal(kezalkalm, "SORSZAM1");
         if (idk.Length < szerepinfo.Adattabla.Rows.Count)
         {
             foreach (string egyid in idk)
             {
                 if (filt != "")
                     filt += "AND ";
                 filt += "KEZELO_ID <> " + egyid;
             }
             szerepinfo.DataView.RowFilter = filt;
             for (int i = 0; i < szerepinfo.DataView.Count; i++)
             {
                 szerepinfo.ViewSorindex = i;
                 szerepinfo.Adatsortorol(i);
                 i = -1;
             }
             szerepinfo.DataView.RowFilter = savfilt;
         }
         if (idk.Length > 1)
         {
             for (int i = 0; i < idk.Length; i++)
             {
                 szerepinfo.DataView.RowFilter = "KEZELO_ID = " + idk[i];
                 bool van = szerepinfo.DataView.Count != 0;
                 szerepinfo.DataView.RowFilter = "";
                 if (!van)
                 {
                     DataRow row = szerepinfo.Ujsor();
                     row["CEG_ID"] = AktualCegid;
                     row["ALKALMAZAS_ID"] = AlkalmazasId;
                     row["KEZELO_ID"] = idk[i];
                     row["SZEREPKOD"] = "10";
                 }
             }
         }
         szerepinfo.DataView.RowFilter = savfilt;
         if (szerepinfo.Modositott)
             Rogzit(szerepinfo);
     }
 }
Пример #5
0
 /// <summary>
 /// Tabla sikeres update-je utan vegrehajtando funkciok
 /// </summary>
 /// <param name="tablainfo"></param>
 private void OkUpdateUtan(Tablainfo tablainfo)
 {
     string filter;
     string sort = "";
     string szint = "";
     if (tablainfo.Tablanev != "VALTOZASNAPLO" && tablainfo.Tablanev != "USERLOG")
     {
         string adattablanev = "";
         if (tablainfo.Leiroe)
             adattablanev = tablainfo.TablaTag.Tablainfo.Tablanev;
         ValtozasRogzit(tablainfo.NaploTablainfo, tablainfo.NaploTabla, tablainfo.Azon, tablainfo.Tablanev, adattablanev);
     }
     if (tablainfo.Tablanev == "VALTOZASNAPLO" || tablainfo.Tablanev == "USERLOG")
     {
         tablainfo.Adattabla.Rows.Clear();
         tablainfo.Modositott = false;
         tablainfo.Changed = false;
         return;
     }
     tablainfo.Rogzitett = true;
     Verzioinfok verinfo = null;
     TablainfoTag tag = tablainfo.TablaTag;
     bool leiroe = tablainfo.Leiroe;
     if (!leiroe)
     {
         if (tablainfo.Tablanev.Contains("VERSION"))
         {
             szint = tablainfo.Szint;
             string conn = tablainfo.Adattabla.Connection;
             verinfo = _verzioinfok[szint];
             int aktid = verinfo.AktVerzioId;
             Versiontolt(szint, conn);
             if (aktid != verinfo.AktVerzioId)
             {
                 if (szint == "C")
                     Cegadatok(Aktintervallum);
                 else
                     Rendszeradatok(Aktintervallum, szint, verinfo.Delete);
                 verinfo.Delete = false;
             }
         }
     }
     tablainfo.Modositott = false;
     tablainfo.Changed = false;
     filter = tablainfo.DataView.RowFilter;
     ForceAdattolt(tablainfo, true);
     if (tablainfo.Tablanev == "BASE")
         tablainfo.DataView.RowFilter = filter;
     if (tablainfo.Osszefinfo != null)
         tablainfo.Osszefinfo.InitKell = true;
     bool torolt = true;
     if (leiroe || tablainfo.Azon == "LEIR" || tablainfo.Tablanev == "BASE" || tablainfo.Tablanev == "TARTAL")
         torolt = false;
     else if (tablainfo.ParentTag.Tablainfo.ToroltTagok.Count == 0 || tablainfo.ParentTag.Tablainfo.ToroltTagok.IndexOf(tablainfo) == 0)
         torolt = false;
     if (!torolt)
     {
         if (tablainfo.Azon != "LEIR" && tablainfo.Tablanev != "BASE" && !leiroe)
             Combokupdate(tag);
         if (leiroe)
         {
             if (tablainfo.TablaTag.Tablainfo.Adatfajta != "K")
             {
                 tablainfo.Beallit();
                 tablainfo.Combobeallit();
             }
             else
                 KodtablakFrissitese(tablainfo);
             Tablainfo adattablainfo = tablainfo.TablaTag.Tablainfo;
             if (adattablainfo.Tablanev == "TARTAL" || "RU".Contains(adattablainfo.Szint) || _aktualcegconn != "")
             {
                 tablainfo.TablaTag.Tablainfo.Beallit();
                 tablainfo.TablaTag.Tablainfo.Combobeallit();
             }
         }
         if (!leiroe)
         {
             if (tablainfo.Tablanev == "BASE")
             {
                 TablainfoTag newtag = null;
                 TablainfoTag newtartaltag = null;
                 TartalomjegyzekbolTorol(tablainfo, false);
                 filter = tablainfo.DataView.RowFilter;
                 sort = tablainfo.DataView.Sort;
                 tablainfo.DataView.RowFilter = "";
                 tablainfo.DataView.Sort = "SORSZAM DESC";
                 DataRow dr = tablainfo.DataView[0].Row;
                 int rowindex = tablainfo.Adattabla.Rows.IndexOf(dr);
                 szint = dr["SZINT"].ToString();
                 string azon = dr["AZON"].ToString().Trim();
                 if (azon.Length < 4)
                 {
                     int beszursorrend = Convert.ToInt32(dr["SORREND"].ToString()) + 1;
                     DataRow newrow = tablainfo.Ujsor();
                     newrow["AZON"] = azon + "T";
                     newrow["PARENT"] = dr["SORSZAM"];
                     newrow["SZOVEG"] = "Táblázatok";
                     newrow["TABLANEV"] = "TARTAL";
                     newrow["SZINT"] = szint;
                     newrow["SORREND"] = beszursorrend;
                     UpdateTransaction(new Tablainfo[] { tablainfo });
                     newtag = new TablainfoTag(tablainfo.Adattabla, rowindex, null, null, (TablainfoTag)GyokerTablainfoTagok[1], this);
                     rowindex = tablainfo.Adattabla.Rows.IndexOf(tablainfo.DataView[0].Row);
                     newtartaltag = new TablainfoTag(tablainfo.Adattabla, rowindex, null, null, newtag, this);
                     newtartaltag.Tablainfo.Combobeallit();
                     newtartaltag.LeiroTablainfo.Combobeallit();
                 }
                 else
                 {
                     for (int j = 0; j < ((TablainfoTag)GyokerTablainfoTagok[1]).ChildTablainfoTagok.Count; j++)
                     {
                         newtag = ((TablainfoTag)GyokerTablainfoTagok[1]).ChildTablainfoTagok[j];
                         if (newtag.Azonositok.Azon == azon)
                         {
                             newtag.TablainfoTagUpdate(tablainfo.Adattabla, rowindex);
                             break;
                         }
                     }
                 }
                 tablainfo.DataView.RowFilter = filter;
                 tablainfo.DataView.Sort = sort;
             }
             if (tablainfo.Tablanev == "TARTAL")
             {
                 TartalomjegyzekbolTorol(tablainfo, true);
                 AdatTabla adattabla = tablainfo.Adattabla;
                 for (int i = 0; i < adattabla.Rows.Count; i++)
                 {
                     TablainfoTag tag1 = null;
                     string sorszint = adattabla.Rows[i]["SZINT"].ToString().Trim();
                     string azontip = adattabla.Rows[i]["AZONTIP"].ToString().Trim();
                     string adatfajta = adattabla.Rows[i]["ADATFAJTA"].ToString().Trim();
                     string kodtipus = adattabla.Rows[i]["KODTIPUS"].ToString().Trim();
                     string termszarm = adattabla.Rows[i]["TERMSZARM"].ToString().Trim();
                     string tablanev = adattabla.Rows[i]["TABLANEV"].ToString().Trim();
                     Tablainfo egyinfo = null;
                     if (azontip.Contains("SZRM"))
                     {
                         egyinfo = GetBySzintPluszTablanev(kodtipus.Substring(0, 1), kodtipus.Substring(1));
                         if (egyinfo != null)
                         {
                             egyinfo = egyinfo.LeiroTablainfo;
                             tag1 = tag.ChildTablainfoTagok[i];
                             if (tag1 == null)
                                 tag1 = new TablainfoTag(adattabla, i, null, null, tag, this);
                         }
                     }
                     else
                         egyinfo = Tablainfok.GetByAzontip(azontip);
                     if (egyinfo == null)
                     {
                         tag1 = new TablainfoTag(adattabla, i, null, null, tag, this);
                         if (azontip.Contains("SZRM"))
                             egyinfo = tag1.LeiroTablainfo;
                         else
                         {
                             egyinfo = tag1.Tablainfo;
                             if (_aktualcegconn != "")
                             {
                                 tag1.LeiroTablainfo.Combobeallit();
                                 tag1.Tablainfo.Combobeallit();
                             }
                         }
                         if ("CO".Contains(tag1.Azonositok.Adatfajta))
                             tag1.FordTag = new TablainfoTag(adattabla, i, tablainfo, tag1, tag, this, true);
                     }
                     else
                     {
                         if (!azontip.Contains("SZRM"))
                         {
                             tag1 = egyinfo.TablaTag;
                             if (tag1.ParentTag.ChildTablainfoTagok.IndexOf(egyinfo.Azontip) == -1)
                             {
                                 tag1.SorIndex = i;
                                 tag1.Torolt = false;
                             }
                         }
                         tag1.TablainfoTagUpdate(adattabla, i);
                         if (egyinfo.Osszefinfo != null)
                             egyinfo.Osszefinfo.InitKell = true;
                     }
                     if (!azontip.Contains("SZRM"))
                         AzontipSzerintBevisz(azontip);
                 }
                 if (tablainfo.Modositott)
                     UpdateTransaction(new Tablainfo[] { tablainfo });
             }
             else if (tablainfo.Azon != "LEIR" && tablainfo.Tablanev != "BASE")
             {
                 AzontipSzerintUpdate(tablainfo);
                 if (!tag.Forditott && tablainfo.Tablanev != "BASE")
                 {
                     Combokupdate(tag);
                     TablainfoTag elsotag = null;
                     if (tablainfo.Azon == "SZRM")
                     {
                         Tablainfo egytabinfo = Tablainfok.GetByAzontip("SZRM" + tablainfo.Kodtipus);
                         if (egytabinfo != null)
                             elsotag = egytabinfo.TablaTag;
                     }
                     else if (tablainfo.Azontip1 != "" && Tablainfok.GetByAzontip(tablainfo.Azontip1) != null)
                         elsotag = Tablainfok.GetByAzontip(tablainfo.Azontip1).TablaTag;
                     if (elsotag != null)
                         Combokupdate(elsotag);
                     if (tablainfo.Azontip2 != "" && Tablainfok.GetByAzontip(tablainfo.Azontip2) != null)
                     {
                         elsotag = Tablainfok.GetByAzontip(tablainfo.Azontip2).TablaTag;
                         Combokupdate(elsotag);
                     }
                 }
                 if (tablainfo.NewVersionCreated || tablainfo.LastVersionDeleted || tablainfo.VerzioTerkepArray.Count == 0)
                 {
                     if (tablainfo.Osszefinfo != null)
                         tablainfo.Osszefinfo.InitKell = true;
                     TablainfoTag fordtag = tablainfo.TablaTag.FordTag;
                     if (fordtag != null)
                         fordtag.ToolTipText();
                 }
             }
         }
         if (tablainfo.Tablanev != "BASE")
         {
             tag.ToolTipText();
             if (tag.FordTag != null)
                 tag.FordTag.ToolTipText();
             tablainfo.NewVersionCreated = false;
             tablainfo.LastVersionDeleted = false;
         }
     }
 }
Пример #6
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();
 }
Пример #7
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;
        }