/// <summary> /// /// </summary> public virtual void adatkivitel_Click() { EgyediAdatszolgaltatasInit(); ListaInfo.DataView.RowFilter = "SZOVEG ='" + ListaNev + "'"; AdatszolgKozosFileba = ListaInfo.DataView[0]["KOZOSFILEBA"].ToString() == "I"; AdatszolgKellNapisorszam = ListaInfo.DataView[0]["KELLNAPISORSZ"].ToString() == "I"; if (AdatszolgKellNapisorszam) AdatszolgaltatasFoldernev += "/" + MaiDatumString; Napisorszam = 1; bool kelladatkiv = true; if (!Directory.Exists(AdatszolgaltatasFoldernev)) { if (AdatszolgKellNapisorszam) AdatszolgaltatasFoldernev += "/" + Napisorszam.ToString(); Directory.CreateDirectory(AdatszolgaltatasFoldernev); } else if (AdatszolgKellNapisorszam) { string foldernev = ""; do { Napisorszam++; foldernev = AdatszolgaltatasFoldernev + "/" + Napisorszam.ToString(); if (!Directory.Exists(foldernev)) { if (FakPlusz.MessageBox.Show("Ma már készült " + (Napisorszam - 1).ToString() + " adatszolg.\n Ismétli az utolsót?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { Napisorszam--; AdatszolgaltatasFoldernev += "/" + Napisorszam.ToString(); } else if (FakPlusz.MessageBox.Show("Készüljön újabb adatszolg?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) != FakPlusz.MessageBox.DialogResult.Igen) kelladatkiv = false; else { AdatszolgaltatasFoldernev = foldernev; Directory.CreateDirectory(AdatszolgaltatasFoldernev); } break; } } while (true); if (!kelladatkiv) return; } ListaInfo.DataView.RowFilter = ""; TablainfoCollection infoksorrendben = new TablainfoCollection(); for (int i = 0; i < AdatszolgaltatasNevek.Length; i++) { string nev = AdatszolgaltatasNevek[i]; Tablainfo info = AdatszolgaltatasInfok.GetByAzontip("SZRA" + nev); infoksorrendben.Add(info); } if (AdatszolgKozosFileba) { FileNevek = new string[1]; FileNevek[0] = infoksorrendben[0].TablaTag.Node.Text; } else { FileNevek = new string[AdatszolgaltatasNevek.Length]; for (int i = 0; i < AdatszolgaltatasNevek.Length; i++) { string nev = AdatszolgaltatasNevek[i]; FileNevek[i] = infoksorrendben[i].TablaTag.Node.Text; } } Stream[] streamek = new Stream[FileNevek.Length]; bool voltmar = false; for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev+ "/" +FileNevek[i]; if (File.Exists(nev)) { if (AdatszolgKellNapisorszam) File.Delete(nev); else voltmar=true; } } kelladatkiv = true; if (voltmar) { if (FakPlusz.MessageBox.Show("Már volt adatszolgáltatás. Újra?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev + "/" + FileNevek[i]; if (File.Exists(nev)) File.Delete(nev); } } else kelladatkiv = false; } if (!kelladatkiv) return; StreamWriterek = new StreamWriter[FileNevek.Length]; for (int i = 0; i < FileNevek.Length; i++) { string nev = AdatszolgaltatasFoldernev + "/" + FileNevek[i]; streamek[i] = File.Create(nev); StreamWriterek[i] = new StreamWriter(streamek[i]); } Adatkivitelek = new Adatkivitel[AdatszolgaltatasNevek.Length]; for (int i = 0; i < Adatkivitelek.Length; i++) { Tablainfo info = infoksorrendben[i]; UserAdatSzolgInfo.DataView.RowFilter = "SZOVEG='" + AdatszolgaltatasNevek[i] + "'"; StreamWriter streamwriter; if (StreamWriterek.Length == 1) streamwriter = StreamWriterek[0]; else streamwriter = StreamWriterek[i]; Adatkivitelek[i] = new Adatkivitel(this,info,UserAdatSzolgInfo.DataView[0].Row["SZULOTABLA"].ToString(),streamwriter); if (AdatszolgaltatasNevek[i].Contains("FEJ")) fejadatkiv = Adatkivitelek[i]; else if (AdatszolgaltatasNevek[i].Contains("LAB")) labadatkiv = Adatkivitelek[i]; Adatkivitelek[i].Adatkivitelek = Adatkivitelek; Adatkivitelek[i].StreamWriterek = StreamWriterek; Adatkivitelek[i].Napisorszam = Napisorszam; } UserAdatSzolgInfo.DataView.RowFilter = ""; AdatszolgaltatasInit(); ListaAdatkivitel(false); if (labadatkiv != null) labadatkiv.EgySorEloallitasa(1); for (int i = 0; i < StreamWriterek.Length; i++) StreamWriterek[i].Close(); }
private void Rogzittorol(bool rogzit) { Tablainfo modtabinfo = null; Tablainfo osszefinfo = null; Tablainfo parenttabinfo = null; Tablainfo semainfo = null; TreeNode ujnode = null; TablainfoCollection tabinfocollection = new TablainfoCollection(); ArrayList osszefinfocollectionar = new ArrayList(); ArrayList nodear = new ArrayList(); bool bev = Fajta == "B"; if (bev) semainfo = Kukucs.bevsemainfo; else semainfo = Kukucs.koltssemainfo; switch (AktualSzint) { case 0: osszefinfo = null; parenttabinfo = null; modtabinfo = Focsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(Alcsopinfo); tabinfocollection.Add(Csopinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(FocsopAlcsopinfo); osszefinfocollectionar.Add(AlcsopCsopinfo); osszefinfocollectionar.Add(CsopKodInfo); break; case 1: modtabinfo = Alcsopinfo; osszefinfo = FocsopAlcsopinfo; parenttabinfo = Focsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(Csopinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(AlcsopCsopinfo); osszefinfocollectionar.Add(CsopKodInfo); break; case 2: modtabinfo = Csopinfo; osszefinfo = AlcsopCsopinfo; parenttabinfo = Alcsopinfo; tabinfocollection.Add(modtabinfo); tabinfocollection.Add(ElemikodInfo); osszefinfocollectionar.Add(null); osszefinfocollectionar.Add(CsopKodInfo); break; case 3: modtabinfo = ElemikodInfo; tabinfocollection.Add(modtabinfo); osszefinfo = CsopKodInfo; parenttabinfo = Csopinfo; osszefinfocollectionar.Add(CsopKodInfo); break; } DataRow row=null; string szov=""; string id; Tablainfo[] rogzitendo; ArrayList ar = new ArrayList(); for (int i = 0; i < tabinfocollection.Count; i++) ar.Add(tabinfocollection[i]); for (int i = 0; i < osszefinfocollectionar.Count; i++) if (osszefinfocollectionar[i] != null) ar.Add((Tablainfo)osszefinfocollectionar[i]); ar.Add(semainfo); rogzitendo = (Tablainfo[])ar.ToArray(typeof(Tablainfo)); if (!rogzit) { ar = new ArrayList(); ar.Add(AktualNode); TreeNode[] nodeok = (TreeNode[])ar.ToArray(typeof(TreeNode)); nodear = Osszesnode(nodeok, nodear); if (nodear.Count == tabinfocollection.Count) // Elemi kod vizsgalat { szov = ""; nodeok = (TreeNode[])nodear[nodear.Count - 1]; if (bev) { foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); ElemikodInfo.DataView.RowFilter = "TERMEKKOD_ID = " + id; MasikElemikodInfo.DataView.RowFilter = "TERMEKKOD_ID = " + id; if (MasikElemikodInfo.DataView.Count != 0) { if (szov != "") szov += "\n"; szov = ElemikodInfo.DataView[0].Row["SZOVEG"].ToString() + " már szerepel az alábbi költségkód(ok) hivatkozásánál:"; szov += "\n" + MasikElemikodInfo.DataView[0].Row["SZOVEG"].ToString(); } } ElemikodInfo.DataView.RowFilter = ""; MasikElemikodInfo.DataView.RowFilter = ""; if (szov != "") { szov += "\nElöbb a költségkódok közül kell törölni!"; FakPlusz.MessageBox.Show(szov); return; } } else // koltsegkod itt esetleg csak a felosztas miatt { foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + " = " + egynode.Parent.Tag.ToString(); bool semae = Csopinfo.DataView[0].Row["SEMAE"].ToString() == "I"; if (!semae) { CsopKodInfo.DataView.RowFilter = "SORSZAM2 = " + id; if (CsopKodInfo.DataView.Count > 1 && AktualSzint != 3 && !semae) { if (szov == "") szov += "Az alábbi költségkód(ok) sémában szerepelnek:"; ElemikodInfo.DataView.RowFilter = ElemikodInfo.IdentityColumnName + "= " + id; szov += "\n" + ElemikodInfo.DataView[0].Row["SZOVEG"].ToString(); } } Csopinfo.DataView.RowFilter = ""; CsopKodInfo.DataView.RowFilter = ""; Kukucs.koltscsopkod.DataView.RowFilter = ""; ElemikodInfo.DataView.RowFilter = ""; } if (szov != "") { szov += "\nCsak egyenként törölhetö"; FakPlusz.MessageBox.Show(szov); return; } } foreach (TreeNode egynode in nodeok) { id = egynode.Tag.ToString(); if (Kukucs.ComboHasznalatban(ElemikodInfo, null, "", "", id, true)) return; } } if (FakPlusz.MessageBox.Show("Biztosan törölhetö?", "", FakPlusz.MessageBox.MessageBoxButtons.IgenNem) == FakPlusz.MessageBox.DialogResult.Igen) { bool voltmasiknode = false; ArrayList ar1 = null; TreeNode masiktorlendonode = null; id = AktualNode.Tag.ToString(); string[] idk = null; if (AktualSzint == 3 && !bev) { int arindex = Kukucs.koltsegkodidk.IndexOf(id); ar1 = (ArrayList)Kukucs.treenodeokarray[arindex]; if (ar1.Count > 1) { voltmasiknode = true; for (int i = 0; i < ar1.Count; i++) { TreeNode egynode = (TreeNode)ar1[i]; if (egynode == AktualNode && i == 0) masiktorlendonode=(TreeNode)ar1[1]; } ar1.Remove(AktualNode); if (masiktorlendonode != null) { Kukucs.treenodeokarray.RemoveAt(arindex); // ar1.Remove(masiktorlendonode); Kukucs.koltsegkodidk.RemoveAt(arindex); } } } for (int i = 0; i < nodear.Count; i++) { TreeNode[] egynodeok = (TreeNode[])nodear[i]; Tablainfo torlinfo = tabinfocollection[i]; Tablainfo egyosszefinfo = null; Tablainfo egysemainfo = null; if (osszefinfocollectionar[i] != null) { egyosszefinfo = (Tablainfo)osszefinfocollectionar[i]; if (egyosszefinfo.Kodtipus == "Termcsopkod" || egyosszefinfo.Kodtipus == "Koltscsopkod") { egysemainfo = semainfo; } } for (int j = 0; j < egynodeok.Length; j++) { string parentid = ""; if (egynodeok[j].Parent != null) { parentid = egynodeok[j].Parent.Tag.ToString(); if (torlinfo == ElemikodInfo && Fajta=="K") { if (voltmasiknode) { if (masiktorlendonode == null) torlinfo = null; else parentid = ""; } } } TorlesTablabol(egynodeok[j].Tag.ToString(),parentid, torlinfo, egyosszefinfo, egysemainfo); } } FakUserInterface.Rogzit(rogzitendo); for (int i = 0; i < rogzitendo.Length; i++) { Tablainfo egyinfo = rogzitendo[i]; if ("CO".Contains(egyinfo.Adatfajta)) { if (egyinfo.DataView.Count == 0 && egyinfo.KellVerzio && egyinfo.VerzioTerkepArray.Count !=0) { egyinfo.VerzioTerkepArray.RemoveAt(egyinfo.VerzioTerkepArray.Count - 1); egyinfo.AktVerzioId = egyinfo.LastVersionId; } } } // if () // { //foreach (TreeNode egynode in torlendonodeok) //{ // TreeNode parentnode = egynode.Parent; // if (parentnode != null) // { // int i = parentnode.Nodes.IndexOf(egynode); // if (i != -1) // parentnode.Nodes.Remove(egynode); // } //} // } TreeNode node = AktualNode; int pos = 0; int nextpos = 0; TreeNode kovnode = null; TreeNodeCollection coll = null; if (ParentNode == null) coll = TreeView.Nodes; else coll = ParentNode.Nodes; if (coll.Count == 1) { kovnode = null; if (ParentNode != null) kovnode = ParentNode; } else { pos = coll.IndexOf(AktualNode); if (pos == coll.Count - 1) nextpos = pos - 1; else nextpos = pos + 1; kovnode = coll[nextpos]; } if (masiktorlendonode != null) { masiktorlendonode.Parent.Nodes.Remove(masiktorlendonode); } coll.Remove(AktualNode); SetAktualNode(kovnode); if (!bev) FeloszthatoKoltsegidkModosit(); } } else { ArrayList afaidar = new ArrayList(FakUserInterface.GetTartal(AfaInfo, "SORSZAM")); bool semae = bev; string egychar; int sorrend = 0; string[] csopkodinfoidk = null; string[] sematorlendoidk = null; string[] semaidirandok = null; string felosztid = "0"; string csopkodid = ""; string sematorlendoid = ""; string semairandoid = ""; string bevid = ""; string semasorszam1 = ""; int aktsorrend = 0; if (AktualNode != null) // modosit { id = AktualNode.Tag.ToString(); modtabinfo.DataView.RowFilter = modtabinfo.IdentityColumnName + " = " + id; row = modtabinfo.DataView[0].Row; row["KOD"] = KodBox.Text; row["SZOVEG"] = SzovegBox.Text; row["MODOSITOTT_M"] = 1; string oldsemae; if (AktualSzint == 2 && !bev) { oldsemae = row["SEMAE"].ToString(); csopkodinfoidk = FakUserInterface.GetTartal(CsopKodInfo, "SORSZAM", "SORSZAM1", id); egychar = FelosztCombo.Text.Substring(0, 1); if (egychar != oldsemae && oldsemae == "I") { if (csopkodinfoidk != null) { sematorlendoidk = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", csopkodinfoidk); } } row["SEMAE"] = egychar; semae = egychar == "I"; } if (AktualSzint == 3) { if (AfaCombo.SelectedIndex != -1) row["AFA_ID"] = afaidar[AfaCombo.SelectedIndex]; else row["AFA_ID"] = 0; if (!bev) { Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + "= " + ParentNode.Tag.ToString(); DataRow row1 = Csopinfo.DataView[0].Row; egychar = row1["SEMAE"].ToString(); semae = egychar == "I" && FelosztSzazalCombo.Text != ""; Csopinfo.DataView.RowFilter = ""; string[] bevidk = FakUserInterface.GetTartal(MasikElemikodInfo, MasikElemikodInfo.IdentityColumnName, "SZOVEG", BevetelKodCombo.Text); if (bevidk != null) row["TERMEKKOD_ID"] = bevidk[0]; if (AlkalmazottiCombo.Visible && AlkalmazottiCombo.SelectedIndex!=-1) row["DOLGOZO_ID"] = Kukucs.alkalmidk[AlkalmazottiCombo.SelectedIndex]; } else semae = FelosztSzazalCombo.Text != ""; //if (semae) //{ CsopKodInfo.DataView.RowFilter = "SORSZAM1 = " + ParentNode.Tag.ToString() + " AND SORSZAM2 = " + id; semasorszam1 = CsopKodInfo.DataView[0].Row[CsopKodInfo.IdentityColumnName].ToString(); sorrend = Convert.ToInt32(CsopKodInfo.DataView[0].Row["SORREND"].ToString()); CsopKodInfo.DataView.RowFilter = ""; if (!semae) { sematorlendoidk = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", semasorszam1); if (sematorlendoidk != null) { sematorlendoid = sematorlendoidk[0]; SemaInfo.Modositott = true; SemaInfo.DataView.RowFilter = "SORSZAM = " + sematorlendoid; SemaInfo.DataView[0].Row.Delete(); } } else { felosztid = FakUserInterface.GetTartal(Kukucs.fszazal, Kukucs.fszazal.IdentityColumnName, "SZOVEG", FelosztSzazalCombo.Text)[0]; SemaInfo.Modositott = true; semaidirandok = FakUserInterface.GetTartal(SemaInfo, "SORSZAM", "SORSZAM1", semasorszam1); if (semaidirandok != null) { semairandoid = semaidirandok[0]; SemaInfo.DataView.RowFilter = "SORSZAM = " + semairandoid; SemaInfo.DataView[0].Row["SORSZAM2"] = felosztid; SemaInfo.DataView[0].Row["PREV_ID2"] = felosztid; } else { row = SemaInfo.Adattabla.Ujsor(sorrend); { row["SORSZAM1"] = semasorszam1; row["PREV_ID1"] = semasorszam1; row["SORSZAM2"] = felosztid; row["PREV_ID2"] = felosztid; } } } } // } modtabinfo.Modositott = true; modtabinfo.DataView.RowFilter = ""; AktualNode.Name = KodBox.Text; AktualNode.Text = SzovegBox.Text + " (" + KodBox.Text + ")"; ujnode = AktualNode; } else // beszur { if (ElemiKoltsegMasolando != null) { SzovegBox.Text = ElemiKoltsegMasolando["SZOVEG"].ToString(); KodBox.Text = ElemiKoltsegMasolando["KOD"].ToString(); } szov = SzovegBox.Text + " (" + KodBox.Text + ")"; ujnode = new TreeNode(szov); ujnode.Name = KodBox.Text; if (ParentNode == null) { if (Ele) TreeView.Nodes.Insert(AktualNodePos, ujnode); else if (Moge) TreeView.Nodes.Insert(AktualNodePos + 1, ujnode); else TreeView.Nodes.Add(ujnode); } else if (ParentNode.Nodes.Count == 0) ParentNode.Nodes.Add(ujnode); else { if (Ele) ParentNode.Nodes.Insert(AktualNodePos, ujnode); else if (Moge) ParentNode.Nodes.Insert(AktualNodePos + 1, ujnode); else ParentNode.Nodes.Add(ujnode); } if (ParentNode != null && !bev && AktualSzint == 3) { id = ParentNode.Tag.ToString(); semae = FakUserInterface.GetTartal(Csopinfo, "SEMAE", "KOLTSEGCSOPORT_ID", id)[0] == "I"; } aktsorrend = 100; if (ElemiKoltsegMasolando == null) { if (EredetiNode != null && EredetiSzint == AktualSzint) aktsorrend = Sorrendszam(Ele, Moge, modtabinfo, EredetiNode.Tag.ToString(), modtabinfo.IdentityColumnName); else if (modtabinfo.DataView.Count != 0) aktsorrend += Convert.ToInt32(modtabinfo.DataView[modtabinfo.DataView.Count - 1].Row["SORREND"].ToString()); row = modtabinfo.Adattabla.Ujsor(aktsorrend); row["KOD"] = KodBox.Text; row["SZOVEG"] = SzovegBox.Text; row["MODOSITOTT_M"] = 1; if (AktualSzint == 2 && !bev) { egychar = FelosztCombo.Text.Substring(0, 1); row["SEMAE"] = egychar; semae = egychar == "I"; } } if (AktualSzint == 3) { if (ElemiKoltsegMasolando == null) { if (AfaCombo.SelectedIndex != -1) row["AFA_ID"] = afaidar[AfaCombo.SelectedIndex]; else row["AFA_ID"] = afaidar[0]; } if (semae) { if (FelosztSzazalCombo.Text != "") felosztid = FakUserInterface.GetTartal(Kukucs.fszazal, Kukucs.fszazal.IdentityColumnName, "SZOVEG", FelosztSzazalCombo.Text)[0]; // SemaInfo } //else //{ //} if (!bev && ElemiKoltsegMasolando == null) { string[] bevidk = FakUserInterface.GetTartal(MasikElemikodInfo, MasikElemikodInfo.IdentityColumnName, "SZOVEG", BevetelKodCombo.Text); if (bevidk != null) row["TERMEKKOD_ID"] = bevidk[0]; if (AlkalmazottiCombo.Visible && AlkalmazottiCombo.SelectedIndex != -1) row["DOLGOZO_ID"] = Kukucs.alkalmidk[AlkalmazottiCombo.SelectedIndex]; Csopinfo.DataView.RowFilter = Csopinfo.IdentityColumnName + " = " + ParentNode.Tag.ToString(); semae = Csopinfo.DataView[0].Row["SEMAE"].ToString() == "I"; Csopinfo.DataView.RowFilter = ""; } } } if (modtabinfo.Modositott || ElemiKoltsegMasolando != null) { if(modtabinfo.Modositott) FakUserInterface.Rogzit(modtabinfo); id = FakUserInterface.GetTartal(modtabinfo, modtabinfo.IdentityColumnName, "KOD", KodBox.Text)[0]; if (AktualNode == null) { ujnode.Tag = id; if (!bev && AktualSzint == 3) { int arindex = Kukucs.koltsegkodidk.IndexOf(id); // ArrayList ar; if (arindex == -1) { Kukucs.koltsegkodidk.Add(id); ar = new ArrayList(); ar.Add(ujnode); Kukucs.treenodeokarray.Add(ar); // FeloszthatoKoltsegidkModosit(); } else { ar = (ArrayList)Kukucs.treenodeokarray[arindex]; ar.Add(ujnode); } } if (osszefinfo != null) { string parentid = ParentNode.Tag.ToString(); if (osszefinfo.DataView.Count == 0) aktsorrend = 100; //else // aktsorrend=Convert.ToInt32(FakUserInterface.GetTartal(modtabinfo,"SORREND",modtabinfo.IdentityColumnName,id)[0]); // sorrend += Convert.ToInt32(osszefinfo.DataView[osszefinfo.DataView.Count - 1].Row["SORREND"].ToString()); //if (parenttabinfo.DataView.Count != 0) // sorrend = Convert.ToInt32(parenttabinfo.DataView[0].Row["SORREND"].ToString()); row = osszefinfo.Adattabla.Ujsor(aktsorrend); // parenttabinfo.DataView.RowFilter = ""; row["SORSZAM1"] = parentid; row["PREV_ID1"] = parentid; row["SORSZAM2"] = id; row["PREV_ID2"] = id; if (AktualSzint == 3 && AktualNode == null && felosztid != "0") { if (osszefinfo.KellVerzio && osszefinfo.VerzioTerkepArray.Count == 0) osszefinfo.CreateNewVersion(); FakUserInterface.Rogzit(osszefinfo); osszefinfo.DataView.RowFilter ="SORSZAM1 = " + parentid + " AND SORSZAM2 = " + id; DataRow row1 = osszefinfo.DataView[0].Row; osszefinfo.DataView.RowFilter = ""; if (SemaInfo.KellVerzio && SemaInfo.VerzioTerkepArray.Count == 0) SemaInfo.CreateNewVersion(); sorrend = 100; if (SemaInfo.DataView.Count != 0) sorrend += Convert.ToInt32(SemaInfo.DataView[SemaInfo.DataView.Count - 1].Row["SORREND"].ToString()); row = SemaInfo.Adattabla.Ujsor(sorrend); row["SORSZAM1"] = row1["SORSZAM"]; row["PREV_ID1"] = row1["SORSZAM"]; row["SORSZAM2"] = felosztid; row["PREV_ID2"] = felosztid; } else { ar = new ArrayList(rogzitendo); if (ar.IndexOf(osszefinfo) == -1) { ar.Add(osszefinfo); rogzitendo = (Tablainfo[])ar.ToArray(typeof(Tablainfo)); } } } } for (int i = 0; i < rogzitendo.Length; i++) { Tablainfo egyinfo = rogzitendo[i]; if ("CO".Contains(egyinfo.Adatfajta)) { if (egyinfo.KellVerzio && egyinfo.VerzioTerkepArray.Count == 0) egyinfo.CreateNewVersion(); } } FakUserInterface.Rogzit(rogzitendo); if (!bev) FeloszthatoKoltsegidkModosit(); EredetiNode = null; EredetiSzint = -1; SetAktualNode(ujnode); } } }
/// <summary> /// objectum letrehozasa /// </summary> /// <param name="hivo"> /// hivo /// </param> /// <param name="osszesview"> /// viewk listaja /// </param> public ListaInfok(Altlistazoalap hivo, ArrayList osszesview) { Hivo = hivo; Tabinfo = Hivo.Tabinfo; Listae = hivo.listae; FakUserInterface = hivo.FakUserInterface; TablainfoRow = Tabinfo.DataView[0].Row; int ig; if (Listae) ig = 2; else ig = 4; for (int l = 0; l < ig; l++) { view = (DataView)osszesview[0]; // parameterview table = view.Table; sort = view.Sort; view.Sort = "AZONTIP,MEZONEV"; if (l == 0) { azontip = ""; for (int i = 0; i < table.Columns.Count; i++) { string colnev = table.Columns[i].ColumnName; if (colnev.Contains("SORSZAM")) view.Sort = colnev + ",AZONTIP,MEZONEV"; else view.Sort = "AZONTIP,MEZONEV"; azontip = ""; for (int j = 0; j < view.Count; j++) { dr = view[j].Row; egyazontip = dr["AZONTIP"].ToString(); if (egyazontip != azontip) tabinfo = FakUserInterface.GetByAzontip(egyazontip); MezoinfoOsszeallit(dr); if (vanfeltben || vansorfeltben || vanoszlfeltben || sorrendsorszam != "0" || kellosszegzes || osszegzendo || atlagolando || csakosszegsorba || oszlopsorszam != "0" || matrixsorszam != "0") { if (Tablainfok.IndexOf(tabinfo) == -1) { Tablainfok.Add(tabinfo); Clear(tabinfo); } Mezoinfo mezoinfo = new Mezoinfo(tabinfo, mezonev, sorrendsorszam, kellosszegzes, osszegzendo, atlagolando, csakosszegsorba, oszlopsorszam, matrixsorszam); switch (colnev) { case "OSZLOPSORSZAM": if (oszlopsorszam != "0") Oszlopinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case "SORRENDSORSZAM": if (sorrendsorszam != "0") { Sorrendinfok.Mezoinfok.Add(tabinfo, mezoinfo); string ssort = tabinfo.Sort; if (ssort != "") ssort += ","; ssort += mezoinfo.ColumnInfo.ColumnName; tabinfo.Sort = ssort; } break; case "MATRIXSORSZAM": if (matrixsorszam != "0") { Matrixpontinfok.Mezoinfok.Add(tabinfo, mezoinfo); } break; } } azontip = egyazontip; } } } else { azontip = ""; string filt = view.RowFilter; view.RowFilter = "VANFELTBEN = 'Igen'"; if (l != 1) view.RowFilter += " OR VANSORFELTBEN = 'Igen' OR VANOSZLFELTBEN = 'Igen '"; for (int i = 0; i < view.Count; i++) { dr = view[i].Row; egyazontip = dr["AZONTIP"].ToString(); if (egyazontip != azontip) tabinfo = FakUserInterface.GetByAzontip(egyazontip); azontip = egyazontip; MezoinfoOsszeallit(dr); Tablainfok.Add(tabinfo); Mezoinfo mezoinfo = new Mezoinfo(tabinfo, mezonev, sorrendsorszam, kellosszegzes, osszegzendo, atlagolando, csakosszegsorba, oszlopsorszam, matrixsorszam); switch (l) { case 1: if(dr["VANFELTBEN"].ToString()=="Igen") Feltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case 2: if(dr["VANSORFELTBEN"].ToString()=="Igen") Sorfeltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; case 3: if(dr["VANOSZLFELTBEN"].ToString()=="Igen") Oszlopfeltetelinfok.Mezoinfok.Add(tabinfo, mezoinfo); break; } } view.RowFilter = filt; DataView feltview = (DataView)osszesview[l]; switch (l) { case 1: FeltColl = Feltetelinfok.FeltetelinfoCollection; break; case 2: FeltColl = Sorfeltetelinfok.FeltetelinfoCollection; break; case 3: FeltColl = Oszlopfeltetelinfok.FeltetelinfoCollection; break; } for (int i = 0; i < feltview.Count; i++) FeltColl.Add(new Feltetelinfo(this, FakUserInterface, feltview, i)); } view.Sort = sort; } if (Matrixpontinfok.Mezoinfok.Count == 0) { Oszlopinfok.OszlopokOsszeAllit(); Oszlopinfok.Osszegzesek(Sorrendinfok); } else { Oszlopfeltetelinfok.OszlopokOsszeAllit(); Matrixpontinfok.OszlopokOsszeAllit(); } Parameterhiba = false; Tablainfo gyoker = null; if (Tablainfok.Count == 0) { Parameterhiba = true; MessageBox.Show("Nincs még paraméterezés!"); return; } for (int ii = 0; ii < Tablainfok.Count; ii++) { if (gyoker == null) { gyoker = Tablainfok[ii].FirstTermParentTabinfo; if (gyoker == null) gyoker = Tablainfok[ii]; } else { Tablainfo ujgyoker = Tablainfok[ii].FirstTermParentTabinfo; if(ujgyoker==null) ujgyoker=Tablainfok[ii]; if (gyoker != ujgyoker) { string hibaszov = ""; for (int j = 0; j < Tablainfok.Count; j++) { if (gyoker != Tablainfok[j]) { if (gyoker.TermChildTabinfo.IndexOf(Tablainfok[j]) == -1) { if (hibaszov != "") hibaszov += ",\n"; hibaszov += Tablainfok[j].TablaTag.Azonositok.Szoveg; } } } hibaszov += "\n Nem elérhetö " + gyoker.TablaTag.Azonositok.Szoveg + "-ból\nParaméterezze újra!"; MessageBox.Show(hibaszov); Parameterhiba = true; return; } } } TablainfoCollection teljeschain = new TablainfoCollection(); TablainfoCollection chain; int maxchain = 1; foreach (Tablainfo egyinfo1 in gyoker.TermChildTabinfo) { int ii = egyinfo1.TermChildTabinfo.Count; if (ii > maxchain) maxchain = ii; } for(int i=0;i<gyoker.TermChildTabinfo.Count;i++) teljeschain.Add(gyoker.TermChildTabinfo[i]); int chaincount = teljeschain.Count; for (int i = 0; i < gyoker.TermChildTabinfo.Count; i++) { chain = gyoker.TermChildTabinfo[i].TermChildTabinfo; for (int j = 0; j < chain.Count; j++) teljeschain.Add(chain[j]); } int teljescount = teljeschain.Count; if (chaincount < teljeschain.Count) { chain = teljeschain; do { int ij = 0; do { for (int i = 0; i < chain.Count; i++) { TablainfoCollection egychain = chain[i].TermChildTabinfo; for (int j = 0; j < egychain.Count; j++) teljeschain.Add(egychain[j]); chaincount = teljeschain.Count; } ij++; if (chain.Count > ij) chain = chain[ij].TermChildTabinfo; else if(chaincount!=teljeschain.Count) { ij = 0; chain = teljeschain[chaincount - 1].TermChildTabinfo; } else break; } while (true); } while (chaincount != teljeschain.Count); } TablainfoCollection newtabinfok = new TablainfoCollection(); string elsotabinfoid = ""; ArrayList tabsorrend = new ArrayList(); int maxindex=-1; object[] egyobj; ArrayList indexar = new ArrayList(); for (int i = 0; i < Tablainfok.Count; i++) { egyobj = new object[2]; egyobj[1] = Tablainfok[i]; int j = -1; if (gyoker != Tablainfok[i]) { j = teljeschain.IndexOf(Tablainfok[i]); } egyobj[0] = j; indexar.Add(j); if (maxindex < j) maxindex = j; tabsorrend.Add(egyobj); } int egyindex = -1; do { for (int i = 0; i < tabsorrend.Count; i++) { egyobj = (object[])tabsorrend[i]; if (egyobj[0].ToString() == egyindex.ToString()) { newtabinfok.Add((Tablainfo)egyobj[1]); tabsorrend.RemoveAt(i); } } egyindex++; } while (tabsorrend.Count > 0); if (newtabinfok[0].TermParentTabinfo != null) elsotabinfoid = newtabinfok[0].TermParentTabinfo.IdentityColumnName; else elsotabinfoid = newtabinfok[0].IdentityColumnName; ElsoTabinfo = newtabinfok[0]; if (ElsoTabinfo.TermParentTabinfo != null) elsotabinfoid = ElsoTabinfo.TermParentTabinfo.IdentityColumnName; else elsotabinfoid = ElsoTabinfo.IdentityColumnName; Tablainfok = newtabinfok; for (int i = 0; i < Tablainfok.Count; i++) Tablainfok[i].ElsoTabinfo = ElsoTabinfo; Feltetelinfok.Rendezes(this); if (!Listae) { Oszlopfeltetelinfok.Rendezes(this); Sorfeltetelinfok.Rendezes(this); Matrixpontinfok.Osszegzesek(this); } TablainfoCollection parentchain = ElsoTabinfo.TermParentTabinfoChain; TablainfoCollection childchain = ElsoTabinfo.TermChildTabinfo; OsszesBeallitandoId = ElsoTabinfo.BeallitandoIdkArray("", ElsoTabinfo,Tablainfok, OsszesBeallitandoId, OsszesBeallitottIdErtek); foreach (Tablainfo info in Tablainfok) { if (info.TablaColumns.IndexOf("DATUMTOL") != -1) info.DatumString = Hivo.Datumtoligfeltetel; else if (info.TablaColumns.IndexOf("KEZDETE") != -1) info.DatumString = Hivo.Kezdetefeltetel; if (info != ElsoTabinfo) { info.BeallitandoIdkArray(elsotabinfoid, ElsoTabinfo,Tablainfok, OsszesBeallitandoId, OsszesBeallitottIdErtek); } } if (Feltetelinfok.Mezoinfok.Count != 0) Feltetelinfok.SortOsszeallit(); if (Oszlopfeltetelinfok.Mezoinfok.Count != 0) Oszlopfeltetelinfok.SortOsszeallit(); if (Sorfeltetelinfok.Mezoinfok.Count != 0) Sorfeltetelinfok.SortOsszeallit(); }
public void Zaras() { DataTable dt = new DataTable(); DataTable ceghoinfotabla = new DataTable("CEGSZLAHONAPOK"); MainControl.ValtozasBeallit("Datumvaltozas"); string[] gyujtotablanevek = new string[] { "AFAEGYENLEG", "BEVETELKIADAS", "EGYENLEG", "NYITOZARO", "PENZMOZGASOK" }; TablainfoCollection gyujtotablainfok = new TablainfoCollection(); for (int i = 0; i < gyujtotablanevek.Length; i++) gyujtotablainfok.Add(TermCegPluszCegalattiTabinfok[gyujtotablanevek[i]]); Tablainfo nyitozaroinfo = gyujtotablainfok["NYITOZARO"]; Tablainfo afaegyenleginfo = gyujtotablainfok["AFAEGYENLEG"]; Tablainfo bevkiadinfo = gyujtotablainfok["BEVETELKIADAS"]; Tablainfo egyenleginfo = gyujtotablainfok["EGYENLEG"]; Tablainfo penzmozgasok = gyujtotablainfok["PENZMOZGASOK"]; Tablainfo bevszlainfo = TermCegPluszCegalattiTabinfok["BEVSZLA"]; Tablainfo bevszlatetel = TermCegPluszCegalattiTabinfok["BEVSZLA_TETEL"]; Tablainfo koltsszlainfo = TermCegPluszCegalattiTabinfok["KOLTSSZLA"]; Tablainfo koltsszlatetel = TermCegPluszCegalattiTabinfok["KOLTSSZLA_TETEL"]; Tablainfo bankbolbankba = TermCegPluszCegalattiTabinfok["BANKBOLBANKBA"]; Tablainfo bankbolpenztarba = TermCegPluszCegalattiTabinfok["BANKBOLPENZTARBA"]; Tablainfo bankimozgas = TermCegPluszCegalattiTabinfok["BANKIMOZGAS"]; Tablainfo bankimozgastetel = TermCegPluszCegalattiTabinfok["BANKIMOZGAS_TETEL"]; Tablainfo penztarbolbankba = TermCegPluszCegalattiTabinfok["PENZTARBOLBANKBA"]; Tablainfo penztarbolpenztarba = TermCegPluszCegalattiTabinfok["PENZTARBOLPENZTARBA"]; Tablainfo penztarmozgas = TermCegPluszCegalattiTabinfok["PENZTARMOZGAS"]; TablainfoCollection tetelespenzmozgasok = new TablainfoCollection(); tetelespenzmozgasok.Add(bankbolbankba); tetelespenzmozgasok.Add(bankbolpenztarba); tetelespenzmozgasok.Add(bankimozgas); tetelespenzmozgasok.Add(penztarbolpenztarba); tetelespenzmozgasok.Add(penztarbolbankba); tetelespenzmozgasok.Add(penztarmozgas); string[] bevetelnevek = new string[] {"BEVETEL1","BEVETEL2","BEVETEL3","BEVETEL4","BEVETEL5", "BEVETEL6","BEVETEL7","BEVETEL8","BEVETEL9","BEVETEL10","BEVETEL11","BEVETEL12"}; string[] kiadasnevek = new string[]{"KIADAS1","KIADAS2","KIADAS3","KIADAS4","KIADAS5","KIADAS6", "KIADAS7","KIADAS8","KIADAS9","KIADAS10","KIADAS11","KIADAS12"}; string[] eredmnevek = new string[] { "EREDM1", "EREDM2", "EREDM3", "EREDM4", "EREDM5", "EREDM6", "EREDM7", "EREDM8", "EREDM9", "EREDM10", "EREDM11", "EREDM12" }; int maxev = UserParamTabla.AktualisDatum.Year; int induloev = maxev; string elozocegid = ""; string elozoev = ""; DataRow penzmozgasdr; if (UserParamTabla.NemLezartEvek.Count != 1) induloev = Convert.ToInt32(UserParamTabla.NemLezartEvek[0].ToString()); if (UserParamTabla.LezartEvek.Count != 0) { elozoev = UserParamTabla.LezartEvek[UserParamTabla.LezartEvek.Count - 1].ToString(); elozocegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", elozoev)[0]; } FakUserInterface.OpenProgress(); FakUserInterface.SetProgressText("Listaállományok elöállitása"); UserParamTabla.Infotoltkell = true; UserParamTabla.Cegevinfo.DataView.RowFilter = "EV < '" + induloev.ToString() + "'"; string[] cegidk = new string[UserParamTabla.Cegevinfo.DataView.Count]; string sel = ""; for (int i = 0; i < cegidk.Length; i++) { DataRow dr = UserParamTabla.Cegevinfo.DataView[i].Row; cegidk[i] = dr["CEGEV_ID"].ToString(); if (sel == "") sel = " where "; else sel = " or "; sel += "CEGEV_ID = " + cegidk[i]; } UserParamTabla.Cegevinfo.DataView.RowFilter = ""; for (int i = 0; i < gyujtotablanevek.Length; i++) { FakUserInterface.ProgressRefresh(); string tablanev = gyujtotablanevek[i]; Tablainfo egyinfo = gyujtotablainfok[i]; egyinfo.Adattabla.Rows.Clear(); dt = new DataTable(); if (cegidk.Length != 0) Sqlinterface.Select(dt, FakUserInterface.AktualCegconn, tablanev, sel, "", false); Sqlinterface.StoredProcedureCommand(dt, FakUserInterface.AktualCegconn, tablanev + "_PROC"); for (int j = 0; j < dt.Rows.Count; j++) { DataRow dr = dt.Rows[j]; DataRow ujsor = egyinfo.Ujsor(); for (int k = 0; k < dt.Columns.Count; k++) { string colnev = dt.Columns[k].ColumnName; Cols egycol = egyinfo.TablaColumns[colnev]; if (!egycol.IsIdentity) ujsor[colnev] = dr[colnev]; } } if (egyinfo.Modositott) FakUserInterface.Rogzit(egyinfo); } Tablainfo dolgozok = FakUserInterface.GetBySzintPluszTablanev("C", "DOLOZOK"); for (int ii = induloev; ii <= maxev; ii++) { FakUserInterface.ProgressRefresh(); string aktev = ii.ToString(); FakUserInterface.Cegadatok(new DateTime[] { Convert.ToDateTime(aktev + ".01.01"), Convert.ToDateTime(aktev + ".12.31") }); UserParamTabla.AktualisCegIntervallum = FakUserInterface.VerzioInfok["C"].AktIntervallum; UserParamTabla.AktualisCegverzioId = FakUserInterface.VerzioInfok["C"].AktVerzioId; string aktcegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", aktev)[0]; sel = " where CEGEV_ID = " + aktcegid; FakUserInterface.Select(ceghoinfotabla, FakUserInterface.AktualCegconn, "CEGSZLAHONAPOK", sel, "", false); if (ii != induloev) { elozoev = (ii - 1).ToString(); elozocegid = FakUserInterface.GetTartal(UserParamTabla.Cegevinfo, "CEGEV_ID", "EV", elozoev)[0]; } DataRow dr; DataRow bevkiaddr; string[] bankidk = FakUserInterface.GetTartal(FakUserInterface.GetBySzintPluszTablanev("C", "FOLYOSZAMLAK"), "FOLYOSZLA_ID"); string[] banknevek = FakUserInterface.GetTartal(FakUserInterface.GetBySzintPluszTablanev("C", "FOLYOSZAMLAK"), "SZOVEG"); ArrayList bankidar = new ArrayList(bankidk); string[] penztaridk = FakUserInterface.GetTartal(FakUserInterface.GetKodtab("C", "Penztarak"), "SORSZAM"); string[] penztarnevek = FakUserInterface.GetTartal(FakUserInterface.GetKodtab("C", "Penztarak"), "SZOVEG"); Tablainfo koltskodinfo = FakUserInterface.GetBySzintPluszTablanev("C", "KOLTSEGKOD"); koltskodinfo.DataView.RowFilter = "DOLGOZO_ID>0"; ArrayList dolgozoskoltsidk = new ArrayList(); ArrayList dolgozoidk = new ArrayList(); for (int i = 0; i < koltskodinfo.DataView.Count; i++) { dolgozoskoltsidk.Add(koltskodinfo.DataView[i].Row[koltskodinfo.IdentityColumnName].ToString()); dolgozoidk.Add(koltskodinfo.DataView[i].Row["DOLGOZO_ID"].ToString()); } koltskodinfo.DataView.RowFilter = ""; ArrayList penztaridar = new ArrayList(penztaridk); decimal[] elozobankinyito = new decimal[bankidk.Length]; decimal[] elozopenztarnyito = new decimal[penztaridk.Length]; if (elozocegid != "") { sel = " where CEGEV_ID = " + elozocegid; for (int i = 0; i < nyitozaroinfo.Adattabla.Rows.Count; i++) { dr = nyitozaroinfo.Adattabla.Rows[i]; decimal zaro = Convert.ToDecimal(dr["ZARO"].ToString()); string id = dr["FOLYOSZAMLA_ID"].ToString(); int j; if (id != "" && id != "0") { j = bankidar.IndexOf(id); elozobankinyito[j] = zaro; } else { id = dr["PENZTAR_ID"].ToString(); if (id != "" && id != "0") { j = penztaridar.IndexOf(id); elozopenztarnyito[j] = zaro; } } } } for (int i = 0; i < bankidk.Length; i++) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; string id = bankidk[i]; dr["FOLYOSZAMLA_ID"] = id; dr["JELOLO"] = 1; dr["NYITO"] = elozobankinyito[i]; dr["SZOVEG"] = banknevek[i]; } for (int i = 0; i < penztaridk.Length; i++) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; string id = penztaridk[i].ToString(); dr["PENZTAR_ID"] = id; dr["JELOLO"] = 2; dr["NYITO"] = elozopenztarnyito[i]; dr["SZOVEG"] = penztarnevek[i]; } if (nyitozaroinfo.Modositott) FakUserInterface.UpdateTransaction(new[] { nyitozaroinfo }); string bevsavfilt = bevszlainfo.DataView.RowFilter; string koltssavfilt = koltsszlainfo.DataView.RowFilter; string bevsavsort = bevszlainfo.DataView.Sort; string koltssavsort = koltsszlainfo.DataView.Sort; string bevtetelfilt = bevszlatetel.DataView.RowFilter; string bevtetelsort = bevszlatetel.DataView.Sort; string koltstetelfilt = koltsszlatetel.DataView.RowFilter; string koltstetelsort = koltsszlatetel.DataView.Sort; string szlafilter = ""; string penzmozgassavsort = ""; string penzmozgasfilter = ""; string penzmozgassort = "TERMFOCSOP_ID_K,TERMALCSOP_ID_K,TERMCSOP_ID_K,TERMEKKOD_ID_K,KOLTSFOCSOP_ID_K,KOLTSALCSOP_ID_K,KOLTSCSOP_ID_K,KOLTSEGKOD_ID_K"; string conn = FakUserInterface.AktualCegconn; bevszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(bevszlainfo.Adattabla, conn, "BEVSZLA", " where FIZETVE = 'I' and YEAR(KIEGYENL_DATUM) =" + aktev, " order by KIEGYENL_DATUM", false); bevszlainfo.Tartalmaktolt(); koltsszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(koltsszlainfo.Adattabla, conn, "KOLTSSZLA", " where FIZETVE = 'I' and YEAR(KIEGYENL_DATUM) =" + aktev, " order by KIEGYENL_DATUM", false); koltsszlainfo.Tartalmaktolt(); sel = " where YEAR(SZLA_DATUM) = " + aktev; string ord = " order by SZLA_DATUM"; for (int i = 0; i < tetelespenzmozgasok.Count; i++) { Tablainfo egyinfo = tetelespenzmozgasok[i]; egyinfo.Adattabla.Rows.Clear(); Sqlinterface.Select(egyinfo.Adattabla, conn, egyinfo.Tablanev, sel, ord, false); egyinfo.Tartalmaktolt(); } for (int k = 0; k < 12; k++) { FakUserInterface.ProgressRefresh(); string aktho = (k + 1).ToString(); if (aktho.Length == 1) aktho = "0" + aktho; string datumtolstring = aktev + "." + aktho + ".01"; string evho = datumtolstring.Substring(0, 7); DateTime datumtol = Convert.ToDateTime(datumtolstring); DateTime datumig = datumtol.AddMonths(1).AddDays(-1); string datumigstring = FakUserInterface.DatumToString(datumig); int hocolind = k; string bevcolnev = bevetelnevek[hocolind]; string kiadcolnev = kiadasnevek[hocolind]; string eredcolnev = eredmnevek[hocolind]; szlafilter = "KIEGYENL_DATUM >='" + datumtolstring + "' AND KIEGYENL_DATUM <='" + datumigstring + "'"; bevszlainfo.DataView.RowFilter = szlafilter; bevszlatetel.DataView.Sort = "TERMFOCSOP_ID_K,TERMALCSOP_ID_K,TERMCSOP_ID_K,TERMEKKOD_ID_K"; decimal eddigibev = 0; decimal eddigikiad = 0; decimal bev = 0; decimal kiad = 0; string egyenlegid; DataRow bdr; string egyenleg_idnev; string[] egyenlegidk = null; string[] egyenleg_idnevek = null; string[] partnerszovegek = null; object[] osszegek = null; string[] gyujtoosszegnevek = null; string[] bevkiadcolnevek = null; string mozgevho = ""; string termekkodid = ""; string termcsopid = ""; string termalcsopid = ""; string termfocsopid = ""; string koltsegkodid = ""; string koltscsopid = ""; string koltsalcsopid = ""; string koltsfocsopid = ""; string dolgozoid = ""; for (int j = 0; j < bevszlainfo.DataView.Count; j++) { bdr = bevszlainfo.DataView[j].Row; egyenlegid = bdr["FOLYOSZAMLA_ID"].ToString(); if (egyenlegid != "0") egyenleg_idnev = "FOLYOSZAMLA_ID"; else { egyenlegid = bdr["PENZTAR_ID"].ToString(); egyenleg_idnev = "PENZTAR_ID"; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnev] = egyenlegid; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); DataRow egyenlegdr; string partnerid = bdr["PARTNER_ID"].ToString(); egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = partnerid; egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["MEGNEVEZES"] = bdr["MEGJEGYZES"]; string id = bdr["BEVSZLA_ID"].ToString(); egyenlegdr[bevcolnev] = Convert.ToDecimal(bdr["OSSZBEVETEL"].ToString()); penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = partnerid; penzmozgasdr["PARTNERSZOVEG"] = bdr["PARTNER_ID_K"]; penzmozgasdr["SZOVEG"] = bdr["MEGJEGYZES"]; penzmozgasdr["BETET"] = bdr["OSSZBEVETEL"]; penzmozgasdr["MOZGASDATUM"] = bdr["KIEGYENL_DATUM"]; mozgevho = bdr["KIEGYENL_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; bevszlatetel.Rows.Clear(); Sqlinterface.Select(bevszlatetel.Adattabla, bevszlatetel.Adattabla.Connection, "BEVSZLA_TETEL", "where BEVSZLA_ID = " + id, "", false); bevszlatetel.DataView.RowFilter = ""; for (int i = 0; i < bevszlatetel.DataView.Count; i++) { dr = bevszlatetel.DataView[i].Row; termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); bev = Convert.ToDecimal(dr["NETTO"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + " AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; } } koltsszlainfo.DataView.RowFilter = szlafilter; koltsszlatetel.DataView.Sort = "KOLTSFOCSOP_ID_K,KOLTSALCSOP_ID_K,KOLTSCSOP_ID_K,KOLTSEGKOD_ID_K"; for (int j = 0; j < koltsszlainfo.DataView.Count; j++) { bdr = koltsszlainfo.DataView[j].Row; egyenlegid = bdr["FOLYOSZAMLA_ID"].ToString(); if (egyenlegid != "0") egyenleg_idnev = "FOLYOSZAMLA_ID"; else { egyenlegid = bdr["PENZTAR_ID"].ToString(); egyenleg_idnev = "PENZTAR_ID"; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnev] = egyenlegid; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnev + "=" + egyenlegid; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); string partnerid = bdr["PARTNER_ID"].ToString(); DataRow egyenlegdr; egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = partnerid; egyenlegdr["MEGNEVEZES"] = bdr["MEGJEGYZES"]; egyenlegdr[kiadcolnev] = Convert.ToDecimal(bdr["OSSZKIADAS"].ToString()); penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = partnerid; penzmozgasdr["PARTNERSZOVEG"] = bdr["PARTNER_ID_K"]; penzmozgasdr["SZOVEG"] = bdr["MEGJEGYZES"]; penzmozgasdr["KIVET"] = bdr["OSSZKIADAS"]; penzmozgasdr["MOZGASDATUM"] = bdr["KIEGYENL_DATUM"]; mozgevho = bdr["KIEGYENL_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; string id = bdr["KOLTSSZLA_ID"].ToString(); koltsszlatetel.Rows.Clear(); Sqlinterface.Select(koltsszlatetel.Adattabla, koltsszlatetel.Adattabla.Connection, "KOLTSSZLA_TETEL", "where KOLTSSZLA_ID = " + id, "", false); koltsszlatetel.DataView.RowFilter = ""; for (int i = 0; i < koltsszlatetel.DataView.Count; i++) { dr = koltsszlatetel.DataView[i].Row; termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["NETTO"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND (KOLTSKOD_ID = 0 OR KOLTSKOD_ID = " + koltsegkodid + ")"; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; } bevkiaddr[kiadcolnev] = eddigikiad; } } eddigibev=0; eddigikiad=0; penzmozgasfilter = "SZLA_DATUM>='" + datumtolstring + "' AND SZLA_DATUM<='" + datumigstring + "' AND (TERMEKKOD_ID <> 0 OR KOLTSEGKOD_ID<>0)"; penzmozgassavsort = bankimozgastetel.DataView.Sort; bankimozgastetel.DataView.RowFilter = penzmozgasfilter; for (int i = 0; i < bankimozgastetel.DataView.Count; i++) { dr = bankimozgastetel.DataView[i].Row; termekkodid=dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev=Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } bankimozgastetel.DataView.RowFilter = ""; bankimozgastetel.DataView.Sort = penzmozgassavsort; penzmozgassavsort=bankimozgas.DataView.Sort; bankimozgas.DataView.RowFilter = penzmozgasfilter + " AND TETELSOROK_SZAMA = 0"; bankimozgas.DataView.Sort = penzmozgassort; for (int i = 0; i < bankimozgas.DataView.Count; i++) { dr = bankimozgas.DataView[i].Row; termekkodid=dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev=Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } bankimozgas.DataView.RowFilter = ""; bankimozgas.DataView.Sort = penzmozgassavsort; penztarmozgas.DataView.RowFilter = penzmozgasfilter; penzmozgassavsort = penztarmozgas.DataView.Sort; penztarmozgas.DataView.Sort = penzmozgassavsort; for (int i = 0; i < penztarmozgas.DataView.Count; i++) { dr = penztarmozgas.DataView[i].Row; termekkodid = dr["TERMEKKOD_ID"].ToString(); if (termekkodid != "0") { termfocsopid = dr["TERMFOCSOP_ID"].ToString(); termalcsopid = dr["TERMALCSOP_ID"].ToString(); termcsopid = dr["TERMCSOP_ID"].ToString(); termekkodid = dr["TERMEKKOD_ID"].ToString(); koltsfocsopid = dr["KOLTSFOCSOP_ID"].ToString(); koltsalcsopid = dr["KOLTSALCSOP_ID"].ToString(); koltscsopid = dr["KOLTSCSOP_ID"].ToString(); koltsegkodid = dr["KOLTSEGKOD_ID"].ToString(); int pos = dolgozoskoltsidk.IndexOf(koltsegkodid); if (pos == -1) dolgozoid = "0"; else dolgozoid = dolgozoidk[pos].ToString(); kiad = Convert.ToDecimal(dr["KIVET"].ToString()); bev = Convert.ToDecimal(dr["BETET"].ToString()); bevkiadinfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMFOCSOP_ID = " + termfocsopid + " AND TERMALCSOP_ID = " + termalcsopid + "AND TERMCSOP_ID = " + termcsopid + "AND TERMEKKOD_ID = " + termekkodid + " AND KOLTSKOD_ID = " + koltsegkodid; int count = bevkiadinfo.DataView.Count; bevkiaddr = null; if (count != 0) { bevkiaddr = bevkiadinfo.DataView[0].Row; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + kiad; eddigibev = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + bev; } bevkiadinfo.DataView.RowFilter = ""; if (count == 0) { bevkiadinfo.ViewSorindex = -1; bevkiaddr = bevkiadinfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = termfocsopid; bevkiaddr["TERMALCSOP_ID"] = termalcsopid; bevkiaddr["TERMCSOP_ID"] = termcsopid; bevkiaddr["TERMEKKOD_ID"] = termekkodid; bevkiaddr["KOLTSFOCSOP_ID"] = koltsfocsopid; bevkiaddr["KOLTSALCSOP_ID"] = koltsalcsopid; bevkiaddr["KOLTSCSOP_ID"] = koltscsopid; bevkiaddr["KOLTSKOD_ID"] = koltsegkodid; bevkiaddr["DOLGOZO_ID"] = dolgozoid; eddigikiad = kiad; eddigibev = bev; } bevkiaddr[bevcolnev] = eddigibev; bevkiaddr[kiadcolnev] = eddigikiad; } } penztarmozgas.DataView.RowFilter = ""; penztarmozgas.DataView.Sort = penzmozgassavsort; string datumfilter = "SZLA_DATUM>='" + datumtolstring + "' AND SZLA_DATUM<='" + datumigstring + "'"; for (int i = 0; i < tetelespenzmozgasok.Count; i++) { Tablainfo egyinfo = tetelespenzmozgasok[i]; egyinfo.DataView.RowFilter = datumfilter; for (int j = 0; j < egyinfo.DataView.Count; j++) { bdr = egyinfo.DataView[j].Row; switch (egyinfo.Tablanev) { case "BANKBOLBANKBA": egyenlegidk = new string[] { bdr["FOLYOSZAMLA_BOL"].ToString(), bdr["FOLYOSZAMLA_BA"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID", "FOLYOSZAMLA_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BA_K"].ToString() + "-ba", bdr["FOLYOSZAMLA_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "BANKBOLPENZTARBA": egyenlegidk = new string[] { bdr["FOLYOSZAMLA_BOL"].ToString(), bdr["PENZTAR_BA"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID", "PENZTAR_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BOL_K"].ToString() + "-ba", bdr["PENZTAR_BA_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "BANKIMOZGAS": bool betet = Convert.ToDecimal(bdr["BETET"].ToString()) != 0; egyenlegidk = new string[] {bdr["FOLYOSZAMLA_ID"].ToString() }; egyenleg_idnevek = new string[] { "FOLYOSZAMLA_ID" }; if (betet) { string termek = bdr["TERMEKKOD_ID_K"].ToString(); if (termek != "" && termek!="0") partnerszovegek = new string[] { "Term.kód = " + termek}; else partnerszovegek = new string[] { bdr["FOLYOSZAMLA_ID_K"].ToString() + "-ba" }; osszegek = new object[] { bdr["BETET"] }; gyujtoosszegnevek = new string[] { "BETET" }; bevkiadcolnevek = new string[] { bevcolnev }; } else { string koltseg = bdr["KOLTSEGKOD_ID_K"].ToString(); if (koltseg != "" && koltseg!="0") partnerszovegek = new string[] { "Költs.kód = " + koltseg }; else partnerszovegek = new string[] { bdr["FOLYOSZAMLA_ID_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET" }; bevkiadcolnevek = new string[] { kiadcolnev }; } break; case "PENZTARBOLPENZTARBA": egyenlegidk = new string[] { bdr["PENZTAR_BOL"].ToString(), bdr["PENZTAR_BA"].ToString() }; egyenleg_idnevek = new string[] { "PENZTAR_ID", "PENZTAR_ID" }; partnerszovegek = new string[] { bdr["PENZTAR_BA_K"].ToString() + "-ba", bdr["PENZTAR_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "PENZTARBOLBANKBA": egyenlegidk = new string[] { bdr["PENZTAR_BOL"].ToString(), bdr["FOLYOSZAMLA_BA"].ToString() }; egyenleg_idnevek = new string[] { "PENZTAR_ID", "FOLYOSZAMLA_ID" }; partnerszovegek = new string[] { bdr["FOLYOSZAMLA_BA_K"].ToString() + "-ba", bdr["PENZTAR_BOL_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"], bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET", "BETET" }; bevkiadcolnevek = new string[] { kiadcolnev, bevcolnev }; break; case "PENZTARMOZGAS": betet = Convert.ToDecimal(bdr["BETET"].ToString()) != 0; egyenlegidk = new string[] {bdr["PENZTAR_ID"].ToString()}; egyenleg_idnevek = new string[] { "PENZTAR_ID" }; if (betet) { string termek = bdr["TERMEKKOD_ID_K"].ToString(); if (termek != "" && termek!="0") partnerszovegek = new string[] { "Term.kód = " + termek }; else partnerszovegek = new string[] { bdr["PENZTAR_ID_K"].ToString() + "-ba" }; osszegek = new object[] { bdr["BETET"] }; gyujtoosszegnevek = new string[] { "BETET" }; bevkiadcolnevek = new string[] { bevcolnev }; } else { string koltseg = bdr["KOLTSEGKOD_ID_K"].ToString(); if (koltseg != "" && koltseg!="0") partnerszovegek = new string[] { "Költs.kód = " + koltseg }; else partnerszovegek = new string[] { bdr["PENZTAR_ID_K"].ToString() + "-ból" }; osszegek = new object[] { bdr["KIVET"] }; gyujtoosszegnevek = new string[] { "KIVET" }; bevkiadcolnevek = new string[] { kiadcolnev }; } break; } for (int kk = 0; kk < egyenlegidk.Length; kk++) { nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnevek[kk] + "=" + egyenlegidk[kk]; if (nyitozaroinfo.DataView.Count == 0) { nyitozaroinfo.ViewSorindex = -1; dr = nyitozaroinfo.Adattabla.Ujsor(); dr["EGYENLEGEV"] = aktev; dr["CEGEV_ID"] = aktcegid; dr[egyenleg_idnevek[kk]] = egyenlegidk[kk]; FakUserInterface.UpdateTransaction(new Tablainfo[] { nyitozaroinfo }); nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "' AND " + egyenleg_idnevek[kk] + "=" + egyenlegidk[kk]; } string nyitozaroid = nyitozaroinfo.DataView[0].Row["NYITOZARO_ID"].ToString(); DataRow egyenlegdr; egyenleginfo.ViewSorindex = -1; egyenlegdr = egyenleginfo.Ujsor(); egyenlegdr["CEGEV_ID"] = aktcegid; egyenlegdr["NYITOZARO_ID"] = nyitozaroid; egyenlegdr["PARTNER_ID"] = "0"; egyenlegdr["MEGNEVEZES"] = bdr["SZOVEG"]; egyenlegdr[bevkiadcolnevek[kk]] = osszegek[kk]; penzmozgasok.ViewSorindex = -1; penzmozgasdr = penzmozgasok.Ujsor(); penzmozgasdr["CEGEV_ID"] = aktcegid; penzmozgasdr["CEGHONAP_ID"] = bdr["CEGHONAP_ID"]; penzmozgasdr["NYITOZARO_ID"] = nyitozaroid; penzmozgasdr["PARTNER_ID"] = "0"; penzmozgasdr["PARTNERSZOVEG"] = partnerszovegek[kk]; penzmozgasdr["SZOVEG"] = bdr["SZOVEG"]; penzmozgasdr[gyujtoosszegnevek[kk]] = osszegek[kk]; penzmozgasdr["MOZGASDATUM"] = bdr["SZLA_DATUM"]; mozgevho = bdr["SZLA_DATUM"].ToString().Substring(0, 7); penzmozgasdr["EVHO"] = mozgevho; } } } } decimal bevossz = 0; decimal kiadossz = 0; decimal eredmossz = 0; bevkiadinfo.DataView.RowFilter = "BEVKIADEV='" + aktev + "'"; for (int i = 0; i < bevkiadinfo.DataView.Count; i++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = bevkiadinfo.DataView[i].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; } nyitozaroinfo.DataView.RowFilter = "EGYENLEGEV='" + aktev + "'"; ; for (int i = 0; i < nyitozaroinfo.DataView.Count; i++) { decimal zaro = Convert.ToDecimal(nyitozaroinfo.DataView[i]["NYITO"].ToString()); string nyitoid = nyitozaroinfo.DataView[i].Row["NYITOZARO_ID"].ToString(); egyenleginfo.DataView.RowFilter = "NYITOZARO_ID=" + nyitoid; if (egyenleginfo.DataView.Count == 0) { egyenleginfo.DataView.RowFilter = ""; egyenleginfo.ViewSorindex=-1; dr = egyenleginfo.Ujsor(); dr["NYITOZARO_ID"] = nyitoid; dr["CEGEV_ID"] = aktcegid; } else { for (int k = 0; k < egyenleginfo.DataView.Count; k++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = egyenleginfo.DataView[k].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; zaro += eredmossz; } nyitozaroinfo.DataView[i].Row["ZARO"] = zaro; nyitozaroinfo.DataView[i].Row["MODOSITOTT_M"] = 1; nyitozaroinfo.Modositott = true; } } bevszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(bevszlainfo.Adattabla, FakUserInterface.AktualCegconn, "BEVSZLA", " where YEAR(DATUM_TELJ) =" + aktev, " order by DATUM_TELJ", false); koltsszlainfo.Adattabla.Rows.Clear(); Sqlinterface.Select(koltsszlainfo.Adattabla, FakUserInterface.AktualCegconn, "KOLTSSZLA", " where YEAR(DATUM_TELJ) =" + aktev, " order by DATUM_TELJ", false); decimal eddigiafa = 0; decimal afa = 0; for (int k = 0; k < 12; k++) { FakUserInterface.ProgressRefresh(); string aktho = (k + 1).ToString(); if (aktho.Length == 1) aktho = "0" + aktho; string datumtolstring = aktev + "." + aktho + ".01"; DateTime datumtol = Convert.ToDateTime(datumtolstring); DateTime datumig = datumtol.AddMonths(1).AddDays(-1); string datumigstring = FakUserInterface.DatumToString(datumig); int hocolind = k; string bevcolnev = bevetelnevek[hocolind]; string kiadcolnev = kiadasnevek[hocolind]; string eredcolnev = eredmnevek[hocolind]; szlafilter = "DATUM_TELJ >='" + datumtolstring + "' AND DATUM_TELJ <='" + datumigstring + "'"; bevszlainfo.DataView.RowFilter = szlafilter; for (int j = 0; j < bevszlainfo.DataView.Count; j++) { DataRow bdr = bevszlainfo.DataView[j].Row; string id = bdr["BEVSZLA_ID"].ToString(); bevszlatetel.Rows.Clear(); Sqlinterface.Select(bevszlatetel.Adattabla, bevszlatetel.Adattabla.Connection, "BEVSZLA_TETEL", "where BEVSZLA_ID = " + id, "", false); bevszlatetel.DataView.RowFilter = ""; for (int i = 0; i < bevszlatetel.DataView.Count; i++) { dr = bevszlatetel.DataView[i].Row; afa = Convert.ToDecimal(dr["AFA"].ToString()); afaegyenleginfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMEKKOD_ID = " + dr["TERMEKKOD_ID"].ToString(); bevkiaddr = null; int count = afaegyenleginfo.DataView.Count; if (count != 0) { bevkiaddr = afaegyenleginfo.DataView[0].Row; eddigiafa = Convert.ToDecimal(bevkiaddr[bevcolnev].ToString()) + afa; } afaegyenleginfo.DataView.RowFilter = ""; if (count == 0) { afaegyenleginfo.ViewSorindex = -1; bevkiaddr = afaegyenleginfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = dr["TERMFOCSOP_ID"]; bevkiaddr["TERMALCSOP_ID"] = dr["TERMALCSOP_ID"]; bevkiaddr["TERMCSOP_ID"] = dr["TERMCSOP_ID"]; bevkiaddr["TERMEKKOD_ID"] = dr["TERMEKKOD_ID"]; eddigiafa = afa; } bevkiaddr[bevcolnev] = eddigiafa; } } koltsszlainfo.DataView.RowFilter = szlafilter; for (int j = 0; j < koltsszlainfo.DataView.Count; j++) { DataRow bdr = koltsszlainfo.DataView[j].Row; string id = bdr["KOLTSSZLA_ID"].ToString(); koltsszlatetel.Rows.Clear(); Sqlinterface.Select(koltsszlatetel.Adattabla, koltsszlatetel.Adattabla.Connection, "KOLTSSZLA_TETEL", "where KOLTSSZLA_ID = " + id, "", false); koltsszlatetel.DataView.RowFilter = ""; for (int i = 0; i < koltsszlatetel.DataView.Count; i++) { dr = koltsszlatetel.DataView[i].Row; afa = Convert.ToDecimal(dr["AFA"].ToString()); bevkiaddr = null; afaegyenleginfo.DataView.RowFilter = "BEVKIADEV = " + aktev + " AND TERMEKKOD_ID = " + dr["TERMEKKOD_ID"].ToString(); int count = afaegyenleginfo.DataView.Count; if (count != 0) { bevkiaddr = afaegyenleginfo.DataView[0].Row; eddigiafa = Convert.ToDecimal(bevkiaddr[kiadcolnev].ToString()) + afa; } afaegyenleginfo.DataView.RowFilter = ""; if (count == 0) { afaegyenleginfo.ViewSorindex = -1; bevkiaddr = afaegyenleginfo.Ujsor(); bevkiaddr["BEVKIADEV"] = aktev; bevkiaddr["CEGEV_ID"] = aktcegid; bevkiaddr["TERMFOCSOP_ID"] = dr["TERMFOCSOP_ID"]; bevkiaddr["TERMALCSOP_ID"] = dr["TERMALCSOP_ID"]; bevkiaddr["TERMCSOP_ID"] = dr["TERMCSOP_ID"]; bevkiaddr["TERMEKKOD_ID"] = dr["TERMEKKOD_ID"]; bevkiaddr["KOLTSKOD_ID"] = dr["KOLTSEGKOD_ID"]; eddigiafa = afa; } bevkiaddr[kiadcolnev] = eddigiafa; } } // } afaegyenleginfo.DataView.RowFilter = "BEVKIADEV='" + aktev + "'"; for (int i = 0; i < afaegyenleginfo.DataView.Count; i++) { bevossz = 0; kiadossz = 0; eredmossz = 0; dr = afaegyenleginfo.DataView[i].Row; for (int j = 0; j < 12; j++) { decimal egybev = Convert.ToDecimal(dr[bevetelnevek[j]].ToString()); decimal egykiad = Convert.ToDecimal(dr[kiadasnevek[j]].ToString()); decimal egyeredm = egybev - egykiad; dr[eredmnevek[j]] = egyeredm; bevossz += egybev; kiadossz += egykiad; eredmossz += egyeredm; } dr["BEVOSSZ"] = bevossz; dr["KIADOSSZ"] = kiadossz; dr["EREDMOSSZ"] = eredmossz; } bevszlainfo.DataView.RowFilter = bevsavfilt; koltsszlainfo.DataView.RowFilter = koltssavfilt; bevszlainfo.DataView.Sort = bevsavsort; koltsszlainfo.DataView.Sort = koltssavsort; bevszlatetel.DataView.RowFilter = bevtetelfilt; bevszlatetel.DataView.Sort = bevtetelsort; koltsszlatetel.DataView.RowFilter = koltstetelfilt; koltsszlatetel.DataView.Sort = koltstetelsort; bankbolbankba.DataView.RowFilter = ""; bankbolpenztarba.DataView.RowFilter = ""; bankimozgas.DataView.RowFilter = ""; penztarbolbankba.DataView.RowFilter = ""; penztarbolpenztarba.DataView.RowFilter = ""; penztarmozgas.DataView.RowFilter = ""; for (int i = 0; i < gyujtotablainfok.Count; i++) gyujtotablainfok[i].DataView.RowFilter = ""; for (int i = 0; i < UserParamTabla.Cegevinfo.DataView.Count; i++) { dr = UserParamTabla.Cegevinfo.DataView[i].Row; dr["KELLZARAS"] = "N"; dr["MODOSITOTT_M"] = 1; UserParamTabla.Cegevinfo.Modositott = true; } FakUserInterface.Rogzit(new Tablainfo[] { UserParamTabla.Cegevinfo, afaegyenleginfo, bevkiadinfo, egyenleginfo, nyitozaroinfo, penzmozgasok }); UserParamTabla.SetKozosAllapotok(); } FakUserInterface.CloseProgress(); UserParamTabla.KellZaras = false; UserParamTabla.Infotolt(); } }
public TablainfoCollection GetBySzintPluszVerzioid(string szint, int aktverzioid) { csakbase = true; TablainfoCollection coll = new TablainfoCollection(); for (int i = 0; i < azontipek.Count; i++) { Tablainfo info = this[i]; if (info.KellVerzio && info.LastVersionId == aktverzioid && info.Szint == szint) coll.Add(info); } return coll; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <returns></returns> public TablainfoCollection GetCegPluszCegalattiTermTablaInfok() { csakbase = true; Tablainfo egyinfo; ArrayList ar = new ArrayList(); for (int i = 0; i < termszarmok.Count; i++) { if (termszarmok[i].ToString().Trim() == "T" && tablanevek[i].ToString() != "TARTAL") { egyinfo = this[i]; if (("C" + egyinfo.Fak.Szintstring).Contains(szintek[i].ToString()) && egyinfo.TermParentTabinfo == null) ar = AddChildren(ar,egyinfo); } } TablainfoCollection tc = new TablainfoCollection(); for (int i = 0; i < ar.Count; i++) { if (tc.IndexOf((Tablainfo)ar[i]) == -1) tc.Add(ar[i]); } csakbase = false; return tc; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <param name="tablanev"></param> /// <returns></returns> public TablainfoCollection GetByTablanev(string tablanev) { csakbase = true; TablainfoCollection ar = new TablainfoCollection(); for (int i = 0; i < this.Count; i++) { if (tablanev == tablanevek[i].ToString()) ar.Add(this[i]); } csakbase = false; return ar; }
/// <summary> /// FakUserInterfacenel leirva /// </summary> /// <param name="szint"></param> /// <returns></returns> public TablainfoCollection GetBySzint(string szint) { csakbase = true; TablainfoCollection ar = new TablainfoCollection(); for (int i = 0; i < this.Count; i++) { if (szint.Contains(szintek[i].ToString())) ar.Add(this[i]); } csakbase = false; return ar; }
private bool TobbiOszlopTabinfoSelect(int aktoszlind) { ArrayList ar = (ArrayList)Listainfok.Oszlopfeltetelinfok.FeltetelinfoCollection.Reszelemek[aktoszlind]; Feltetelinfo[] feltinfok = (Feltetelinfo[])ar.ToArray(typeof(Feltetelinfo)); TablainfoCollection tc = new TablainfoCollection(); for (int i = 0; i < feltinfok.Length; i++) tc.Add(feltinfok[i].Tabinfo); for (int k = 0; k < tc.Count; k++) { Tablainfo tabinfo = tc[k]; int j = tabinfok.IndexOf(tabinfo); string savfilt = SaveFilterek[j]; if (tabinfo == elsotabinfo) savfilt = tabinfo.DataView.RowFilter; tabinfo.DataView.RowFilter = ""; if (savfilt != "") { if (savfilt.Contains("OR") && !savfilt.EndsWith(")")) savfilt = "(" + savfilt + ")"; savfilt += " AND "; } string filt = tabinfo.GetOszlopRowFilter(aktoszlind); if (filt != "") { if (filt.Contains("OR")) filt = "(" + filt + ")"; tabinfo.DataView.RowFilter = savfilt + filt; } uresek[j] = tabinfo.DataView.Count == 0; if (uresek[j]) tabinfo.ViewSorindex = -1; else tabinfo.ViewSorindex = 0; tabinfo.IdErtekBeallitasok(tabinfo.AktualViewRow, OsszesBeallitottIdErtek); } ures = false; for (int j = 0; j < tabinfok.Count; j++) { if (uresek[j]) { ures = true; break; } } return ures; }