protected void dlOuterSANAL_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataList dlInnerSANAL = e.Item.FindControl("dlInnerSANAL") as DataList; HiddenField hfRecordID = e.Item.FindControl("hfRecordID") as HiddenField; //Make sure a record is found from the current row's rms_record_id var tRecord = db.Records.FirstOrDefault(p => p.rms_record_id.ToString() == hfRecordID.Value.ToString()); if (tRecord != null) { DateTime period_beg_dt, period_end_dt; if (rdpBeginDt.SelectedDate == null) { period_beg_dt = Convert.ToDateTime(String.Format("10/01/{0}", DateTime.Now.Year - 1)); } else { period_beg_dt = Convert.ToDateTime(rdpBeginDt.SelectedDate); } if (rdpEndDt.SelectedDate == null) { period_end_dt = DateTime.Now; } else { period_end_dt = Convert.ToDateTime(rdpEndDt.SelectedDate); } List <AnalysisNotesItem> lani = new List <AnalysisNotesItem>(); //Grab all analysis periods within this timespan var periods = tRecord.RecordAnalysisPeriods .Where(p => p.period_end_dt >= period_beg_dt && p.period_beg_dt <= period_end_dt) .OrderByDescending(p => p.period_beg_dt).ToList(); foreach (var period in periods) { AnalysisNotesItem ani = new AnalysisNotesItem { timespan = String.Format("{0:MM/dd/yyyy} to {1:MM/dd/yyyy}", period.period_beg_dt, period.period_end_dt), analysis_notes_va = period.analysis_notes_va.FormatParagraphOut(), edited_dt = period.PeriodChangeLogs.Count() > 0 ? String.Format("{0}", period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_dt) : "unavailable", edited_by_uid = period.PeriodChangeLogs.Count() > 0 ? period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_by_uid : "unavailable", analyzed_by = period.analyzed_by, analyzed_dt = String.Format("{0:MM/dd/yyyy}", period.analyzed_dt), approved_by = period.approved_by, approved_dt = String.Format("{0:MM/dd/yyyy}", period.approved_dt) }; lani.Add(ani); } dlInnerSANAL.DataSource = lani; dlInnerSANAL.DataBind(); } } }
protected void SetupWYAnalysisNotesPanel() { List <AnalysisNotesItem> lani = new List <AnalysisNotesItem>(); if (PeriodID == 0) { //Figure out the begin and end dates to use for the WY timespan if (beg_dt == null && end_dt == null) { DateTime currDate = DateTime.Now; int currWY; if (currDate.Month < 4) { currWY = DateTime.Now.Year - 2; } else { currWY = DateTime.Now.Year - 1; } beg_dt = Convert.ToDateTime("10/1/" + currWY.ToString()); end_dt = DateTime.Now; } //Grab all analysis periods within this timespan var periods = currRecord.RecordAnalysisPeriods.Where(p => p.period_end_dt >= beg_dt && p.period_beg_dt <= end_dt).OrderByDescending(p => p.period_beg_dt).ToList(); foreach (var period in periods) { AnalysisNotesItem ani = new AnalysisNotesItem { timespan = String.Format("{0:MM/dd/yyyy} to {1:MM/dd/yyyy}", period.period_beg_dt, period.period_end_dt), analysis_notes_va = period.analysis_notes_va.FormatParagraphOut(), edited_dt = period.PeriodChangeLogs.Count() > 0 ? String.Format("{0}", period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_dt) : "unavailable", edited_by_uid = period.PeriodChangeLogs.Count() > 0 ? period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_by_uid : "unavailable", analyzed_by = period.analyzed_by, analyzed_dt = String.Format("{0:MM/dd/yyyy}", period.analyzed_dt), approved_by = period.approved_by, approved_dt = String.Format("{0:MM/dd/yyyy}", period.approved_dt) }; lani.Add(ani); } ltlReportTitle.Text = "WY Analysis"; } else { var period = currRecord.RecordAnalysisPeriods.FirstOrDefault(p => p.period_id == PeriodID); AnalysisNotesItem ani = new AnalysisNotesItem { timespan = String.Format("{0:MM/dd/yyyy} to {1:MM/dd/yyyy}", period.period_beg_dt, period.period_end_dt), analysis_notes_va = period.analysis_notes_va.FormatParagraphOut(), edited_dt = String.Format("{0}", period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_dt), edited_by_uid = period.PeriodChangeLogs.OrderByDescending(b => b.edited_dt).FirstOrDefault().edited_by_uid, analyzed_by = period.analyzed_by, analyzed_dt = String.Format("{0:MM/dd/yyyy}", period.analyzed_dt), approved_by = period.approved_by, approved_dt = String.Format("{0:MM/dd/yyyy}", period.approved_dt) }; lani.Add(ani); ltlReportTitle.Text = "Station Analysis"; } if (lani.Count == 0) { ltlNoPeriods.Visible = true; } pnlWYAnalysisNotes.Visible = true; dlWYAnalysisNotes.DataSource = lani; dlWYAnalysisNotes.DataBind(); }