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);
                }
            }
        }
Exemple #2
0
        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
        }