public int betalinger_fra_pbs() { string rec; string leverancetype; string leverancespecifikation; DateTime leverancedannelsesdato; string sektion; int wpbsfilesid; int wleveranceid; int AntalFiler = 0; // wpbsfilesid = 3450 //'--test test // leverancetype = "0602" // sektion = "0211" // rec = "BS0420398564402360000000100000000001231312345678910120310000000012755000000125 3112031112030000000012755" var qrypbsfiles = from h in Program.dbData3060.Tblpbsfiles where h.Pbsforsendelseid == null join d in Program.dbData3060.Tblpbsfile on h.Id equals d.Pbsfilesid where d.Seqnr == 1 && d.Data.Substring(16, 4) == "0602" && d.Data.Substring(0, 2) == "BS" select new { h.Id, h.Path, h.Filename, leverancetype = d.Data.Substring(16, 4), delsystem = d.Data.Substring(13, 3), }; foreach (var rstpbsfiles in qrypbsfiles) { try { wpbsfilesid = rstpbsfiles.Id; AntalFiler++; leverancetype = ""; sektion = ""; leverancespecifikation = ""; var qrypbsfile = from d in Program.dbData3060.Tblpbsfile where d.Pbsfilesid == wpbsfilesid && d.Data.Substring(0, 6) != "PBCNET" orderby d.Seqnr select d; foreach (var rstpbsfile in qrypbsfile) { rec = rstpbsfile.Data; // -- Bestem Leverance Type if (rstpbsfile.Seqnr == 1) { if ((rec.Substring(0, 5) == "BS002")) { // -- Leverance Start leverancetype = rec.Substring(16, 4); leverancespecifikation = rec.Substring(20, 10); leverancedannelsesdato = DateTime.Parse("20" + rec.Substring(53, 2) + "-" + rec.Substring(51, 2) + "-" + rec.Substring(49, 2)); } else { throw new Exception("241 - Første record er ikke en Leverance start record"); } if ((leverancetype == "0602")) { // -- Leverance 0602 var antal = (from c in Program.dbData3060.Tblfrapbs where c.Leverancespecifikation == leverancespecifikation select c).Count(); if (antal > 0) { throw new Exception("242 - Leverance med pbsfilesid: " + wpbsfilesid + " og leverancespecifikation: " + leverancespecifikation + " er indlæst tidligere"); } wleveranceid = clsPbs.nextval("leveranceid"); m_rec_pbsforsendelse = new Tblpbsforsendelse { Delsystem = "BS1", Leverancetype = "0602", Oprettetaf = "Bet", Oprettet = DateTime.Now, Leveranceid = wleveranceid }; Program.dbData3060.Tblpbsforsendelse.InsertOnSubmit(m_rec_pbsforsendelse); m_rec_frapbs = new Tblfrapbs { Delsystem = "BS1", Leverancetype = "0602", Leverancespecifikation = leverancespecifikation, Leverancedannelsesdato = leverancedannelsesdato, Udtrukket = DateTime.Now }; m_rec_pbsforsendelse.Tblfrapbs.Add(m_rec_frapbs); m_rec_pbsfiles = (from c in Program.dbData3060.Tblpbsfiles where c.Id == rstpbsfiles.Id select c).First(); m_rec_pbsforsendelse.Tblpbsfiles.Add(m_rec_pbsfiles); } } if ((leverancetype == "0602")) { // -- Leverance 0602********* // -- Bestem Sektions Type if ((sektion == "")) { if ((rec.Substring(0, 5) == "BS012")) { // -- Sektion Start sektion = rec.Substring(13, 4); } else if (!((rec.Substring(0, 5) == "BS992") || (rec.Substring(0, 5) == "BS002"))) { throw new Exception("243 - Første record er ikke en Sektions start record"); } } if ((rec.Substring(0, 5) == "BS002")) { // -- Leverance start // -- BEHANDL: Leverance start } else if ((sektion == "0211")) { // -- Sektion 0211 Betalingsinformation if (((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0211"))) { // -- Sektion Start // -- BEHANDL: Sektion Start } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0236"))) { // -- Gennemf?rt automatisk betaling // -- BEHANDL: Gennemf?rt automatisk betaling read042(sektion, "0236", rec); } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0237"))) { // -- Afvist betaling // -- BEHANDL: Afvist betaling read042(sektion, "0237", rec); } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0238"))) { // -- Afmeldt betaling // -- BEHANDL: Afmeldt betaling read042(sektion, "0238", rec); } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0239"))) { // -- Tilbagef?rt betaling // -- BEHANDL: Tilbagef?rt betaling read042(sektion, "0239", rec); } else if (((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0211"))) { // -- Sektion S**t // -- BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("244 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); } } else if ((sektion == "0215")) { // -- Sektion 0215 FI-Betalingsinformation if (((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0215"))) { // -- Sektion Start // -- BEHANDL: Sektion Start } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0297"))) { // -- Gennemf?rt FI-betaling // -- BEHANDL: Gennemf?rt FI-betaling read042(sektion, "0297", rec); } else if (((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0299"))) { // -- Tilbagef?rt FI-betaling // -- BEHANDL: Tilbagef?rt FI-betaling read042(sektion, "0299", rec); } else if (((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0215"))) { // -- Sektion S**t // -- BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("245 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); } } else if ((rec.Substring(0, 5) == "BS992")) { // -- Leverance s**t // -- BEHANDL: Leverance S**t leverancetype = ""; } else { throw new Exception("246 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); } } else { throw new Exception("247 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); } } // s**t rstpbsfile // -- Update indbetalingsbelob foreach (Tblbet rec_bet in m_rec_frapbs.Tblbet) { var SumIndbetalingsbelob = ( from c in rec_bet.Tblbetlin group c by c.Betid into g select new { Betid = g.Key, SumIndbetalingsbelob = g.Sum(c => c.Indbetalingsbelob) } ).First().SumIndbetalingsbelob; rec_bet.Indbetalingsbelob = SumIndbetalingsbelob; } } catch (Exception e) { switch (e.Message.Substring(0, 3)) { case "241": //241 - Første record er ikke en Leverance start record case "242": //242 - Leverancen er indlæst tidligere case "243": //243 - Første record er ikke en Sektions start record case "244": //244 - Record ukendt case "245": //245 - Record ukendt case "246": //246 - Record ukendt case "247": //247 - Record ukendt AntalFiler--; break; default: throw; } } } // s**t rstpbsfiles Program.dbData3060.SubmitChanges(); return(AntalFiler); }
public int aftaleoplysninger_fra_pbs() { int dummy = 0; string rec; string leverance; string leverancespecifikation; DateTime leverancedannelsesdato; string sektion; int wpbsfilesid; int wleveranceid; int AntalFiler = 0; var qrypbsfiles = from h in Program.dbData3060.Tblpbsfiles where h.Pbsforsendelseid == null join d in Program.dbData3060.Tblpbsfile on h.Id equals d.Pbsfilesid where d.Seqnr == 1 && d.Data.Substring(16, 4) == "0603" && d.Data.Substring(0, 2) == "BS" select new { h.Id, h.Path, h.Filename, leverancetype = d.Data.Substring(16, 4), delsystem = d.Data.Substring(13, 3), }; int DebugCount = qrypbsfiles.Count(); foreach (var rstpbsfiles in qrypbsfiles) { //try { wpbsfilesid = rstpbsfiles.Id; AntalFiler++; leverance = ""; sektion = ""; leverancespecifikation = ""; var qrypbsfile = from d in Program.dbData3060.Tblpbsfile where d.Pbsfilesid == wpbsfilesid && d.Data.Substring(0, 6) != "PBCNET" orderby d.Seqnr select d; foreach (var rstpbsfile in qrypbsfile) { rec = rstpbsfile.Data; // Bestem Leverance Type if (rstpbsfile.Seqnr == 1) { if (rec.Substring(0, 5) == "BS002") { // Leverance Start leverance = rec.Substring(16, 4); leverancespecifikation = rec.Substring(20, 10); leverancedannelsesdato = DateTime.Parse("20" + rec.Substring(53, 2) + "-" + rec.Substring(51, 2) + "-" + rec.Substring(49, 2)); } else { throw new Exception("241 - Første record er ikke en Leverance start record"); }; if (leverance == "0603") { // -- Leverance 0603 var antal = (from c in Program.dbData3060.Tblfrapbs where c.Leverancespecifikation == leverancespecifikation select c).Count(); if (antal > 0) { throw new Exception("242 - Leverance med pbsfilesid: " + wpbsfilesid + " og leverancespecifikation: " + leverancespecifikation + " er indlæst tidligere"); } wleveranceid = clsPbs.nextval("leveranceid"); m_rec_pbsforsendelse = new Tblpbsforsendelse { Delsystem = "BS1", Leverancetype = "0603", Oprettetaf = "Bet", Oprettet = DateTime.Now, Leveranceid = wleveranceid }; Program.dbData3060.Tblpbsforsendelse.InsertOnSubmit(m_rec_pbsforsendelse); m_rec_frapbs = new Tblfrapbs { Delsystem = "BS1", Leverancetype = "0603", Leverancespecifikation = leverancespecifikation, Leverancedannelsesdato = leverancedannelsesdato, Udtrukket = DateTime.Now }; m_rec_pbsforsendelse.Tblfrapbs.Add(m_rec_frapbs); m_rec_pbsfiles = (from c in Program.dbData3060.Tblpbsfiles where c.Id == rstpbsfiles.Id select c).First(); m_rec_pbsforsendelse.Tblpbsfiles.Add(m_rec_pbsfiles); } ; } ; if (leverance == "0603") { // Leverance 0603 // Bestem Sektions Type if (sektion == "") { if (rec.Substring(0, 5) == "BS012") { // Sektion Start sektion = rec.Substring(13, 4); } else { if (!((rec.Substring(0, 5) == "BS992") || (rec.Substring(0, 5) == "BS002"))) { throw new Exception("243 - Første record er ikke en Sektions start record"); } ; }; } ; if (rec.Substring(0, 5) == "BS002") { // Leverance start // BEHANDL: Leverance start dummy = 1; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0210") { // Sektion 0210 Aktive aftaler if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0210")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0230")) { // Aktive aftaler // BEHANDL: Aktive aftaler readaftale042(sektion, "0230", rec); } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0210")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("244 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0212") { // Sektion 0212 Til- og afgang af betalingsaftaler if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0212")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0231")) { // Tilgang af nye betalingsaftaler // BEHANDL: Tilgang af nye betalingsaftaler readaftale042(sektion, "0231", rec); } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0232")) { // Aftale afmeldt af pengeinstitut // BEHANDL: aftale afmeldt af pengeinstitut readaftale042(sektion, "0232", rec); } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0233")) { // Aftaler afmeldt af kreditor // BEHANDL: aftaler afmeldt af kreditor readaftale042(sektion, "0233", rec); } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0234")) { // Aftaler afmeldt af betalingsservice // BEHANDL: aftaler afmeldt af betalingsservice readaftale042(sektion, "0234", rec); } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0212")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("245 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0214") { // Sektion 0214 Forfaldsoplysninger if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0214")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0235")) { // Forfald automatisk betaling // BEHANDL: Forfald automatisk betaling dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0295")) { // Forfald manuel betaling // BEHANDL: Forfald manuel betaling dummy = 1; } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0214")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("246 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0215") { // Sektion 0215 Debitornavn/-adresse if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(14 - 1, 4) == "0215")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS022") && (rec.Substring(13, 4) == "0240")) { // Navn/adresse på debitor // BEHANDL: Navn/adresse på debitor dummy = 1; } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(14 - 1, 4) == "0215")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("247 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0217") { // Sektion 0217 Oplysninger fra indbetalingskort if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0217")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0295")) { // Oplysninger fra indbetalingskort // BEHANDL: Oplysninger fra indbetalingskort readgirokort042(sektion, "0295", rec); } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(13, 4) == "0217")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("248 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (sektion == "0219") { // Sektion 0219 Aktive aftaler om Elektronisk Indbetalingskort if ((rec.Substring(0, 5) == "BS012") && (rec.Substring(13, 4) == "0219")) { // Sektion Start // BEHANDL: Sektion Start dummy = 1; } else if ((rec.Substring(0, 5) == "BS042") && (rec.Substring(13, 4) == "0230")) { // Aktiv aftale om Elektronisk Indbetalingskort // BEHANDL: Aktiv aftale om Elektronisk Indbetalingskort dummy = 1; } else if ((rec.Substring(0, 5) == "BS092") && (rec.Substring(14 - 1, 4) == "0219")) { // Sektion S**t // BEHANDL: Sektion S**t sektion = ""; } else { throw new Exception("249 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; // -****************************************************************************************************** // -****************************************************************************************************** } else if (rec.Substring(0, 5) == "BS992") { // Leverance s**t // BEHANDL: Leverance S**t leverance = ""; } else { throw new Exception("250 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; } else { throw new Exception("251 - Rec# " + rstpbsfile.Seqnr + " ukendt: " + rec); }; } } /* * catch (Exception e) * { * switch (e.Message.Substring(0, 3)) * { * case "241": //241 - Første record er ikke en Leverance start record * case "242": //242 - Leverancen er indlæst tidligere * case "243": //243 - Første record er ikke en Sektions start record * case "244": //244 - Record ukendt * case "245": //245 - Record ukendt * case "246": //246 - Record ukendt * case "247": //247 - Record ukendt * case "248": //248 - Record ukendt * case "249": //249 - Record ukendt * case "250": //250 - Record ukendt * case "251": //251 - Record ukendt * AntalFiler--; * break; * * default: * throw; * } * } */ } if (dummy == 1) { dummy = 2; } Program.dbData3060.SubmitChanges(); return(AntalFiler); }