Пример #1
0
 private void cmdCreate_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < clbLeden.Items.Count; i++)
     {
         if (clbLeden.GetItemChecked(i) == false)
         {
             continue;
         }
         tblRekening rekening = tblRekening.CreateRekeningRecord(localLeden[i], rekeningen);
         rekening.AanmaakDatum = dtpAanmaakDatum.Value;
         rekening.BIC          = param.BIC;
         rekening.IBAN         = param.IBAN;
         rekening.Omschrijving = txtOmschrijving.Text;
         rekening.TotaalBedrag = txtTotaalbedrag.ToFromDecimal;
         rekening.TypeRekening = cboTypeRekening.SelectedIndex;
         rekeningen.Add(rekening);
         localRekeningen.Add(rekening);
     }
     ReportRoutines.CreateRekeningingenReport("Aangemaakte eenmalige rekeningen", localRekeningen, reportFileName, true);
     toolStripStatusLabel1.Text = localRekeningen.Count.ToString() + " rekeningen aangemaakt.";
 }
        public frmRekeningOverzicht2(DataAdapters da, object l)
        {
            InitializeComponent();
            param        = new tblParameters();
            dataAdaptor  = da;
            _windowState = new PersistWindowState(this, @"Leden\RekeningOverzicht");
            PersistControlValue.ReadControlValue(txtStornoKosten);
            rduStornoBrief.Checked = true;
            SetChangeMode(false);


            cboTypeRekening.Items.AddRange(tblRekening.RekeningTypeDescriptions);

            InitializeDataListView(olvRekeningen);

            #region Create Columns
            OLVColumn dlvc00 = new OLVColumn("Nr", "RekeningSeqNr");
            OLVColumn dlvc01 = new OLVColumn("Datum", "AanmaakDatum");
            OLVColumn dlvc02 = new OLVColumn("Verstuurd", "Verstuurd");
            OLVColumn dlvc03 = new OLVColumn("Storno", "Gestorneerd");
            OLVColumn dlvc04 = new OLVColumn("Omschrijving", "Omschrijving");
            OLVColumn dlvc05 = new OLVColumn("Bedrag", "TotaalBedrag");

            dlvc00.Width = 30;
            dlvc01.Width = 70;
            dlvc02.Width = 30;
            dlvc03.Width = 30;
            dlvc04.Width = 300;
            dlvc05.Width = 60;

            dlvc00.UseInitialLetterForGroup = true;
            dlvc00.HeaderTextAlign          = System.Windows.Forms.HorizontalAlignment.Center;
            dlvc00.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            //
            dlvc01.UseInitialLetterForGroup = true;
            dlvc01.AspectGetter             = delegate(object row)
            {
                return(((tblRekening)row).AanmaakDatum.ToShortDateString());
            };
            //
            dlvc02.UseInitialLetterForGroup = true;
            dlvc02.CheckBoxes   = false;
            dlvc02.IsEditable   = false;
            dlvc02.TextAlign    = System.Windows.Forms.HorizontalAlignment.Center;
            dlvc02.AspectGetter = delegate(object row)
            {
                if (((tblRekening)row).Verstuurd)
                {
                    return("Verstuurd");
                }
                return("");
            };
            dlvc02.Renderer = new MappedImageRenderer(new Object[] { "Verstuurd", Resources.tick16 });
            //
            dlvc03.UseInitialLetterForGroup = true;
            dlvc03.CheckBoxes   = true;
            dlvc03.IsEditable   = false;
            dlvc03.TextAlign    = System.Windows.Forms.HorizontalAlignment.Center;
            dlvc03.AspectGetter = delegate(object row)
            {
                if (((tblRekening)row).Gestorneerd)
                {
                    return("Gestorneerd");
                }
                return("");
            };
            dlvc03.Renderer = new MappedImageRenderer(new Object[] { "Gestorneerd", Resources.star16 });
            //
            dlvc04.UseInitialLetterForGroup = true;
            dlvc05.UseInitialLetterForGroup = true;
            dlvc05.AspectToStringFormat     = "{0:C}";
            dlvc05.TextAlign = HorizontalAlignment.Right;

            //dlvc16.CheckBoxes = true;
            //dlvc16.HeaderTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            //dlvc16.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            //dlvc16.ToolTipText = "Is dit contact toegevoegd via Leden administratie?";

            olvRekeningen.Columns.Add(dlvc00);
            olvRekeningen.Columns.Add(dlvc01);
            olvRekeningen.Columns.Add(dlvc02);
            olvRekeningen.Columns.Add(dlvc03);
            olvRekeningen.Columns.Add(dlvc04);
            olvRekeningen.Columns.Add(dlvc05);

            #endregion

            rekeningen = da.VulRekeningRecords();

            ReportRoutines.CreateRekeningingenReport("Aangemaakte contributie rekeningen", rekeningen, @"D:\temp\zz.csv", true);


            if (l is tblLid)
            {
                leden = new LedenLijst();
                tblLid lid = (tblLid)l;
                leden.Add(lid);
                lboLeden.Items.Add(lid.VolledigeNaam);
            }
            if (l is LedenLijst)
            {
                leden = (LedenLijst)l;

                foreach (tblLid lid in leden)
                {
                    lboLeden.Items.Add(lid.VolledigeNaam);
                }
            }
            lboLeden.SelectedIndex = 0;
            olvRekeningen.SetObjects(rekeningen);
            lboLeden_SelectedIndexChanged(this, null);
            lboLeden.Focus();
        }
        private void cmdMaakRekeningen_Click(object sender, EventArgs e)
        {
            localRekeningen = new RekeningenLijst();
            foreach (tblLid lid in leden)
            {
                bool berekenen = false;
                decContributieBedrag = 0;
                if (lid.Opgezegd)
                {
                    continue;
                }
                if (lid.IsLidContVrij)
                {
                    continue;
                }
                //fout//
                tblRekening rekening = tblRekening.CreateRekeningRecord(lid, rekeningen);
                switch (cboSelectieType.SelectedIndex)
                {
                case 0:     // Alle leden
                    if ((clbLidTypes.CheckedItems.Contains(clbLidTypes.Items[0]) && lid.IsLidNormaal) ||
                        (clbLidTypes.CheckedItems.Contains(clbLidTypes.Items[1]) && lid.IsLidZwerf) ||
                        (clbLidTypes.CheckedItems.Contains(clbLidTypes.Items[2]) && lid.IsLidPakket))
                    {
                        berekenen = true;
                    }
                    ;
                    break;

                case 1:     //Gemerkte leden
                    if (lid.Gemerkt)
                    {
                        berekenen = true;
                    }
                    ;
                    break;

                default: break;
                }

                if (berekenen)
                {
                    rekening.ContributieBedrag = CalculateTotaalBedrag(lid);

                    // als een lid halverwege het seizoen lid wordt dan berekenen we de contributie per maand.
                    // we doen dit niet voor pakket leden.

                    if (ckbRelatief.Checked && lid.LidType != tblLid.constLidPakket)
                    {
                        // bereken eerst het aantal maanden tussen peildatum en inschrijfdatum.
                        var dateSpan = DateTimeSpan.CompareDates(lid.LidVanaf, dtpPeilDatum.Value);

                        // stel berekende maanden is 4 dan krijgt het lid 4 maanden korting.
                        int     aantalMaanden = dateSpan.Months + 1; // +1 omdat we vanaf de eerst volgende maand berekenen.
                        decimal korting       = decimal.Round((decContributieBedrag * aantalMaanden) / 6, 2);
                        rekening.Korting      += korting;
                        rekening.TotaalBedrag -= korting;
                    }

                    if (!lid.IsLidPakket && lid.VastBedrag == 0)
                    {
                        rekening.Korting      += lid.Korting;
                        rekening.TotaalBedrag -= lid.Korting;

                        if (lid.CompGerechtigd)
                        {
                            string cat = DateRoutines.LeeftijdCategorieContributie(lid.GeboorteDatum, dtpPeilDatum.Value);
                            if (cat == tblLid.constPupil || cat == tblLid.constJunior)
                            {
                                rekening.CompetitieBijdrage = txtCompBijdrageJun.ToFromDecimal;
                            }
                            else
                            {
                                rekening.CompetitieBijdrage = txtCompBijdrageSen.ToFromDecimal;
                            }
                            rekening.TotaalBedrag += rekening.CompetitieBijdrage;
                        }

                        if (lid.LidBond)
                        {
                            rekening.Bondsbijdrage = decimal.Round((txtBondsBijdrage.ToFromDecimal / 2), 2);
                            rekening.TotaalBedrag += rekening.Bondsbijdrage;
                        }

                        if (lid.IsRekening || lid.IsZelfBetaler)
                        {
                            rekening.ExtraBedrag   = txtKostenRekening.ToFromDecimal;
                            rekening.TotaalBedrag += rekening.ExtraBedrag;
                        }
                        // Ik ga hier de bijdrage voor taak uitrekenen
                        // regeling toepassen && geen vaste taak && taak niet uitgevoerd  of
                        // regeling toepassen && afkopen

                        if (rekening.Lid.Is_SEN1_65_SEN)
                        {
                            if (rekening.Lid.VrijwillgersRegelingIsVanToepassing)
                            {
                                rekening.BedragKortingVrijwilliger = 0;
                                if (rekening.Lid.VrijwillgersVasteTaak)
                                {
                                    rekening.BedragKortingVrijwilliger = txtKortingVrijwilliger.ToFromDecimal;
                                    if (lid.LidType == tblLid.constLidZwerflid)
                                    {
                                        rekening.BedragKortingVrijwilliger = (rekening.BedragKortingVrijwilliger * Convert.ToInt32(txtPercZwerf.Text)) / 100;
                                    }
                                }
                            }
                            else
                            {
                                rekening.BedragKortingVrijwilliger = txtKortingVrijwilliger.ToFromDecimal;
                            }
                        }
                        else
                        {
                            rekening.BedragKortingVrijwilliger = 0;
                        }
                    }
                    rekening.TotaalBedrag  -= rekening.BedragKortingVrijwilliger;
                    rekening.TotaalBedrag  += rekening.ContributieBedrag;
                    rekening.Omschrijving   = txtOmschrijving.Text + " " + lid.NetteNaam;
                    rekening.IBAN           = param.IBAN;
                    rekening.BIC            = param.BIC;
                    rekening.AanmaakDatum   = DateTime.Now;
                    rekening.PeilDatum      = dtpPeilDatum.Value;
                    rekening.TypeRekening   = 0;
                    rekening.Verstuurd      = false;
                    rekening.VerstuurdDatum = DateTime.Now;

                    if (rekening.TotaalBedrag != 0)
                    {
                        localRekeningen.Add(rekening);
                    }
                }
            }
            ReportRoutines.CreateRekeningingenReport("Aangemaakte contributie rekeningen", localRekeningen, reportFileName, true);
            MessageBox.Show(localRekeningen.Count.ToString() + " rekeningen aangemaakt.\nZie " + reportFileName, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }