Exemple #1
0
        //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);
        }
Exemple #2
0
        private void BindData()
        {
            Controller _controller = (Controller)Session["Controller"];

            BibDomain.Business.Lid lid = _controller.CurrentUser as BibDomain.Business.Lid;

            //deze grid kan niet rechtstreeks via datasource gekoppeld worden
            //we verzamelen hier de gewenste info...
            DataTable dt = new DataTable("ontleningen");

            dt.Columns.Add("exemplaarId", typeof(Int32));
            dt.Columns.Add("titel", typeof(string));
            dt.Columns.Add("Vanaf", typeof(DateTime));

            foreach (BibDomain.Business.Ontlening ontlening in _controller.GetOntleningen(lid.Id))
            {
                DataRow dr = dt.NewRow();
                dr["exemplaarId"] = ontlening.Exemplaar.Id;
                dr["titel"]       = ontlening.Exemplaar.Item.Titel;
                dr["Vanaf"]       = ontlening.Vanaf;
                dt.Rows.Add(dr);
            }
            //koppel deze datatable aan de gridview
            grvOntleningen.DataSource = dt;
            grvOntleningen.DataBind();
        }
Exemple #3
0
        protected void grvOntleningen_SelectedIndexChanged(object sender, EventArgs e)
        {
            Controller _controller = (Controller)Session["Controller"];
            int        exemplaarId = (Int32)grvOntleningen.SelectedDataKey[0];

            BibDomain.Business.Lid lid = (BibDomain.Business.Lid)_controller.CurrentUser;
            _controller.Terugbrengen(lid, exemplaarId, DateTime.Today);
            BindData();
        }
Exemple #4
0
        //ontleen-methodes
        public Ontlening Ontlenen(Int32 lidId, int exemplaarId, DateTime vanaf)
        {
            Lid       lid       = (Lid)_gebruikersRepository.GetEntity(lidId);
            Ontlening ontlening = lid.NieuweOntlening(exemplaarId, vanaf);

            //alle wijzigingen opslaan in de database
            Persistence.Controller.AddOntleningToDB(lidId, ontlening);
            Persistence.Controller.UpdateSaldoLidInDB(lid);
            return(ontlening);
        }
Exemple #5
0
        protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
        {
            int        LidId       = Convert.ToInt32(DropDownList1.SelectedValue);
            Controller _controller = (Controller)Session["Controller"];

            BibDomain.Business.Lid        geselecteerd      = (BibDomain.Business.Lid)_controller.GetLeden().Find(l => l.Id == LidId);
            List <BibDomain.Business.Lid> geselecteerdLijst = new List <BibDomain.Business.Lid>();

            geselecteerdLijst.Add(geselecteerd);
            DataList1.DataSource = geselecteerdLijst;
            DataList1.DataBind();
        }
Exemple #6
0
 //constructor
 private GebruikersRepository()
 {
     Entities = Persistence.Controller.GetGebruikersFromDB();
     foreach (Gebruiker gebruiker in Entities)
     {
         if (gebruiker.GetType() == typeof(Lid))
         {
             //haal de ontleningen van dit lid op
             Lid lid = (Lid)gebruiker;
             lid.Ontleningen = Persistence.Controller.GetOntleningenFromDB(lid);
         }
     }
 }
Exemple #7
0
        protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
        {
            Controller _controller = (Controller)Session["Controller"];

            int exemplaarId = (int)GridView2.SelectedDataKey[0];

            //ontleen dit exemplaar voor de huidige gebruiker
            BibDomain.Business.Lid lid = (BibDomain.Business.Lid)_controller.CurrentUser;
            Ontlening ontlening        = _controller.Ontlenen((int)lid.Id, exemplaarId, DateTime.Today);

            //Session["_ontlening"] = ontlening;
            Response.Redirect("./Ontlening.aspx");
        }
Exemple #8
0
        protected void ToonSaldo()
        {
            Controller _controller = (Controller)Session["Controller"];
            Int32      lidId       = Convert.ToInt32(DropDownList1.SelectedValue);

            BibDomain.Business.Lid lid = (BibDomain.Business.Lid)_controller.GetLeden().Find(l => l.Id == lidId);
            if (lid != null)
            {
                lblSaldo.Text = lid.Saldo.ToString();
            }
            else
            {
                lblSaldo.Text = "***";
            }
        }
