Beispiel #1
0
        private void UpdateBinding(Elev elev)
        {
            Session["currentElev"] = elev;

            var klasser        = Klasse.GetAll().OrderBy(k => k.Navn);
            var sfoes          = Sfo.GetAll().OrderBy(s => s.Navn);
            var trinn          = Trinn.GetAll().OrderBy(t => Utilities.DigitPart(t.Navn));
            var ansatte        = Ansatt.GetAll().Where(a => a.StillingsType.Id == (int)StillingsTypeEnum.Pedagog).OrderBy(a => a.Navn);
            var bemanningsNorm = BemanningsNorm.GetAll().OrderBy(b => b.Navn);

            IdTextBox.Text = elev.Id.ToString();

            //TextBox1.Attributes["type"] = "time";

            NavnTextBox.Text            = elev.Navn;
            SkoleTimerPrUkeTextBox.Text = elev.Trinn != null?elev.Trinn.UkeTimeTall.ToString() : trinn.First().UkeTimeTall.ToString();

            SfoProsentTextBox.Text = (elev.SfoProsent % 1 == 0) ? elev.SfoProsent.ToString("N0") : elev.SfoProsent.ToString("N2");
            TlfnrTextBox.Text      = elev.TlfNr;


            KlasseDropDown.DataSource     = klasser;
            KlasseDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Klasse.Id);
            KlasseDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Klasse.Navn);
            KlasseDropDown.DataBind();

            if (elev.Klasse != null)
            {
                KlasseDropDown.SelectedValue = elev.Klasse.Id.ToString();
            }

            SfoDropDown.DataSource     = sfoes;
            SfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Sfo.Id);
            SfoDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Sfo.Navn);
            SfoDropDown.DataBind();

            // Default value
            SfoDropDown.Items.Insert(0, new ListItem("Velg sfo", "0"));
            SfoDropDown.SelectedValue = elev.Sfo != null?elev.Sfo.Id.ToString() : "0";

            TrinnDropDown.DataSource     = trinn;
            TrinnDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Trinn.Id);
            TrinnDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Trinn.Navn);
            TrinnDropDown.DataBind();

            if (elev.Trinn == null)
            {
                elev.Trinn = trinn.First();
            }

            TrinnDropDown.SelectedValue = elev.Trinn.Id.ToString();

            HovedPedagogDropDown.DataSource     = ansatte;
            HovedPedagogDropDown.DataValueField = Utilities.GetPropertyName(() => elev.HovedPedagog.Id);
            HovedPedagogDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.HovedPedagog.Navn);
            HovedPedagogDropDown.DataBind();

            if (elev.HovedPedagog != null)
            {
                HovedPedagogDropDown.SelectedValue = elev.HovedPedagog.Id.ToString();
            }

            BemanningsNormSkoleDropDown.DataSource     = bemanningsNorm;
            BemanningsNormSkoleDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Id);
            BemanningsNormSkoleDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Navn);
            BemanningsNormSkoleDropDown.DataBind();
            BemanningsNormSkoleDropDown.SelectedValue = elev.BemanningsNormSkole != null?elev.BemanningsNormSkole.Id.ToString() : ((int)BemanningsNormEnum.OneToOne).ToString();

            BemanningsNormSfoDropDown.DataSource     = bemanningsNorm;
            BemanningsNormSfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Id);
            BemanningsNormSfoDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Navn);
            BemanningsNormSfoDropDown.DataBind();

            // Default value
            BemanningsNormSfoDropDown.Items.Insert(0, new ListItem("Velg BN", "0"));
            BemanningsNormSfoDropDown.SelectedValue = elev.BemanningsNormSfo != null?elev.BemanningsNormSfo.Id.ToString() : "0";

            BindToListView(elev);
        }
        private void BindToListView(IList <Elev> allElever)
        {
            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            var klasser        = Klasse.GetAll().OrderBy(k => k.Navn).ToList();
            var sfoes          = Sfo.GetAll().OrderBy(s => s.Navn).ToList();
            var trinn          = Trinn.GetAll().OrderBy(t => Utilities.DigitPart(t.Navn)).ToList();
            var ansatte        = Ansatt.GetAll().Where(a => a.StillingsType.Id == (int)StillingsTypeEnum.Pedagog).OrderBy(a => a.Navn).ToList();
            var bemanningsNorm = BemanningsNorm.GetAll().OrderBy(b => b.Navn).ToList();

            stopwatch.Stop();

            var elevViewList = new List <object>();

            foreach (var elev in allElever)
            {
                var sfoProsent      = (elev.SfoProsent % 1 == 0) ? elev.SfoProsent.ToString("N0") : elev.SfoProsent.ToString("N2");
                var skoleTimerPrUke = elev.Trinn != null ? elev.Trinn.UkeTimeTall : trinn.First().UkeTimeTall;
                elevViewList.Add(new
                {
                    elev.Id,
                    elev.Navn,
                    skoleTimerPrUke,
                    sfoProsent
                });
            }

            ElevListView.DataSource = elevViewList;
            ElevListView.DataBind();



            foreach (var item in ElevListView.Items)
            {
                if (item.ItemType == ListViewItemType.DataItem)
                {
                    var idButton = (Button)item.FindControl("IdButton");
                    var elev     = allElever.First(e => e.Id.ToString() == idButton.Text);

                    var klasseDropDown = (DropDownList)item.FindControl("KlasseDropDown");
                    klasseDropDown.DataSource     = klasser;
                    klasseDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Klasse.Id);
                    klasseDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Klasse.Navn);
                    klasseDropDown.DataBind();

                    if (elev.Klasse != null)
                    {
                        klasseDropDown.SelectedValue = elev.Klasse.Id.ToString();
                    }

                    var sfoDropDown = (DropDownList)item.FindControl("SfoDropDown");
                    sfoDropDown.DataSource     = sfoes;
                    sfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Sfo.Id);
                    sfoDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Sfo.Navn);
                    sfoDropDown.DataBind();

                    // Default value
                    sfoDropDown.Items.Insert(0, new ListItem("Velg sfo", "0"));
                    sfoDropDown.SelectedValue = elev.Sfo != null?elev.Sfo.Id.ToString() : "0";

                    var trinnDropDown = (DropDownList)item.FindControl("TrinnDropDown");
                    trinnDropDown.DataSource     = trinn;
                    trinnDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Trinn.Id);
                    trinnDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.Trinn.Navn);
                    trinnDropDown.DataBind();

                    if (elev.Trinn != null)
                    {
                        trinnDropDown.SelectedValue = elev.Trinn.Id.ToString();
                    }

                    var hovedPedagogDropDown = (DropDownList)item.FindControl("HovedPedagogDropDown");
                    hovedPedagogDropDown.DataSource     = ansatte;
                    hovedPedagogDropDown.DataValueField = Utilities.GetPropertyName(() => elev.HovedPedagog.Id);
                    hovedPedagogDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.HovedPedagog.Navn);
                    hovedPedagogDropDown.DataBind();

                    if (elev.HovedPedagog != null)
                    {
                        hovedPedagogDropDown.SelectedValue = elev.HovedPedagog.Id.ToString();
                    }

                    var bemanningsNormSkoleDropDown = (DropDownList)item.FindControl("BemanningsNormSkoleDropDown");
                    bemanningsNormSkoleDropDown.DataSource     = bemanningsNorm;
                    bemanningsNormSkoleDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Id);
                    bemanningsNormSkoleDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Navn);
                    bemanningsNormSkoleDropDown.DataBind();
                    bemanningsNormSkoleDropDown.SelectedValue = elev.BemanningsNormSkole != null?elev.BemanningsNormSkole.Id.ToString() : ((int)BemanningsNormEnum.OneToOne).ToString();

                    var bemanningsNormSfoDropDown = (DropDownList)item.FindControl("BemanningsNormSfoDropDown");
                    bemanningsNormSfoDropDown.DataSource     = bemanningsNorm;
                    bemanningsNormSfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Id);
                    bemanningsNormSfoDropDown.DataTextField  = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Navn);
                    bemanningsNormSfoDropDown.DataBind();

                    // Default value
                    bemanningsNormSfoDropDown.Items.Insert(0, new ListItem("Velg BN", "0"));
                    bemanningsNormSfoDropDown.SelectedValue = elev.BemanningsNormSfo != null?elev.BemanningsNormSfo.Id.ToString() : "0";
                }
            }

            //stopwatch.Stop();
        }