Ejemplo n.º 1
0
        private Elev UpdateDataSource()
        {
            var elev   = (Elev)Session["currentElev"];
            var elevId = elev.Id;

            ICollection <ElevTilstede> elevTilstedes = new List <ElevTilstede>();

            foreach (var item in ElevTilstedeListView.Items)
            {
                if (item.ItemType == ListViewItemType.DataItem)
                {
                    var idButton            = (Button)item.FindControl("IdButton");
                    var mandagStartTextBox  = (TextBox)item.FindControl("MandagStartTextBox");
                    var mandagSluttTextBox  = (TextBox)item.FindControl("MandagSluttTextBox");
                    var tirsdagStartTextBox = (TextBox)item.FindControl("TirsdagStartTextBox");
                    var tirsdagSluttTextBox = (TextBox)item.FindControl("TirsdagSluttTextBox");
                    var onsdagStartTextBox  = (TextBox)item.FindControl("OnsdagStartTextBox");
                    var onsdagSluttTextBox  = (TextBox)item.FindControl("OnsdagSluttTextBox");
                    var torsdagStartTextBox = (TextBox)item.FindControl("TorsdagStartTextBox");
                    var torsdagSluttTextBox = (TextBox)item.FindControl("TorsdagSluttTextBox");
                    var fredagStartTextBox  = (TextBox)item.FindControl("FredagStartTextBox");
                    var fredagSluttTextBox  = (TextBox)item.FindControl("FredagSluttTextBox");

                    var ukeTypeDropDown = (DropDownList)item.FindControl("UkeTypeDropDown");

                    var elevTilstedeId = Convert.ToInt32(idButton.Text);

                    var elevTilstede = new ElevTilstede
                    {
                        Id           = elevTilstedeId,
                        MandagStart  = string.IsNullOrWhiteSpace(mandagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(mandagStartTextBox.Text),
                        MandagSlutt  = string.IsNullOrWhiteSpace(mandagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(mandagSluttTextBox.Text),
                        TirsdagStart = string.IsNullOrWhiteSpace(tirsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(tirsdagStartTextBox.Text),
                        TirsdagSlutt = string.IsNullOrWhiteSpace(tirsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(tirsdagSluttTextBox.Text),
                        OnsdagStart  = string.IsNullOrWhiteSpace(onsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(onsdagStartTextBox.Text),
                        OnsdagSlutt  = string.IsNullOrWhiteSpace(onsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(onsdagSluttTextBox.Text),
                        TorsdagStart = string.IsNullOrWhiteSpace(torsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(torsdagStartTextBox.Text),
                        TorsdagSlutt = string.IsNullOrWhiteSpace(torsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(torsdagSluttTextBox.Text),
                        FredagStart  = string.IsNullOrWhiteSpace(fredagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(fredagStartTextBox.Text),
                        FredagSlutt  = string.IsNullOrWhiteSpace(fredagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(fredagSluttTextBox.Text),
                        Elev         = elev,
                        UkeType      = UkeType.GetById(Convert.ToInt32(ukeTypeDropDown.SelectedValue))
                    };

                    elevTilstedes.Add(elevTilstede);
                }
            }

            elev.Update(
                NavnTextBox.Text,
                Convert.ToDecimal(SfoProsentTextBox.Text),
                Convert.ToInt32(KlasseDropDown.SelectedValue),
                Convert.ToInt32(SfoDropDown.SelectedValue),
                Convert.ToInt32(TrinnDropDown.SelectedValue),
                Convert.ToInt32(HovedPedagogDropDown.SelectedValue),
                Convert.ToInt32(BemanningsNormSkoleDropDown.SelectedValue),
                Convert.ToInt32(BemanningsNormSfoDropDown.SelectedValue),
                TlfnrTextBox.Text,
                elevTilstedes
                );

            return(elev);
        }
Ejemplo n.º 2
0
        private List <object> PopulateEleverToViewList(List <object> sfoReportViewList, IEnumerable <Elev> elever, TimeSpan time, TimeSpan endTime, TimeSpan interval, string description, bool startTid)
        {
            IEnumerable <Elev> eleverMandag;
            IEnumerable <Elev> eleverTirsdag;
            IEnumerable <Elev> eleverOnsdag;
            IEnumerable <Elev> eleverTorsdag;
            IEnumerable <Elev> eleverFredag;

            var numberOfAddedListViewRows = 0;

            while (time < endTime)
            {
                // INFO: used to make propertyname typesafe/statically typed
                var elevTilstede = new ElevTilstede();

                if (startTid)
                {
                    eleverMandag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.MandagStart))));
                    eleverTirsdag = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.TirsdagStart))));
                    eleverOnsdag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.OnsdagStart))));
                    eleverTorsdag = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.TorsdagStart))));
                    eleverFredag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.FredagStart))));
                }
                else
                {
                    eleverMandag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.MandagSlutt))));
                    eleverTirsdag = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.TirsdagSlutt))));
                    eleverOnsdag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.OnsdagSlutt))));
                    eleverTorsdag = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.TorsdagSlutt))));
                    eleverFredag  = elever.Where(elev => ElevTilstedePåTid(elev, time, typeof(ElevTilstede).GetProperty(Utilities.GetPropertyName(() => elevTilstede.FredagSlutt))));
                }

                if (eleverMandag.Count() > 0 ||
                    eleverTirsdag.Count() > 0 ||
                    eleverOnsdag.Count() > 0 ||
                    eleverTorsdag.Count() > 0 ||
                    eleverFredag.Count() > 0)
                {
                    var formattedTime = time.ToString(@"hh\:mm");

                    sfoReportViewList.Add(new
                    {
                        Description   = description,
                        MandagTid     = FormatTime(eleverMandag, formattedTime),
                        MandagElever  = FormatElever(eleverMandag),
                        TirsdagTid    = FormatTime(eleverTirsdag, formattedTime),
                        TirsdagElever = FormatElever(eleverTirsdag),
                        OnsdagTid     = FormatTime(eleverOnsdag, formattedTime),
                        OnsdagElever  = FormatElever(eleverOnsdag),
                        TorsdagTid    = FormatTime(eleverTorsdag, formattedTime),
                        TorsdagElever = FormatElever(eleverTorsdag),
                        FredagTid     = FormatTime(eleverFredag, formattedTime),
                        FredagElever  = FormatElever(eleverFredag),
                        CSSClass      = numberOfAddedListViewRows == 0 ? "row-standard line-solid" : "row-standard"
                    });

                    numberOfAddedListViewRows++;

                    // INFO: to make sure only distinct descriptions are added to list
                    description = string.Empty;
                }

                time = time.Add(interval);
            }

            return(sfoReportViewList);
        }