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); } }
protected void CreateNewButton_Click(object sender, EventArgs e) { var allAvdelinger = UpdateDataSource(); var dummyId = (int)ViewState["dummyId"]; var avdeling = new Avdeling { Id = dummyId }; allAvdelinger.Add(avdeling); //Response.Redirect("AnsattDetails.aspx?Id=" + HttpUtility.UrlEncode(dummyId.ToString())); ViewState["dummyId"] = --dummyId; UpdateBinding(allAvdelinger, sort: false); WebUtilities.AdjustScrollPosition(this, 0, Int32.MaxValue); }
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 CreateMetaData() { _db.UkeTypes.Add(new UkeType() { Id = 1, Navn = "Ulik uke" }); _db.UkeTypes.Add(new UkeType() { Id = 2, Navn = "Lik uke" }); for (int i = 1; i <= 6; i++) { _db.BemanningsNorms.Add(new BemanningsNorm() { Id = i, Navn = "1:" + i, Antall = i }); } for (int i = 1; i <= 10; i++) { _db.Trinns.Add(new Trinn() { Id = i, Navn = i + ".trinn", UkeTimeTall = 20 + i, MandagStart = new TimeSpan(i, i, 00), MandagSlutt = new TimeSpan(i, i, 00), TirsdagStart = new TimeSpan(i, i, 00), TirsdagSlutt = new TimeSpan(i, i, 00), OnsdagStart = new TimeSpan(i, i, 00), OnsdagSlutt = new TimeSpan(i, i, 00), TorsdagStart = new TimeSpan(i, i, 00), TorsdagSlutt = new TimeSpan(i, i, 00), FredagStart = new TimeSpan(i, i, 00), FredagSlutt = new TimeSpan(i, i, 00), }); } _db.TidsInndelings.Add(new TidsInndeling() { Id = 1, Navn = "Tidsinndeling1", StartTid = new TimeSpan(7, 0, 0), SluttTid = new TimeSpan(17, 0, 0), TidsIntervall = new TimeSpan(0, 15, 0) }); _db.TidsInndelings.Add(new TidsInndeling() { Id = 2, Navn = "Tidsinndeling2", StartTid = new TimeSpan(8, 45, 0), SluttTid = new TimeSpan(14, 30, 0), TidsIntervall = new TimeSpan(0, 15, 0) }); _db.TidsInndelings.Add(new TidsInndeling() { Id = 3, Navn = "Tidsinndeling3", StartTid = new TimeSpan(7, 0, 0), SluttTid = new TimeSpan(8, 45, 0), TidsIntervall = new TimeSpan(0, 15, 0) }); _db.TidsInndelings.Add(new TidsInndeling() { Id = 4, Navn = "Tidsinndeling4", StartTid = new TimeSpan(16, 15, 0), SluttTid = new TimeSpan(17, 0, 0), TidsIntervall = new TimeSpan(0, 15, 0) }); for (int i = 1; i <= 8; i++) { _db.StillingsTypes.Add(new StillingsType() { Id = i, Navn = "Stillingstype" + i, TimerElevarbeid = 10 + i, TimerSamarbeid = i }); } _db.Skoles.Add(new Skole() { Id = 1, Navn = "Skole", fk_TidsInndelingId = 2 }); for (int i = 1; i <= 3; i++) { _db.Sfoes.Add(new Sfo() { Id = i, Navn = "Sfo" + i, fk_TidsInndelingId = 1, fk_TidligvaktTidsInndelingId = 3, fk_SeinvaktTidsInndelingId = 4 }); } for (int i = 1; i <= 4; i++) { _db.Avdelings.Add(new Avdeling() { Id = i, Navn = "Avdeling" + i }); } for (int i = 1; i <= 110; i++) { _db.Ansatts.Add(new Ansatt() { Id = i, Navn = "Ansatt" + i, Stillingsstørrelse = Math.Abs(100 - i), fk_AvdelingId = (i % 4) + 1, fk_StillingsTypeId = (i % 8) + 1, Tlfnr = string.Empty }); } _db.SaveChanges(); for (int i = 1; i <= 4; i++) { var avdeling = Avdeling.GetById(i); avdeling.AvdelingsLeder = Ansatt.GetById(i); avdeling.Save(); } for (int i = 1; i <= 15; i++) { _db.Klasses.Add(new Klasse() { Id = i, Navn = "Klasse" + i, MaksAntallElever = i, fk_AvdelingId = (i % 4) + 1 }); } var hovedpedagoger = Ansatt.GetAll().Where(a => a.StillingsType.Id == (int)StillingsTypeEnum.Pedagog).OrderBy(a => a.Navn).ToList(); for (int i = 1; i <= 90; i++) { _db.Elevs.Add(new Elev() { Id = i, Navn = "Elev" + i, SfoProsent = Math.Abs(100 - i), fk_KlasseId = (i % 4) + 1, fk_SkoleBemanningsNormId = (i % 6) + 1, fk_TrinnId = (i % 10) + 1, fk_HovedPedagogAnsattId = hovedpedagoger.ElementAt(i % 14).Id, TlfNr = string.Empty }); } _db.SaveChanges(); var elever = Elev.GetAll().ToList(); foreach (var elev in elever) { _db.ElevTilstedes.Add(new ElevTilstede() { MandagStart = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), MandagSlutt = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), TirsdagStart = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), TirsdagSlutt = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), OnsdagStart = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), OnsdagSlutt = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), TorsdagStart = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), TorsdagSlutt = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), FredagStart = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), FredagSlutt = new TimeSpan(elev.Id % 12, elev.Id % 12, 00), fk_ElevId = elev.Id, fk_UkeTypeId = (int)UkeTypeEnum.LikUke }); } var ansatte = Ansatt.GetAll().ToList(); foreach (var ansatt in ansatte) { _db.AnsattTilstedes.Add(new AnsattTilstede() { MandagStart = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), MandagSlutt = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), MandagFri = false, TirsdagStart = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), TirsdagSlutt = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), TirsdagFri = false, OnsdagStart = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), OnsdagSlutt = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), OnsdagFri = false, TorsdagStart = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), TorsdagSlutt = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), TorsdagFri = false, FredagStart = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), FredagSlutt = new TimeSpan(ansatt.Id % 12, ansatt.Id % 12, 00), FredagFri = false, Skole = true, fk_AnsattId = ansatt.Id, fk_UkeTypeId = (int)UkeTypeEnum.LikUke }); } _db.SaveChanges(); }
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(); }