示例#1
0
        protected void EditButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                var allTrinn = UpdateDataSource();

                var button = (LinkButton)sender;
                var id     = Convert.ToInt32(button.CommandArgument);

                var trinnForEdit = allTrinn.First(a => a.Id == id);
                if (trinnForEdit.IsChanged)
                {
                    var trinn = trinnForEdit.Save();
                    id = trinn.Id;
                }

                if (allTrinn.Any(trinn => trinn.IsChanged))
                {
                    WebUtilities.ShowMessageBoxPopUp(this, "Det er ulagrede endringer på siden. Lagre (eller avbryt) disse for å unngå å miste data.");
                }
                else if (Trinn.GetById(id) == null)
                {
                    WebUtilities.ShowMessageBoxPopUp(this, "Trinn '" + trinnForEdit.Navn + "' finnes ikke lenger i systemet!");

                    allTrinn.Remove(trinnForEdit);
                    UpdateBinding(allTrinn, sort: false);
                }
                else
                {
                    Response.Redirect("~/Details/TrinnDetails.aspx?Id=" + HttpUtility.UrlEncode(trinnForEdit.Id.ToString()), false);
                }
            }
        }
示例#2
0
 private void BindToTable(Trinn trinn)
 {
     MandagStartTextBox.Text  = TimeAsString(trinn.MandagStart);
     MandagSluttTextBox.Text  = TimeAsString(trinn.MandagSlutt);
     TirsdagStartTextBox.Text = TimeAsString(trinn.TirsdagStart);
     TirsdagSluttTextBox.Text = TimeAsString(trinn.TirsdagSlutt);
     OnsdagStartTextBox.Text  = TimeAsString(trinn.OnsdagStart);
     OnsdagSluttTextBox.Text  = TimeAsString(trinn.OnsdagSlutt);
     TorsdagStartTextBox.Text = TimeAsString(trinn.TorsdagStart);
     TorsdagSluttTextBox.Text = TimeAsString(trinn.TorsdagSlutt);
     FredagStartTextBox.Text  = TimeAsString(trinn.FredagStart);
     FredagSluttTextBox.Text  = TimeAsString(trinn.FredagSlutt);
 }
示例#3
0
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            var id   = Convert.ToInt32(IdTextBox.Text);
            var elev = id > 0 ? Trinn.GetById(Convert.ToInt32(IdTextBox.Text)) : null;

            if (elev != null)
            {
                elev.Delete();
            }

            object refUrl = ViewState["RefUrl"];

            if (refUrl != null)
            {
                Response.Redirect((string)refUrl);
            }
        }
示例#4
0
        protected void CreateNewButton_Click(object sender, EventArgs e)
        {
            var allTrinn = UpdateDataSource();

            var dummyId = (int)ViewState["dummyId"];

            var trinn = new Trinn {
                Id = dummyId, IsChanged = true
            };

            allTrinn.Add(trinn);

            ViewState["dummyId"] = --dummyId;

            UpdateBinding(allTrinn, sort: false);

            WebUtilities.AdjustScrollPosition(this, 0, Int32.MaxValue);
        }
示例#5
0
        private void SaveAllTrinn()
        {
            var allTrinn = UpdateDataSource();

            if (allTrinn.Any(trinn => trinn.IsChanged))
            {
                foreach (var trinn in allTrinn)
                {
                    if (trinn.IsChanged)
                    {
                        trinn.Save();
                    }
                }

                allTrinn = Trinn.GetAll().ToList();

                UpdateBinding(allTrinn, sort: true);
            }
        }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == false)
            {
                ViewState["dummyId"] = 0;

                if (Session["TrinnList - hidedColumns"] == null)
                {
                    Session["TrinnList - hidedColumns"] = new Dictionary <string, string>();
                }

                IList <Trinn> allTrinn = Trinn.GetAll().ToList();

                Session["TrinnList - SortDirection"]  = Session["TrinnList - SortDirection"] ?? SortDirection.Ascending;
                Session["TrinnList - SortExpression"] = Session["TrinnList - SortExpression"] ?? "Navn";

                UpdateBinding(allTrinn, sort: true);
            }
        }
