Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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
        }