Exemple #9
0
 public List <Ontlening> GetOntleningen(Int32 LidId)
 {
     foreach (Gebruiker g in _gebruikersRepository.Entities)
     {
         if (g is Lid)
         {
             Lid l = (Lid)g;
             if (l.Id == LidId)
             {
                 return(l.Ontleningen);
             }
         }
     }
     return(new List <Ontlening>());
 }
Exemple #10
0
        protected void btnInnen_Click(object sender, EventArgs e)
        {
            Controller _controller = (Controller)Session["Controller"];
            Int32      lidId       = Convert.ToInt32(DropDownList1.SelectedValue);

            BibDomain.Business.Lid lid = (BibDomain.Business.Lid)_controller.GetLeden().Find(l => l.Id == lidId);

            decimal saldo   = Convert.ToDecimal(lblSaldo.Text);
            decimal betaald = Convert.ToDecimal(txtBetaald.Text);
            decimal terug;

            //bewaar nieuwe saldo
            terug = _controller.Afrekenen(lidId, betaald);
            //uitvoer
            lblTerug.Text   = terug.ToString();
            lblSaldo.Text   = lid.Saldo.ToString();
            txtBetaald.Text = 0.0M.ToString();
        }
Exemple #11
0
        internal decimal Afrekenen(Lid lid, decimal ontvangen)
        {
            decimal _terug = 0.0M;

            if (ontvangen < 0)
            {
                throw new ArgumentException("U ontvangt enkel geld bij teruggave.");
            }
            else
            {
                lid.Saldo -= ontvangen;
                if (lid.Saldo < 0)
                {
                    _terug    = lid.Saldo;
                    lid.Saldo = 0.0M;
                }
            }
            return(_terug);
        }
Exemple #12
0
 protected void btnNieuweGebruiker_Click(object sender, EventArgs e)
 {
     if (paswoord.Value == confirmPaswoord.Value)
     {
         try
         {
             Controller             c   = (Controller)Session["Controller"];
             BibDomain.Business.Lid lid = (BibDomain.Business.Lid)GebruikerBuilder.BuildGebruiker(gebruikersnaam.Value, paswoord.Value, voornaam.Value, achternaam.Value, Rol.Lid);
             FormsAuthentication.RedirectFromLoginPage(lid.Achternaam, false);
         }
         catch (Exception exception)
         {
             foutboodschap.Text = exception.Message;
         }
     }
     else
     {
         foutboodschap.Text = "De paswoorden komen niet overeen.";
     }
 }
Exemple #13
0
        public decimal Afrekenen(Int32 lidId, decimal ontvangen)
        {
            decimal terug;

            //if (CurrentUser.GetType() == typeof(Medewerker))
            if (CurrentUser is Medewerker)
            {
                Medewerker mw  = CurrentUser as Medewerker; // = casting zonder exception, null indien CurrentUser geen Medewerker is
                Lid        lid = (Lid)_gebruikersRepository.Entities.Find(g => g.Id == lidId);
                terug = mw.Afrekenen(lid, ontvangen);

                //lid is gewijzigd, dus: ook in repository (entiteit)! Dus: aangepaste gegevens naar persistence sturen!
                Persistence.Controller.UpdateSaldoLidInDB(lid);
            }
            else
            {
                throw new InvalidOperationException("Afrekenen gebeurt door de medewerkers");
            }
            return(terug);
        }
Exemple #14
0
 public void WijzigOntlening(Int32 exemplaarId, DateTime vanaf, DateTime?tot = null, Lid lid = null, string titel = "")
 {
     if (lid == null)
     {
         lid = CurrentUser as Lid;
     }
     if (lid != null)
     {
         Ontlening ontlening = lid.WijzigOntlening(exemplaarId, vanaf, tot);
         Persistence.Controller.WijzigOntleningInDB(ontlening);
     }
 }