示例#7
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                var id    = Convert.ToInt32(IdTextBox.Text);
                var trinn = id > 0 ? Trinn.GetById(Convert.ToInt32(IdTextBox.Text)) : new Trinn {
                    IsChanged = true
                };

                IList <int> eleverIds =
                    (from ListItem listItem in EleverListBox.Items
                     where listItem.Selected
                     select Convert.ToInt32(listItem.Value)).ToList();

                trinn.Update(
                    NavnTextBox.Text,
                    Convert.ToDecimal(UkeTimeTallTextBox.Text),
                    eleverIds,
                    string.IsNullOrWhiteSpace(MandagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(MandagStartTextBox.Text),
                    string.IsNullOrWhiteSpace(MandagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(MandagSluttTextBox.Text),
                    string.IsNullOrWhiteSpace(TirsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TirsdagStartTextBox.Text),
                    string.IsNullOrWhiteSpace(TirsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TirsdagSluttTextBox.Text),
                    string.IsNullOrWhiteSpace(OnsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(OnsdagStartTextBox.Text),
                    string.IsNullOrWhiteSpace(OnsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(OnsdagSluttTextBox.Text),
                    string.IsNullOrWhiteSpace(TorsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TorsdagStartTextBox.Text),
                    string.IsNullOrWhiteSpace(TorsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TorsdagSluttTextBox.Text),
                    string.IsNullOrWhiteSpace(FredagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(FredagStartTextBox.Text),
                    string.IsNullOrWhiteSpace(FredagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(FredagSluttTextBox.Text)
                    );

                if (trinn.IsChanged)
                {
                    trinn.Save();

                    if (id == 0)
                    {
                        IdTextBox.Text = trinn.Id.ToString();
                    }
                }

                BindData(trinn.Id);
            }
        }
示例#8
0
        private void BindData(int id)
        {
            var trinn = id > 0 ? Trinn.GetById(id) : new Trinn();

            var elever = Elev.GetAll().OrderBy(e => e.Navn);

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

            NavnTextBox.Text        = trinn.Navn;
            UkeTimeTallTextBox.Text = trinn.UkeTimeTall.ToString();

            var elevTeller         = 0;
            var elevSelectedTeller = 0;

            EleverListBox.Items.Clear();

            foreach (var elev in elever)
            {
                var listItem = new ListItem(elev.Navn, elev.Id.ToString());

                if (trinn.Elevs.Any(e => e.Id == elev.Id))
                {
                    listItem.Selected = true;
                    listItem.Attributes.Add("class", WebUtilities.CSS_CLASS_DISABLED);
                }

                if (listItem.Selected)
                {
                    EleverListBox.Items.Insert(elevSelectedTeller++, listItem);
                    elevTeller++;
                }
                else
                {
                    EleverListBox.Items.Insert(elevTeller++, listItem);
                }
            }

            BindToTable(trinn);
        }
示例#9
0
        private bool PageChanged()
        {
            var changed = false;

            var id    = Convert.ToInt32(IdTextBox.Text);
            var trinn = id > 0 ? Trinn.GetById(Convert.ToInt32(IdTextBox.Text)) : new Trinn {
                IsChanged = true
            };

            IList <int> eleverIds =
                (from ListItem listItem in EleverListBox.Items
                 where listItem.Selected
                 select Convert.ToInt32(listItem.Value)).ToList();

            trinn.Update(
                NavnTextBox.Text,
                Convert.ToDecimal(UkeTimeTallTextBox.Text),
                eleverIds,
                string.IsNullOrWhiteSpace(MandagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(MandagStartTextBox.Text),
                string.IsNullOrWhiteSpace(MandagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(MandagSluttTextBox.Text),
                string.IsNullOrWhiteSpace(TirsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TirsdagStartTextBox.Text),
                string.IsNullOrWhiteSpace(TirsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TirsdagSluttTextBox.Text),
                string.IsNullOrWhiteSpace(OnsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(OnsdagStartTextBox.Text),
                string.IsNullOrWhiteSpace(OnsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(OnsdagSluttTextBox.Text),
                string.IsNullOrWhiteSpace(TorsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TorsdagStartTextBox.Text),
                string.IsNullOrWhiteSpace(TorsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(TorsdagSluttTextBox.Text),
                string.IsNullOrWhiteSpace(FredagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(FredagStartTextBox.Text),
                string.IsNullOrWhiteSpace(FredagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(FredagSluttTextBox.Text)
                );

            if (trinn.IsChanged)
            {
                changed = true;
            }


            return(changed);
        }
示例#10
0
        //protected void EditButton_Click(object sender, EventArgs e)
        //{
        //    var allTrinn = UpdateDataSource();
        //    if (allTrinn.Any(trinn => trinn.IsChanged))
        //    {
        //        WebUtilities.ShowMessageBoxPopUp(this, "Det er ulagrede endringer på siden. Lagre (eller avbryt) disse for å unngå å miste data.");
        //    }
        //    else
        //    {
        //        var button = (LinkButton)sender;
        //        var id = Convert.ToInt32(button.CommandArgument);

        //        Response.Redirect("../Details/ElevDetails.aspx?Id=" + HttpUtility.UrlEncode(id.ToString()));
        //    }

        //}


        protected void CancelButton_Click(object sender, EventArgs e)
        {
            var allTrinn = Trinn.GetAll().ToList();

            UpdateBinding(allTrinn, sort: true);
        }
示例#11
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);
        }
示例#12
0
        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();
        }