コード例 #1
0
ファイル: Controller.cs プロジェクト: koenbisschop/Bibweb
        //ontleningen beheren
        public decimal Terugbrengen(Lid lid, Int32 exemplaarId, DateTime tot)
        {
            decimal _boetebedrag = 0.0M;
            //business opstarten

            Ontlening ontlening = lid.Terugbrengen(exemplaarId, tot); //saldo lid wordt indien nodig aangepast!
            Boete     boete     = ontlening.Boete;

            if (boete != null)
            {
                _boetebedrag = boete.Bedrag;
            }
            else
            {
                _boetebedrag = 0;
            }

            //gewijzigde objecten ook doorspelen aan db!!!
            if (boete != null)
            {
                Persistence.Controller.UpdateSaldoLidInDB(lid);
            }
            Persistence.Controller.DeleteOntleningFromDB(ontlening);

            return(_boetebedrag);
        }
コード例 #2
0
ファイル: Ontlening.cs プロジェクト: koenbisschop/Bibweb
        //methods

        internal Boete Terugbrengen(DateTime tot)
        {
            Tot = tot;
            Exemplaar.SetStatus(OntleenStatus.Beschikbaar);
            Boete = Boete.BerekenBoete(this);
            return(Boete);
        }
コード例 #3
0
ファイル: Boete.cs プロジェクト: koenbisschop/Bibweb
        //method
        public static Boete BerekenBoete(Ontlening ontlening)
        {
            Boete    boete                     = null;
            decimal  bedrag                    = 0.0M;
            Item     t                         = ontlening.Exemplaar.Item;
            int      aantalDagenOK             = t.OntleenTermijn;
            TimeSpan ontleenPeriode            = ontlening.Tot - ontlening.Vanaf;
            int      aantalDagenOntleend       = ontleenPeriode.Days;
            int      aantalBegonnenWekenTeLaat = (int)Math.Ceiling((aantalDagenOntleend - aantalDagenOK) / 7.0);

            if (aantalDagenOntleend > aantalDagenOK)
            {
                decimal basisBedragPerWeek = t.BoeteTarief;
                bedrag = aantalBegonnenWekenTeLaat * t.BoeteTarief;
                boete  = new Boete(bedrag);
            }
            return(boete);
        }
コード例 #4
0
ファイル: Lid.cs プロジェクト: koenbisschop/Bibweb
        /// <summary>
        /// Terugbrengen van een ontleend exemplaar door een lid
        /// </summary>
        /// <param name="exemplaar"></param>
        /// <param name="tot"></param>
        /// <returns>De boete die eventueel moet betaald worden (null indien geen boete).</returns>
        internal Ontlening Terugbrengen(Int32 exemplaarId, DateTime tot)
        {
            Ontlening ontlening = Ontleningen.Find(o => o.Exemplaar.Id == exemplaarId);

            if (ontlening == null)
            {
                throw new InvalidOperationException("Dit exemplaar is niet ontleend door dit lid");
            }

            Boete boete = ontlening.Terugbrengen(tot);

            if (boete != null)
            {
                Saldo += boete.Bedrag;
            }

            Ontleningen.Remove(ontlening);

            return(ontlening);
        }