//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); }
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(); }
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(); }
//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); }
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(); }
//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); } } }
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"); }
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 = "***"; } }
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>()); }
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(); }
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); }
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."; } }
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); }
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); } }