private Ceginformaciok Ujceginformacio(DataRow dr, int cegindex, string cegid, string kezeloid, string rgazdaid, DateTime indulodat, DateTime aktdat, bool lezartceg, bool lezartev) { Ceginformaciok egyinf = new Ceginformaciok(); egyinf.Bejel = this; egyinf.LezartCeg = lezartceg; egyinf.LezartEv = lezartev; egyinf.InduloDatum = indulodat; egyinf.AktualisDatum = aktdat; egyinf.VezetoId = vezetoid; egyinf.LezarasDatuma = vegedatum; egyinf.CegConnection = dr["CEGCONNECTION"].ToString(); egyinf.CegNev = dr["SZOVEG"].ToString(); egyinf.CegId = cegid; egyinf.Cegindex = cegindex; if (kezeloid == "-1") egyinf.KezeloiSzint = Base.KezSzint.Fejleszto; else { Tablainfo tabinfo = FakUserInterface.GetBySzintPluszTablanev("U", "KEZELOK"); if (CsakEgyKezelo) egyinf.KezeloiSzint = Base.KezSzint.Minden; else { bool rgazda = rgazdaid == kezeloid; bool vezeto = vezetoid == kezeloid; bool kezelo = adatkezeloid == kezeloid; bool kiemeltkezelo = kiemeltkezeloid == kezeloid; if (kiemeltkezelo) { if (rgazda) { egyinf.KezeloiSzint = Base.KezSzint.Rendszergazdapluszkiemelt; if (kezelo) egyinf.KezeloiSzint = Base.KezSzint.Rendszergazdapluszkiemeltpluszkezelo; } else { egyinf.KezeloiSzint = Base.KezSzint.Kiemeltkezelo; if (kezelo) egyinf.KezeloiSzint = Base.KezSzint.Kiemeltkezelopluszkezelo; } } else if (kezelo) { if (rgazda) egyinf.KezeloiSzint = Base.KezSzint.Rendszergazdapluszkezelo; else egyinf.KezeloiSzint = Base.KezSzint.Kezelo; } else if (vezeto) { if (rgazda) egyinf.KezeloiSzint = Base.KezSzint.Rendszergazdapluszvezeto; else egyinf.KezeloiSzint = Base.KezSzint.Vezeto; } else egyinf.KezeloiSzint = Base.KezSzint.Rendszergazda; } } egyinf.Jogosultsagok(); return egyinf; }
public virtual bool AlkalmazasKiegTolt(Ceginformaciok ceginfo) { return true; }
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; }