private void SaveAllAvdelinger() { var allAvdelinger = UpdateDataSource(); if (allAvdelinger.Any(avdeling => avdeling.IsChanged)) { foreach (var avdeling in allAvdelinger) { if (avdeling.IsChanged) { avdeling.Save(); } } allAvdelinger = Avdeling.GetAll().ToList(); UpdateBinding(allAvdelinger, sort: true); } }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { ViewState["dummyId"] = 0; if (Session["AvdelingList - hidedColumns"] == null) { Session["AvdelingList - hidedColumns"] = new Dictionary <string, string>(); } IList <Avdeling> allAvdelinger = Avdeling.GetAll().ToList(); Session["AvdelingList - SortDirection"] = Session["AvdelingList - SortDirection"] ?? SortDirection.Ascending; Session["AvdelingList - SortExpression"] = Session["AvdelingList - SortExpression"] ?? "Navn"; UpdateBinding(allAvdelinger, sort: true); } }
private void BindToListView(IList <Klasse> allKlasser) { var avdelinger = Avdeling.GetAll().OrderBy(a => a.Navn).ToList(); var elever = Elev.GetAll().OrderBy(e => e.Navn).ToList(); var ansatte = Ansatt.GetAll().OrderBy(a => a.Navn).ToList(); var klasseViewList = new List <object>(); foreach (var klasse in allKlasser) { klasseViewList.Add(new { klasse.Id, klasse.Navn, klasse.MaksAntallElever }); } KlasseListView.DataSource = klasseViewList; KlasseListView.DataBind(); foreach (var item in KlasseListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var avdelingDropDown = (DropDownList)item.FindControl("AvdelingDropDown"); var klasse = allKlasser.First(k => k.Id.ToString() == idButton.Text); avdelingDropDown.DataSource = avdelinger; avdelingDropDown.DataValueField = Utilities.GetPropertyName(() => klasse.Avdeling.Id); avdelingDropDown.DataTextField = Utilities.GetPropertyName(() => klasse.Avdeling.Navn); avdelingDropDown.DataBind(); if (klasse.Avdeling != null) { avdelingDropDown.SelectedValue = klasse.Avdeling.Id.ToString(); } var eleverListBox = (ListControl)item.FindControl("EleverListBox"); var elevTeller = 0; var elevSelectedTeller = 0; foreach (var elev in elever) { var listItem = new ListItem(elev.Navn, elev.Id.ToString()); if (klasse.Elevs.Any(e => e.Id == elev.Id)) { listItem.Selected = true; listItem.Enabled = false; } if (listItem.Selected) { eleverListBox.Items.Insert(elevSelectedTeller++, listItem); elevTeller++; } else { eleverListBox.Items.Insert(elevTeller++, listItem); } } var ansatteListBox = (ListControl)item.FindControl("AnsatteListBox"); var ansattTeller = 0; var ansattSelectedTeller = 0; foreach (var ansatt in ansatte) { var listItem = new ListItem(ansatt.Navn, ansatt.Id.ToString()); if (klasse.Ansatts.Any(a => a.Id == ansatt.Id)) { listItem.Selected = true; } if (listItem.Selected) { ansatteListBox.Items.Insert(ansattSelectedTeller++, listItem); ansattTeller++; } else { ansatteListBox.Items.Insert(ansattTeller++, listItem); } } if (klasse.Elevs.Count > 0) { var deleteLinkButton = (LinkButton)item.FindControl("DeleteLinkButton"); WebUtilities.DisableLinkButton(deleteLinkButton, @"Alle elever må overføres til andre klasser før klasse '" + klasse.Navn + "' kan slettes."); } } } }
private void UpdateBinding(Ansatt ansatt) { Session["currentAnsatt"] = ansatt; var avdelinger = Avdeling.GetAll().OrderBy(a => a.Navn).ToList(); var stillingsTyper = StillingsType.GetAll().OrderBy(s => s.Navn).ToList(); var klasser = Klasse.GetAll().OrderBy(k => k.Navn).ToList(); var sfos = Sfo.GetAll().OrderBy(s => s.Navn).ToList(); IdTextBox.Text = ansatt.Id.ToString(); NavnTextBox.Text = ansatt.Navn; StillingsStørrelseTextBox.Text = ansatt.Stillingsstørrelse.ToString(); TlfNrTextBox.Text = ansatt.Tlfnr; TimerPrUkeTextBox.Text = ansatt.TimerPrUke().ToString("N2"); DiffTimerTextBox.Text = ansatt.DiffTimer().ToString("N2"); AvdelingDropDown.DataSource = avdelinger; AvdelingDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.Avdeling.Id); AvdelingDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.Avdeling.Navn); AvdelingDropDown.DataBind(); if (ansatt.Avdeling != null) { AvdelingDropDown.SelectedValue = ansatt.Avdeling.Id.ToString(); } StillingsTypeDropDown.DataSource = stillingsTyper; StillingsTypeDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.StillingsType.Id); StillingsTypeDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.StillingsType.Navn); StillingsTypeDropDown.DataBind(); if (ansatt.StillingsType != null) { StillingsTypeDropDown.SelectedValue = ansatt.StillingsType.Id.ToString(); } var klasseTeller = 0; var klasseSelectedTeller = 0; JobberIKlasserListBox.Items.Clear(); foreach (var klasse in klasser) { var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); if (ansatt.JobberIKlasser.Any(k => k.Id == klasse.Id)) { listItem.Selected = true; } if (listItem.Selected) { JobberIKlasserListBox.Items.Insert(klasseSelectedTeller++, listItem); klasseTeller++; } else { JobberIKlasserListBox.Items.Insert(klasseTeller++, listItem); } } var sfoTeller = 0; var sfoSelectedTeller = 0; JobberISfosListBox.Items.Clear(); foreach (var sfo in sfos) { var listItem = new ListItem(sfo.Navn, sfo.Id.ToString()); if (ansatt.JobberISfos.Any(s => s.Id == sfo.Id)) { listItem.Selected = true; } if (listItem.Selected) { JobberISfosListBox.Items.Insert(sfoSelectedTeller++, listItem); sfoTeller++; } else { JobberISfosListBox.Items.Insert(sfoTeller++, listItem); } } BindToListView(ansatt); }
protected void CancelButton_Click(object sender, EventArgs e) { var allAvdelinger = Avdeling.GetAll().ToList(); UpdateBinding(allAvdelinger, sort: true); }
private void BindToListView(IList <Ansatt> allAnsatte) { //Stopwatch stopwatch = new Stopwatch(); //stopwatch.Start(); var avdelinger = Avdeling.GetAll().OrderBy(a => a.Navn).ToList(); var stillingsTyper = StillingsType.GetAll().OrderBy(s => s.Navn).ToList(); var klasser = Klasse.GetAll().OrderBy(k => k.Navn).ToList(); var sfos = Sfo.GetAll().OrderBy(s => s.Navn).ToList(); var ansattViewList = new List <object>(); foreach (var ansatt in allAnsatte) { ansattViewList.Add(new { ansatt.Id, ansatt.Navn, ansatt.Stillingsstørrelse, ansatt.Tlfnr }); } AnsattListView.DataSource = ansattViewList; AnsattListView.DataBind(); foreach (var item in AnsattListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var avdelingDropDown = (DropDownList)item.FindControl("AvdelingDropDown"); var ansatt = allAnsatte.First(a => a.Id.ToString() == idButton.Text); avdelingDropDown.DataSource = avdelinger; avdelingDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.Avdeling.Id); avdelingDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.Avdeling.Navn); avdelingDropDown.DataBind(); if (ansatt.Avdeling != null) { avdelingDropDown.SelectedValue = ansatt.Avdeling.Id.ToString(); } var stillingsTypeDropDown = (DropDownList)item.FindControl("StillingsTypeDropDown"); stillingsTypeDropDown.DataSource = stillingsTyper; stillingsTypeDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.StillingsType.Id); stillingsTypeDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.StillingsType.Navn); stillingsTypeDropDown.DataBind(); if (ansatt.StillingsType != null) { stillingsTypeDropDown.SelectedValue = ansatt.StillingsType.Id.ToString(); } var jobberIKlasserListBox = (ListControl)item.FindControl("JobberIKlasserListBox"); jobberIKlasserListBox.Items.Clear(); var klasseTeller = 0; var klasseSelectedTeller = 0; foreach (var klasse in klasser) { var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); if (ansatt.JobberIKlasser.Any(k => k.Id == klasse.Id)) { listItem.Selected = true; } if (listItem.Selected) { jobberIKlasserListBox.Items.Insert(klasseSelectedTeller++, listItem); klasseTeller++; } else { jobberIKlasserListBox.Items.Insert(klasseTeller++, listItem); } } var jobberISfosListBox = (ListControl)item.FindControl("JobberISfosListBox"); jobberISfosListBox.Items.Clear(); var sfoTeller = 0; var sfoSelectedTeller = 0; foreach (var sfo in sfos) { var listItem = new ListItem(sfo.Navn, sfo.Id.ToString()); if (ansatt.JobberISfos.Any(s => s.Id == sfo.Id)) { listItem.Selected = true; } if (listItem.Selected) { jobberISfosListBox.Items.Insert(sfoSelectedTeller++, listItem); sfoTeller++; } else { jobberISfosListBox.Items.Insert(sfoTeller++, listItem); } } var avdelingsLederIAvdelinger = ansatt.AvdelingsLederIAvdelinger.Count > 0; var hovedPedagogForElever = ansatt.HovedPedagogForElever.Count > 0; if (avdelingsLederIAvdelinger || hovedPedagogForElever) { string message; if (avdelingsLederIAvdelinger) { message = @"Avdelinger hvor '" + ansatt.Navn + "' er avdelingsleder må tilordnes annen avdelingsleder før '" + ansatt.Navn + "' kan slettes."; } else { message = @"Elever som har '" + ansatt.Navn + "' som hovedpedagog må tilordnes annen hovedpedagog før '" + ansatt.Navn + "' kan slettes."; } var deleteLinkButton = (LinkButton)item.FindControl("DeleteLinkButton"); WebUtilities.DisableLinkButton(deleteLinkButton, message); } //var avdelingsLederIAvdelingerListBox = (ListBox)item.FindControl("AvdelingsLederIAvdelingerListBox"); //var avdelingTeller = 0; //foreach (var avdeling in avdelinger) //{ // var listItem = new ListItem(avdeling.Navn, avdeling.Id.ToString()); // if (ansatt.AvdelingsLederIAvdelinger.Any(a => a.Id == avdeling.Id)) // { // listItem.Selected = true; // } // avdelingsLederIAvdelingerListBox.Items.Insert(avdelingTeller++, listItem); //} //var yearsDropDownCheckBoxes = (DropDownCheckBoxes)item.FindControl("DropDownCheckBoxes1"); //var klasseTeller1 = 0; //foreach (var klasse in klasser) //{ // var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); // if (ansatt.JobberIKlasser.Any(k => k.Id == klasse.Id)) // { // listItem.Selected = true; // } // yearsDropDownCheckBoxes.Items.Insert(klasseTeller1++, listItem); //} //yearsDropDownCheckBoxes.CssClass = "form-control"; //var varslesAvAnsattDropDown = (DropDownList)item.FindControl("VarslesAvAnsattDropDown"); //varslesAvAnsattDropDown.DataSource = ansatte; //varslesAvAnsattDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.VarslesAvAnsatt.Id); //varslesAvAnsattDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.VarslesAvAnsatt.Navn); //varslesAvAnsattDropDown.DataBind(); //// Default value //varslesAvAnsattDropDown.Items.Insert(0, new ListItem("Velg varsling", "0")); //varslesAvAnsattDropDown.SelectedValue = ansatt.VarslesAvAnsatt != null ? ansatt.VarslesAvAnsatt.Id.ToString() : "0"; } } //stopwatch.Stop(); }