public void BankUdbetalingsUdskrifter(dbData3060 p_dbData3060, int lobnr)
        {
            var antal = (from c in p_dbData3060.tbltilpbs
                         where c.id == lobnr
                         select c).Count();

            if (antal == 0)
            {
                throw new Exception("101 - Der er ingen PBS forsendelse for id: " + lobnr);
            }

            var qrykrd = from k in p_dbData3060.tblMedlem
                         join h in p_dbData3060.tbloverforsel on k.Nr equals h.Nr
                         where h.tilpbsid == lobnr
                         select new
            {
                k.Nr,
                k.Navn,
                h.betalingsdato,
                h.advistekst,
                h.advisbelob,
                h.bankregnr,
                h.bankkontonr,
                h.SFaknr,
            };


            // Start loop over betalinger i tbloverforsel
            int testantal = qrykrd.Count();

            foreach (var krd in qrykrd)
            {
                //Create a pdf document.
                PdfDocument doc = new PdfDocument();

                doc.DocumentInformation.Author       = "Løbeklubben Puls 3060";
                doc.DocumentInformation.Title        = String.Format("Bankudbetaling {0}", "");
                doc.DocumentInformation.Creator      = "Medlem3060";
                doc.DocumentInformation.Subject      = String.Format("Faktura {0}", ((int)krd.SFaknr).ToString());
                doc.DocumentInformation.CreationDate = DateTime.Now;

                //margin
                PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
                PdfMargins       margin   = new PdfMargins();
                margin.Top    = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
                margin.Bottom = margin.Top;
                margin.Left   = unitCvtr.ConvertUnits(2f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
                margin.Right  = margin.Left;

                // Create one page
                PdfPageBase page  = doc.Pages.Add(PdfPageSize.A5, margin);
                float       width = page.Canvas.ClientSize.Width;

                float y = 5;

                //title
                PdfBrush        brush1  = PdfBrushes.Black;
                PdfTrueTypeFont font1   = new PdfTrueTypeFont(new Font("Arial", 16f, FontStyle.Bold));
                PdfStringFormat format1 = new PdfStringFormat(PdfTextAlignment.Left);
                string          s       = String.Format("Bankudbetaling {0}", ((int)krd.SFaknr).ToString());
                page.Canvas.DrawString(s, font1, brush1, 1, y, format1);

                y = y + 35;

                String[][] dataSource = new String[7][];
                int        i          = 0;
                String[]   datarow    = new String[2];
                datarow[0]      = "Tekst på eget kontoudtog";
                datarow[1]      = krd.advistekst;
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Navn/kendenavn";
                datarow[1]      = krd.Navn;
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Regnr";
                datarow[1]      = krd.bankregnr;
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Konto";
                datarow[1]      = krd.bankkontonr;
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Tekst til beløbsmodtager";
                datarow[1]      = krd.advistekst;
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Beløb";
                datarow[1]      = ((decimal)(krd.advisbelob)).ToString("#0.00;-#0.00");
                dataSource[i++] = datarow;

                datarow         = new String[2];
                datarow[0]      = "Betalingsdato";
                datarow[1]      = ((DateTime)krd.betalingsdato).ToShortDateString();
                dataSource[i++] = datarow;

                PdfTable table = new PdfTable();

                table.Style.CellPadding              = 5; //2;
                table.Style.HeaderSource             = PdfHeaderSource.Rows;
                table.Style.HeaderRowCount           = 0;
                table.Style.HeaderStyle.StringFormat = new PdfStringFormat(PdfTextAlignment.Center);
                table.Style.HeaderStyle.Font         = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Bold));
                table.Style.ShowHeader   = true;
                table.Style.RepeatHeader = true;
                table.DataSource         = dataSource;

                table.Columns[0].Width        = 100; // width * 0.30f * width;
                table.Columns[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);
                table.Columns[1].Width        = 100; // width * 0.10f * width;
                table.Columns[1].StringFormat = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);

                PdfLayoutResult result = table.Draw(page, new PointF(0, y));
                y = y + result.Bounds.Height + 5;

                //Save pdf file.
                string BilagPath = (from r in Program.karMedlemPrivat where r.key == "BankudbetalingPath" select r.value).First();
                string BilagNavn = String.Format(@"Faktura {0}.pdf", ((int)krd.SFaknr).ToString());
                string filename  = Path.Combine(BilagPath, BilagNavn);

                doc.SaveToFile(filename);
                doc.Close();
            }
        }
Example #2
0
        private int JobWorker(string jobname)
        {
            try
            {
                if (Enum.IsDefined(typeof(enumTask), jobname))
                {
                    string     constr       = nsPbs3060v2.clsConnectionstringManager.EFConnection;
                    dbData3060 m_dbData3060 = new dbData3060(constr);
                    enumTask   job          = StringToEnum <enumTask>(jobname);
                    switch (job)
                    {
                    case enumTask.ReceiveFilesFromPBS:
                        clsSFTP objSFTP          = new clsSFTP(m_dbData3060);
                        int     AntalImportFiler = objSFTP.ReadFraSFtp(m_dbData3060);  //Læs direkte SFTP
                        objSFTP.DisconnectSFtp();
                        objSFTP = null;

                        clsPbs602 objPbs602     = new clsPbs602();
                        int       Antal602Filer = objPbs602.betalinger_fra_pbs(m_dbData3060);
                        objPbs602 = null;

                        clsPbs603 objPbs603     = new clsPbs603();
                        int       Antal603Filer = objPbs603.aftaleoplysninger_fra_pbs(m_dbData3060);
                        objPbs603 = null;

                        clsPbs686 objPbs686     = new clsPbs686();
                        int       Antal686Filer = objPbs686.aftaleoplysninger_fra_pbs(m_dbData3060);
                        objPbs686 = null;

                        if (Antal686Filer > 0)
                        {
                            clsPbs601        objPbs601a = new clsPbs601();
                            Tuple <int, int> tresult    = objPbs601a.advis_auto(m_dbData3060);
                            int AntalAdvis = tresult.Item1;
                            int lobnra     = tresult.Item2;
                            if ((AntalAdvis > 0))
                            {
                                objPbs601a.advis_email(m_dbData3060, lobnra);
                            }
                            objPbs601a = null;
                        }

                        break;

                    case enumTask.ProcessType602Files:
                        break;

                    case enumTask.ProcessType603Files:
                        break;

                    case enumTask.SendFilesToPBS:
                        break;

                    case enumTask.LoadSchedule:
                        LoadSchedule();
                        break;

                    case enumTask.KontingentNyeMedlemmer:
                        clsPbs601        objPbs601c = new clsPbs601();
                        Tuple <int, int> tresultc   = objPbs601c.kontingent_fakturer_auto(m_dbData3060);
                        int AntalKontingent         = tresultc.Item1;
                        int lobnrc = tresultc.Item2;
                        if ((AntalKontingent > 0))
                        {
                            objPbs601c.faktura_og_rykker_601_action(m_dbData3060, lobnrc, fakType.fdfaktura);
                            clsSFTP objSFTPc = new clsSFTP(m_dbData3060);
                            objSFTPc.WriteTilSFtp(m_dbData3060, lobnrc);
                            objSFTPc.DisconnectSFtp();
                            objSFTPc = null;
                        }
                        objPbs601c = null;
                        break;

                    case enumTask.SendEmailRykker:
                        clsPbs601        objPbs601b = new clsPbs601();
                        Tuple <int, int> tresultb   = objPbs601b.rykker_auto(m_dbData3060);
                        int AntalRykker             = tresultb.Item1;
                        int lobnrb = tresultb.Item2;
                        if ((AntalRykker > 0))
                        {
                            objPbs601b.rykker_email(m_dbData3060, lobnrb);
                        }
                        objPbs601b = null;
                        break;

                    case enumTask.UpdateMedlemStatus:
                        m_dbData3060.UpdateMedlemStatus();
                        break;

                    default:
                        break;
                    }
                }
                return(0);
            }
            catch
            {
                return(-1);
            }
        }