public void MedlemsDataBero(MedlemskabBero oMedlemskab) { DataTable tblMedlem; SqlConnection objConn = new SqlConnection(sConnectionStringSQL02); objConn.Open(); SqlDataAdapter daMedlem = new SqlDataAdapter(Properties.Settings.Default.BeroBreve_Select, objConn); //SqlDataAdapter daMedlem = new SqlDataAdapter("SELECT DISTINCT TOP (100) PERCENT Medlem FROM dbo.MedlemAfSelskabStatusLog WHERE MedlemSelskab <> 99 AND (medlem = 108444 or medlem = 101937 or medlem = 112879) ORDER BY Medlem", objConn); DataSet dsMedlem = new DataSet("MedlemTab"); daMedlem.FillSchema(dsMedlem, SchemaType.Source, "MedlemAfSelskabStatusLog"); daMedlem.Fill(dsMedlem, "MedlemAfSelskabStatusLog"); tblMedlem = dsMedlem.Tables["MedlemAfSelskabStatusLog"]; objConn.Close(); oMedlemskab.AntalMedl = tblMedlem.Rows.Count; foreach (DataRow drMedlem in tblMedlem.Rows) { try { MedlemBero oMedlem = new MedlemBero(); oMedlem.MedlemsNr = drMedlem["Medlem"].ToString(); oMedlemskab.AlleMedl.Add(oMedlem); } catch (Exception ex) { throw new Exception("Der er opstået en fejl, i forbindelse med hentning af data fra MedlemAfSelskabStatusLog tabellen i Bolig databasen", ex); } } }
public BeroBreve() { InitializeComponent(); if (MyVars.ParmYes == "AUTO") { this.timer1.Enabled = true; this.timer1.Interval = 5000; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); } MedlemBero = new MedlemskabBero(); string skabelonPath = Properties.Settings.Default.Common_SkabelonSti; string skabelonOriginal = Properties.Settings.Default.BeroBreve_SkabelonNavn; string outputFolderOld = Properties.Settings.Default.BeroBreve_FolderOld; string dt = DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.ToString("HHmmss"); PgmLog = Properties.Settings.Default.BeroBreve_ErrorLog + dt + ".Log"; PgmLogSys = "C:\\FletOffice\\ProgramError_Opskriv_SysLog_" + 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(); foreach (MedlemBero oMedlemsDataBero in MedlemBero.AlleMedl) //her løbes alle dagens nye bero medlemmer igennem { int cnt = 0; Medlem = new Medlemskab(oMedlemsDataBero.MedlemsNr); foreach (Medlem oMedlemsData in Medlem.AlleMedl) //her udtrækkes medlemskaber pr. medlem { //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, oMedlemsData.LMType); Document document = application.Documents.Open(skabelonPath + skabelonOriginal); application.Visible = false; // clone the doc object. skabelon = document; } else { if (gemMedl != oMedlemsData.MedlemsNr && gemMedl != MyVars.Selopdat && gemMedl != "") { textBox1.Text += "Nu har vi behandlet medlem nr.: " + gemMedl + ", som kun er medlem af selskab 99 og derfor ikke skal have et berobrev tilsendt." + Environment.NewLine; LogText = "Nu har vi behandlet medlem nr.: " + gemMedl + ", som kun er medlem af selskab 99 og derfor ikke skal have et berobrev tilsendt."; 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 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.Status, oMedlemsData.LMType); cnt++; gemMedl = oMedlemsData.MedlemsNr; if (cnt == Medlem.AntalMedl) // her behandles sidste medlem i 2. SQL udtræk færdigt { //Her behandles multiline bogmærker, PDF generering, Email afsendelse, journalisering til Gobolig og lukning af skabelon. BehandlMedlem(skabelon, gemMedl, oMedlemsData.LMType); } MyVars.InsertOk = false; gemMedl = ""; gemSelskab = ""; } } //Her afsluttes programmet..... string Server = Properties.Settings.Default.Common_MonitorServerNavn; string Job = Properties.Settings.Default.BeroBreve_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 Berobreve"; MyVars.emailBody = "Dette er en fejllog som viser system relaterede fejl ved kørsel af Berobreve. " + Environment.NewLine + "Se vedhæftede log for detaljer"; SendEmail EmailObj = new SendEmail("", "", "*****@*****.**", PgmLogSys, "*****@*****.**", ""); } 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.BeroBreve_EmailSubjFejl; MyVars.emailBody = Properties.Settings.Default.Common_EmailBodyFejl + " (BeroBreve) " + 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 + " (BeroBreve) " + Environment.NewLine + "Se vedhæftede log for detaljer"; MyVars.emailSubj = "Berobreve: " + 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_MonitorTekstFejl + FejlCnt + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt; } if (MedlCnt == 0) { textBox1.Text += Properties.Settings.Default.BeroBreve_SlutTekstIngen + Environment.NewLine; Tekst = Properties.Settings.Default.BeroBreve_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 }