Exemple #1
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);
     }
 }
Exemple #2
0
 /// <summary>
 /// Termeszetes child adattablak torlese parent tabinfo alapjan, majd a parent view aktualis soranak torlese
 /// </summary>
 /// <param name="info">
 /// tablainfo
 /// </param>
 public void OsszesAdattorolByParent(Tablainfo info)
 {
     AdattorolByParent(info);
     info.Adatsortorol(info.ViewSorindex);
 }
Exemple #3
0
        /// <summary>
        /// Aktualis sor torlese, ha lehet torolni, vagy jelzi, hogy miert nem lehet
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void torolalap_Click(object sender, EventArgs e)
        {
            bool kelltorles = true;
            int nextind = Tabinfo.ViewSorindex;
            Tablainfo listatervinfo = FakUserInterface.GetBySzintPluszTablanev("R", "LISTAK");
            if (Tabinfo.ViewSorindex != -1)
            {
                DataRow dr = Tabinfo.AktualViewRow;
                long aktidentity = Tabinfo.AktIdentity;
                if (Tabinfo.Tablanev == "USERADATSZOLG")
                {
                    string aktkodtip = dr["SZOVEG"].ToString();
                    listatervinfo.DataView.RowFilter = "ADATSZOLGNEV='" + aktkodtip + "'";
                    bool vanhiv = listatervinfo.DataView.Count != 0;
                    listatervinfo.DataView.RowFilter = "";
                    if(vanhiv)
                    {
                        kelltorles = false;
                        MessageBox.Show("Listaképeknél már van rá hivatkozás!");
                    }
                    if (kelltorles)
                    {
                        for (int i = 0; i < Tabinfo.DataView.Count; i++)
                        {
                            if (i != Tabinfo.ViewSorindex)
                            {
                                DataRow egyrow = Tabinfo.DataView[i].Row;
                                if (egyrow["SZULOTABLA"].ToString() == aktkodtip )
                                {
                                    kelltorles = false;
                                    MessageBox.Show("Másik sorban már van rá hivatkozás!");
                                    break;
                                }
                            }
                        }
                    }
                    if (kelltorles)
                    {
                        adatszolgtartal = FakUserInterface.GetByAzontip("SZRATARTAL");
                        for (int i = 0; i < adatszolgtartal.DataView.Count; i++)
                        {
                            DataRow egyrow = adatszolgtartal.DataView[i].Row;
                            if (egyrow["KODTIPUS"].ToString() == aktkodtip)
                            {
                                tartalsorindex = i;
                                if (MessageBox.Show("Már van leirás az adatközlésröl!\nTörölhetö?", "", MessageBox.MessageBoxButtons.IgenNem) != MessageBox.DialogResult.Igen)
                                    kelltorles = false;
                                else
                                    adatszolgtartal.Adatsortorol(tartalsorindex);
                                break;
                            }
                        }

                    }
                }
                else if (Tabinfo.Tablanev == "BASE")
                {
                    string szint = dr["SZINT"].ToString();
                    TablainfoCollection tcoll = FakUserInterface.GetBySzint(szint);
                    string szov = "";
                    if (tcoll != null)
                    {
                        foreach(Tablainfo egyinfo in tcoll)
                        {
                            if (egyinfo.Tablanev != "TARTAL")
                            {
                                szov += egyinfo.Tablanev + "\n";
                            }
                        }
                    }
                    if (szov != "")
                    {
                        kelltorles = false;
                        MessageBox.Show("Elöbb az alábbiakat kell törölni:\n" + szov);
                    }
                }
                else if (Tabinfo.Tablanev == "TARTAL")
                {
                    // meg kell nezni, hogy torolheto-e egyaltalan
                    string azontip = dr["AZONTIP"].ToString();
                    string kodtipus = dr["KODTIPUS"].ToString();
                    string tablanev = dr["TABLANEV"].ToString();
                    string szint = Tabinfo.Szint;
                    string termszarm = Tabinfo.TermSzarm.Trim();
                    OsszefinfoCollection coll = FakUserInterface.Osszefuggesek[azontip];
                    string szov = "";
                    if (coll != null && coll.Count!=0)
                    {
                        kelltorles = false;
                        foreach (Osszefinfo egyinfo in coll)
                        {
                            switch (szint)
                            {
                                case "R":
                                    szint = "Rendszerszint/ ";
                                    break;
                                case "U":
                                    szint = "Userszint/ ";
                                    break;
                                default:
                                    szint = "Cégszint/ ";
                                    break;
                            }
                            szov += szint + egyinfo.Adattabla.Tablainfo.ParentTag.Node.Text +":\n"+egyinfo.Adattabla.Tablainfo.TablaTag.Node.Text + "\n";
                        }
                        if (!kelltorles)
                            MessageBox.Show("Elöbb az alábbiakat kell törölni:\n" + szov);
                    }
                    if (kelltorles)
                    {
                        Tablainfo egytabinfo = FakUserInterface.GetByAzontip(azontip);
                        if (egytabinfo != null)
                        {
                            if (tablanev == "ADATSZOLG")
                            {
                                egytabinfo.DataView.RowFilter = "KODTIPUS = '" + kodtipus + "'";
                                bool vanmar = egytabinfo.DataView.Count != 0;
                                egytabinfo.DataView.RowFilter = "";
                                if (vanmar)
                                {
                                    kelltorles = false;
                                    MessageBox.Show("Már van leirás az adatközlésröl!");
                                }

                            }
                            else if (FakUserInterface.Adatszintek.Contains(szint.Trim()))
                            {
                                DataTable dt = new DataTable();
                                string selstring = "";
                                if (egytabinfo.TablaColumns.IndexOf("KODTIPUS") != -1)
                                    selstring = " where KODTIPUS='" + kodtipus + "'";
                                FakPlusz.Sqlinterface.Select(dt, FakUserInterface.AktualCegconn, tablanev, selstring, "", true);
                                if (dt.Rows.Count != 0)
                                {
                                    kelltorles = false;
                                    MessageBox.Show("Már van felvitt adat,nem törölhetö!");
                                }
                            }
                            else if (egytabinfo.LehetCombo)
                            {
                                for (int i = 0; i < egytabinfo.DataView.Count; i++)
                                {
                                    egytabinfo.ViewSorindex = i;
                                    if (ComboHasznalatban(egytabinfo))
                                    {
                                        kelltorles = false;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
                else if(kelltorles && Tabinfo.LehetCombo)
                {
                    Cols egycol = Tabinfo.TablaColumns[Tabinfo.ComboFileba];
                    kelltorles = !ComboHasznalatban(Tabinfo, null, egycol.Tartalom, egycol.Tartalom, aktidentity.ToString());
                }
                if (kelltorles)
                {
                    if (Tabinfo.AktVerzioId != Tabinfo.LastVersionId)
                    {
                        Tabinfo.AktVerzioId = Tabinfo.LastVersionId;
                        Tabinfo.Adattabla.Select();
                    }
                    base.torolalap_Click(sender, e);
                    if (Tabinfo.Modositott)
                        rogzit_Click(new object(), new EventArgs());
                }
            }
        }