Exemple #1
0
        public void PopulateRecordPeriods(string showing)
        {
            if (site.Records != null)
            {
                foreach (var rec in site.Records)
                {
                    if (DateTime.Now.Month > 9)
                    {
                        WY = DateTime.Now.AddYears(-1).Year;
                    }
                    else
                    {
                        WY = DateTime.Now.Year;
                    }
                    DateTime start_dt = Convert.ToDateTime(String.Format("10/1/{0}", WY - 1));
                    DateTime end_dt   = Convert.ToDateTime(String.Format("9/30/{0}", DateTime.Now.Year));

                    var dsPeriods    = db.SP_RMS_Periods_per_WY(rec.rms_record_id, start_dt, end_dt, "0").ToList();
                    int period_count = dsPeriods.Count();

                    if (rec.RecordAnalysisPeriods != null)
                    {
                        if (period_count > 0)
                        {
                            DataList dlPeriods = ConstructDL(rec.RecordType.type_ds, period_count, WY.ToString());

                            dlPeriods.DataSource = db.SP_RMS_Periods_per_WY(rec.rms_record_id, start_dt, end_dt, "0").ToList();
                            dlPeriods.DataBind();

                            phPeriods.Controls.Add(dlPeriods);
                        }
                        else
                        {
                            int lastWY = WY - 1;
                            start_dt = Convert.ToDateTime(String.Format("10/1/{0}", lastWY - 1));
                            end_dt   = Convert.ToDateTime(String.Format("9/30/{0}", lastWY));
                            var dsPeriods_lastWY    = db.SP_RMS_Periods_per_WY(rec.rms_record_id, start_dt, end_dt, "0").ToList();
                            int period_count_lastWY = dsPeriods_lastWY.Count();

                            if (period_count_lastWY > 0)
                            {
                                DataList dlPeriods = ConstructDL(rec.RecordType.type_ds, period_count_lastWY, lastWY.ToString());

                                dlPeriods.DataSource = dsPeriods_lastWY;
                                dlPeriods.DataBind();

                                phPeriods.Controls.Add(dlPeriods);
                            }
                            else
                            {
                                int last2WY = lastWY - 1;
                                start_dt = Convert.ToDateTime(String.Format("10/1/{0}", last2WY - 1));
                                end_dt   = Convert.ToDateTime(String.Format("9/30/{0}", last2WY));
                                var dsPeriods_last2WY    = db.SP_RMS_Periods_per_WY(rec.rms_record_id, start_dt, end_dt, "0").ToList();
                                int period_count_last2WY = dsPeriods_last2WY.Count();

                                if (period_count_last2WY > 0)
                                {
                                    DataList dlPeriods = ConstructDL(rec.RecordType.type_ds, period_count_last2WY, last2WY.ToString());

                                    dlPeriods.DataSource = dsPeriods_last2WY;
                                    dlPeriods.DataBind();

                                    phPeriods.Controls.Add(dlPeriods);
                                }
                            }
                        }
                    }
                    else
                    {
                        lblNoRecs.Visible     = true;
                        pnlEnterSite.Visible  = true;
                        pnlEditStatus.Visible = false;

                        return;
                    }
                }

                lblSiteNo.Text        = "Records for <a href=\"" + Config.SIMSURL + "StationInfo.aspx?site_id=" + site.site_id.ToString() + "\" target=\"_blank\">" + site.site_no + " " + db.vSITEFILEs.FirstOrDefault(s => s.site_id == site.nwisweb_site_id).station_nm + "</a>";
                lblNoRecs.Visible     = false;
                pnlEnterSite.Visible  = false;
                pnlEditStatus.Visible = true;

                if (showing == "view")
                {
                    pnlInstructions.Visible = true;
                    pnlEdit.Visible         = false;
                }
                else if (showing == "confirm")
                {
                    pnlInstructions.Visible = false;
                }
                else
                {
                    pnlInstructions.Visible = false;
                    PopulateEditStatusArea();
                }
            }
            else
            {
                lblNoRecs.Visible     = true;
                pnlEnterSite.Visible  = true;
                pnlEditStatus.Visible = false;
            }
        }