public void MedlemsData(Medlemskab oMedlemskab, string MedlemsNr) { DataTable tblMedlem; SqlConnection objConn = new SqlConnection(sConnectionStringSQL02); objConn.Open(); //Hvis der kaldes fra Bero breve, trækkes der kun ud på et enkelt medlemsnr. SqlDataAdapter daMedlem = new SqlDataAdapter("SELECT * FROM [Bolig].[dbo].[MedlemAfSelskab] where medlem = '" + MedlemsNr + "' and Status <> 3 order by Medlem, medlemselskab", objConn); if (MedlemsNr == "") { //Hvis der kaldes fra Opskrivningsbevis, trækkes ud på alle medlemsnr. hvor opnoteringsdatoen er fra igår daMedlem = new SqlDataAdapter(Properties.Settings.Default.Opskrivningsbevis_Select, objConn); //daMedlem = new SqlDataAdapter("SELECT DISTINCT dbo.MedlemAfSelskab.Medlem, MedlemAfSelskab_1.Sel, MedlemAfSelskab_1.Medlem AS Expr1, MedlemAfSelskab_1.MedlemSelskab, MedlemAfSelskab_1.Status, MedlemAfSelskab_1.DatoOpnot, MedlemAfSelskab_1.DatoBetOpnot, MedlemAfSelskab_1.Lmtype FROM dbo.MedlemAfSelskab RIGHT OUTER JOIN dbo.MedlemAfSelskab AS MedlemAfSelskab_1 ON dbo.MedlemAfSelskab.Medlem = MedlemAfSelskab_1.Medlem where datediff(day,MedlemAfSelskab_1.DatoOpnot,getdate()) = 3 and MedlemAfSelskab_1.Status <> 3 and MedlemAfSelskab_1.DatoBetOpnot is not null and (MedlemAfSelskab_1.Medlem = 99753) and datediff(day,MedlemAfSelskab_1.DatoBetOpnot,getdate()) = 3 ORDER BY Medlem, MedlemSelskab, DatoOpnot desc", objConn); // and (MedlemAfSelskab_1.Medlem = 22563 or MedlemAfSelskab_1.Medlem = 59261 or MedlemAfSelskab_1.Medlem = 77924) and datediff(day,MedlemAfSelskab_1.DatoBetOpnot,getdate()) = 7 } DataSet dsMedlem = new DataSet("MedlemTab"); daMedlem.FillSchema(dsMedlem, SchemaType.Source, "MedlemAfSelskab"); daMedlem.Fill(dsMedlem, "MedlemAfSelskab"); tblMedlem = dsMedlem.Tables["MedlemAfSelskab"]; objConn.Close(); oMedlemskab.AntalMedl = tblMedlem.Rows.Count; foreach (DataRow drMedlem in tblMedlem.Rows) { try { Medlem oMedlem = new Medlem(); oMedlem.MedlemsNr = drMedlem["Medlem"].ToString(); oMedlem.DatoBetOpnot = drMedlem["DatoBetOpnot"].ToString(); oMedlem.DatoOpnot = drMedlem["DatoOpnot"].ToString(); oMedlem.ListeMedlemskab = drMedlem["MedlemSelskab"].ToString(); oMedlem.Status = drMedlem["Status"].ToString(); oMedlem.LMType = drMedlem["Lmtype"].ToString(); oMedlemskab.AlleMedl.Add(oMedlem); } catch (Exception ex) { throw new Exception("Der er opstået en fejl, i forbindelse med hentning af data fra MedlemAfSelskab tabellen i Bolig databasen", ex); } } }
public Opskrivningsbevis() { InitializeComponent(); if (MyVars.ParmYes == "AUTO") { this.timer1.Enabled = true; this.timer1.Interval = 5000; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); } Medlem = new Medlemskab(""); string skabelonPath = Properties.Settings.Default.Common_SkabelonSti; string skabelonOriginal = Properties.Settings.Default.Opskrivningsbevis_SkabelonNavn; string outputFolderOld = Properties.Settings.Default.Opskrivningsbevis_FolderOld; string dt = DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.ToString("HHmmss"); PgmLog = Properties.Settings.Default.Opskrivningsbevis_ErrorLog + dt + ".Log"; PgmLogSys = "C:\\FletOffice\\ProgramError_Opskriv_SysLog_" + dt + ".Log"; PgmLogTest = "C:\\FletOffice\\ProgramError_Opskriv_TestLog_" + dt + ".Log"; if (Directory.Exists(outputFolderOld)) { System.IO.Directory.Delete(outputFolderOld, true); } System.IO.Directory.Move(outputFolderPath, outputFolderOld); System.IO.Directory.CreateDirectory(outputFolderPath); Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application(); int cnt = 0; foreach (Medlem oMedlemsData in Medlem.AlleMedl) //her løbes alle dagens nye betalende medlemmer { //her behandles medlemsdata Document skabelon = application.Documents.Open(skabelonPath + skabelonOriginal); application.Visible = false; if (gemMedl != oMedlemsData.MedlemsNr && bookSave != "" && gemMedl != "") { //Her behandles multiline bogmærker, PDF generering, Email afsendelse og journalisering til Gobolig BehandlMedlem(skabelon, gemMedl); Document document = application.Documents.Open(skabelonPath + skabelonOriginal); application.Visible = false; // clone the doc object. skabelon = document; } else { if (gemMedl != oMedlemsData.MedlemsNr && bookSave == "" && gemMedl != "") { if (bonus_Sel == true) { fejlTekst = ", som er en tilføjelse af bonusselskab og derfor ikke skal have tilsendt et opskrivningsbevis."; } else { fejlTekst = ", som kun er medlem af selskab 99 og derfor ikke får et opskrivningsbevis tilsendt."; } textBox1.Text += "Nu har vi behandlet medlem nr.: " + gemMedl + fejlTekst + Environment.NewLine; LogText = "Nu har vi behandlet medlem nr.: " + gemMedl + fejlTekst; File.AppendAllText(PgmLog, LogText + Environment.NewLine); MyVars.Selopdat = ""; // her skal Word dokument slettes og hoppes videre til næste medlem. ((_Document)skabelon).Close(WdSaveOptions.wdDoNotSaveChanges); //her lukkes skabelonen //File.AppendAllText(PgmLogTest, "Skabelon lukkes og ny åbnes..." + Environment.NewLine); Document document = application.Documents.Open(skabelonPath + skabelonOriginal); application.Visible = false; // clone the doc object. skabelon = document; } } //her hentes selskabsdata SelNavn = ""; UdtrSelOpl(oMedlemsData.ListeMedlemskab); //her hentes interessentdata UdtrIntOpl(oMedlemsData.MedlemsNr, KontorNavn); //her hentes interessentdata for kolofon UdtrKolOpl(oMedlemsData.MedlemsNr, "Hovedkontoret"); //her loopes igennem alle bookmarks i dokumentet. OpdaterBookmark(skabelon, oMedlemsData.MedlemsNr, oMedlemsData.ListeMedlemskab, oMedlemsData.DatoOpnot, oMedlemsData.Status); cnt++; gemMedl = oMedlemsData.MedlemsNr; if (cnt == Medlem.AntalMedl) // her behandles sidste medlem i SQL udtrækket færdigt { //Her behandles multiline bogmærker, PDF generering, Email afsendelse, journalisering til Gobolig og lukning af skabelon. BehandlMedlem(skabelon, gemMedl); } MyVars.InsertOk = false; } //Her afsluttes programmet..... string Server = Properties.Settings.Default.Common_MonitorServerNavn; string Job = Properties.Settings.Default.Opskrivningsbevis_MonitorJobNavn; string ServerGruppe = Properties.Settings.Default.Common_MonitorGruppeNavnGO; string Tekst = ""; int Alarm = Properties.Settings.Default.Common_MonitorAlarmVærdiOK; int antMailSendt = MedlCnt - FejlCnt; if (File.Exists(PgmLogSys)) { MyVars.emailSubj = "Systemfejllog for Opskrivningsbreve"; MyVars.emailBody = "Dette er en fejllog som viser system relaterede fejl ved kørsel af opskrivningsbreve. " + Environment.NewLine + "Se vedhæftede log for detaljer"; SendEmail EmailObj = new SendEmail("", "", "*****@*****.**", PgmLogSys, "*****@*****.**", ""); } if (File.Exists(PgmLogTest)) { MyVars.emailSubj = "Testlog for Opskrivningsbevis"; MyVars.emailBody = "Dette er en testlog som anvendes ved test af Opskrivningsbevis. " + Environment.NewLine + "Se vedhæftede log for detaljer"; SendEmail EmailObj = new SendEmail("", "", "*****@*****.**", PgmLogTest, "*****@*****.**", ""); } if (File.Exists(PgmLog)) { string afs = Properties.Settings.Default.Common_EmailAfsFejl; string modt = Properties.Settings.Default.Common_EmailEGModtLog; if (FejlCnt > 0) { MyVars.emailSubj = Properties.Settings.Default.Opskrivningsbevis_EmailSubjFejl; MyVars.emailBody = Properties.Settings.Default.Common_EmailBodyFejl + " (Opskrivningsbevis) " + Environment.NewLine + "Se vedhæftede log for detaljer"; Tekst = Properties.Settings.Default.Common_MonitorTekstFejl + FejlCnt + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt; Alarm = Properties.Settings.Default.Common_MonitorAlarmVærdiFejl; } else { MyVars.emailBody = Properties.Settings.Default.Common_EmailBodyOk + " (Opskrivningsbevis) " + Environment.NewLine + "Se vedhæftede log for detaljer"; MyVars.emailSubj = "Opskrivningsbevis: " + Properties.Settings.Default.Common_EmailSubjOk; Tekst = Properties.Settings.Default.Common_MonitorTekstOK + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt; } LogText = Tekst; File.AppendAllText(PgmLog, LogText + Environment.NewLine); SendEmail EmailObj = new SendEmail("", "", afs, PgmLog, modt, ""); } else { Tekst = Properties.Settings.Default.Common_MonitorTekstOK + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt; } if (MedlCnt == 0) { textBox1.Text += Properties.Settings.Default.Opskrivningsbeviser_SlutTekstIngen + Environment.NewLine; Tekst = Properties.Settings.Default.Opskrivningsbeviser_SlutTekstIngen + Environment.NewLine; } MonitorAdd MonitorAddGO = new MonitorAdd(Server, Job, Tekst, Alarm, ServerGruppe); ServerGruppe = Properties.Settings.Default.Common_MonitorGruppeNavnEG; MonitorAdd MonitorAddEG = new MonitorAdd(Server, Job, Tekst, Alarm, ServerGruppe); // Close word. ((_Application)application).Quit(); //her lukkes Word applicationen }