private List <object> PopulateAnsatteToViewList(List <object> sfoReportViewList, IEnumerable <Ansatt> ansatte, TimeSpan time, TimeSpan endTime, TimeSpan interval, string description, bool startTid) { description = string.Empty; // INFO: not in use at the moment... IEnumerable <Ansatt> ansatteMandag; IEnumerable <Ansatt> ansatteTirsdag; IEnumerable <Ansatt> ansatteOnsdag; IEnumerable <Ansatt> ansatteTorsdag; IEnumerable <Ansatt> ansatteFredag; var numberOfAddedListViewRows = 0; while (time < endTime) { // INFO: used to make propertyname typesafe/statically typed var ansattTilstede = new AnsattTilstede(); if (startTid) { ansatteMandag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.MandagStart)))); ansatteTirsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.TirsdagStart)))); ansatteOnsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.OnsdagStart)))); ansatteTorsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.TorsdagStart)))); ansatteFredag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.FredagStart)))); } else { ansatteMandag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.MandagSlutt)))); ansatteTirsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.TirsdagSlutt)))); ansatteOnsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.OnsdagSlutt)))); ansatteTorsdag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.TorsdagSlutt)))); ansatteFredag = ansatte.Where(ansatt => AnsattTilstedePåTid(ansatt, time, typeof(AnsattTilstede).GetProperty(Utilities.GetPropertyName(() => ansattTilstede.FredagSlutt)))); } if (ansatteMandag.Count() > 0 || ansatteTirsdag.Count() > 0 || ansatteOnsdag.Count() > 0 || ansatteTorsdag.Count() > 0 || ansatteFredag.Count() > 0) { var formattedTime = time.ToString(@"hh\:mm"); sfoReportViewList.Add(new { Description = description, MandagTid = FormatTime(ansatteMandag, formattedTime), MandagElever = FormatAnsatte(ansatteMandag), TirsdagTid = FormatTime(ansatteTirsdag, formattedTime), TirsdagElever = FormatAnsatte(ansatteTirsdag), OnsdagTid = FormatTime(ansatteOnsdag, formattedTime), OnsdagElever = FormatAnsatte(ansatteOnsdag), TorsdagTid = FormatTime(ansatteTorsdag, formattedTime), TorsdagElever = FormatAnsatte(ansatteTorsdag), FredagTid = FormatTime(ansatteFredag, formattedTime), FredagElever = FormatAnsatte(ansatteFredag), CSSClass = numberOfAddedListViewRows == 0 ? "row-standard line-dashed" : "row-standard" }); numberOfAddedListViewRows++; // INFO: to make sure only distinct descriptions are added to list description = string.Empty; } time = time.Add(interval); } return(sfoReportViewList); }
private Ansatt UpdateDataSource() { var ansatt = (Ansatt)Session["currentAnsatt"]; var ansattId = ansatt.Id; ICollection <AnsattTilstede> ansattTilstedes = new List <AnsattTilstede>(); foreach (var item in AnsattTilstedeListView.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 mandagFriCheckBox = (CheckBox)item.FindControl("MandagFriCheckBox"); var tirsdagStartTextBox = (TextBox)item.FindControl("TirsdagStartTextBox"); var tirsdagSluttTextBox = (TextBox)item.FindControl("TirsdagSluttTextBox"); var tirsdagFriCheckBox = (CheckBox)item.FindControl("TirsdagFriCheckBox"); var onsdagStartTextBox = (TextBox)item.FindControl("OnsdagStartTextBox"); var onsdagSluttTextBox = (TextBox)item.FindControl("OnsdagSluttTextBox"); var onsdagFriCheckBox = (CheckBox)item.FindControl("OnsdagFriCheckBox"); var torsdagStartTextBox = (TextBox)item.FindControl("TorsdagStartTextBox"); var torsdagSluttTextBox = (TextBox)item.FindControl("TorsdagSluttTextBox"); var torsdagFriCheckBox = (CheckBox)item.FindControl("TorsdagFriCheckBox"); var fredagStartTextBox = (TextBox)item.FindControl("FredagStartTextBox"); var fredagSluttTextBox = (TextBox)item.FindControl("FredagSluttTextBox"); var fredagFriCheckBox = (CheckBox)item.FindControl("FredagFriCheckBox"); var skoleCheckBox = (CheckBox)item.FindControl("SkoleCheckBox"); var ukeTypeDropDown = (DropDownList)item.FindControl("UkeTypeDropDown"); var ansattTilstedeId = Convert.ToInt32(idButton.Text); var ansattTilstede = new AnsattTilstede { Id = ansattTilstedeId, MandagStart = string.IsNullOrWhiteSpace(mandagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(mandagStartTextBox.Text), MandagSlutt = string.IsNullOrWhiteSpace(mandagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(mandagSluttTextBox.Text), MandagFri = mandagFriCheckBox.Checked, TirsdagStart = string.IsNullOrWhiteSpace(tirsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(tirsdagStartTextBox.Text), TirsdagSlutt = string.IsNullOrWhiteSpace(tirsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(tirsdagSluttTextBox.Text), TirsdagFri = tirsdagFriCheckBox.Checked, OnsdagStart = string.IsNullOrWhiteSpace(onsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(onsdagStartTextBox.Text), OnsdagSlutt = string.IsNullOrWhiteSpace(onsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(onsdagSluttTextBox.Text), OnsdagFri = onsdagFriCheckBox.Checked, TorsdagStart = string.IsNullOrWhiteSpace(torsdagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(torsdagStartTextBox.Text), TorsdagSlutt = string.IsNullOrWhiteSpace(torsdagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(torsdagSluttTextBox.Text), TorsdagFri = torsdagFriCheckBox.Checked, FredagStart = string.IsNullOrWhiteSpace(fredagStartTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(fredagStartTextBox.Text), FredagSlutt = string.IsNullOrWhiteSpace(fredagSluttTextBox.Text) ? (TimeSpan?)null : TimeSpan.Parse(fredagSluttTextBox.Text), FredagFri = fredagFriCheckBox.Checked, Skole = skoleCheckBox.Checked, Ansatt = ansatt, UkeType = UkeType.GetById(Convert.ToInt32(ukeTypeDropDown.SelectedValue)) }; ansattTilstedes.Add(ansattTilstede); } } IList <int> jobberIKlasserIds = (from ListItem listItem in JobberIKlasserListBox.Items where listItem.Selected select Convert.ToInt32(listItem.Value)).ToList(); IList <int> jobberISfoIds = (from ListItem listItem in JobberISfosListBox.Items where listItem.Selected select Convert.ToInt32(listItem.Value)).ToList(); ansatt.Update( NavnTextBox.Text, Convert.ToDecimal(StillingsStørrelseTextBox.Text), TlfNrTextBox.Text, Convert.ToInt32(AvdelingDropDown.SelectedValue), Convert.ToInt32(StillingsTypeDropDown.SelectedValue), jobberIKlasserIds, jobberISfoIds, ansattTilstedes); return(ansatt); }