Created
May 22, 2013 10:07
-
-
Save s0ren/5626531 to your computer and use it in GitHub Desktop.
Enteties i flertal, se eksempel til Signe
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Web; | |
using System.Web.UI; | |
using System.Web.UI.WebControls; | |
public partial class _Default : System.Web.UI.Page | |
{ | |
protected void Page_Load(object sender, EventArgs e) | |
{ | |
using (var ctx = new RideklubbenContext()) | |
{ | |
// hent alle Heste fra context'en, og put dem i repeaterens datasource. | |
// Databind(), så kører resten :-) | |
RepeaterTopBar.DataSource = ctx.Heste; | |
RepeaterTopBar.DataBind(); | |
} | |
} | |
/// <summary> | |
/// Når man klikker på en hest i topbaren | |
/// </summary> | |
/// <param name="source">topbar repeateren</param> | |
/// <param name="e">Alt muligt info om eventet. | |
/// Bl.a. e.CommandArgument, hvor vi har ID'et på hesten brugeren trykkede på.</param> | |
protected void RepeaterTopBar_ItemCommand(object source, RepeaterCommandEventArgs e) | |
{ | |
// asert Heste | |
// TODO hvad hvis ikke heste? Men Ryttere eller ejere... | |
// den hest der er klikket på | |
int hesteId = Convert.ToInt32(e.CommandArgument); | |
using (var ctx = new RideklubbenContext()) | |
{ | |
// hent den hest der er klikket på | |
Hest hesten = ctx.Heste.Single(heste => heste.HesteId == hesteId); | |
// eksempel til Signe: | |
var ryttere = hesten.Ryttere; | |
var ponyer = ctx.Heste.Select(ridedyr => ridedyr.Højde < 120); | |
RepeaterRightColumn.DataSource = ponyer; | |
// Udskriv info om hesten (der er kun en, så jeg gider ikke en repeater). | |
CenterImageNavn.Text = hesten.Navn; | |
// udregn alder i år | |
CenterImageAlder.Text = Math.Floor(((DateTime.Now - hesten.FødeDato).TotalDays / 365)).ToString() + " år"; | |
CenterIamgeOprindelse.Text = hesten.Fødestald; | |
CenterImageImg.ImageUrl = hesten.BilledeSti; | |
// HER BLIR DET SMART! | |
// vi binder alle hestens ryttere til repeateren i venstre side. | |
RepeaterLeftColumn.DataSource = hesten.Ryttere; | |
RepeaterLeftColumn.DataBind(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment