public void WriteData() { List <RecordDate> dates = new List <RecordDate>(); foreach (DateTime date in master.Keys) { RecordDate rdate = new RecordDate(); rdate.date = String.Format("new Date({0},{1},{2},{3},{4},{5})", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second); SpeciesRecords recs = master[date]; foreach (SpeciesRepItem item in recs.records) { rdate.items.Add(item); } dates.Add(rdate); } JavaScriptSerializer js = new JavaScriptSerializer(); Response.Write(js.Serialize(dates)); }
public void WriteTable() { foreach (DateTime date in master.Keys) { SpeciesRecords recs = master[date]; foreach (SpeciesRepItem item in recs.records) { Response.Write("<tr>"); Response.Write("<td>" + date.ToString("yyyy-MM-dd") + "</td>"); Response.Write("<td>" + date.ToString("HH:mm:ss") + "</td>"); Response.Write("<td>" + Server.HtmlEncode(item.commonName) + "</td>"); Response.Write("<td>" + Server.HtmlEncode(item.scientName) + "</td>"); Response.Write("<td>" + Server.HtmlEncode(item.flying.ToString()) + "</td>"); Response.Write("<td>" + Server.HtmlEncode(item.sitting.ToString()) + "</td>"); Response.Write("</tr>"); } } }
SpeciesRecords LoadRecords(String query, List <int> filteredSpecies) { int prevTransect = -1; bool speciesInTransect = true; SpeciesRepItem prevItem = null; SpeciesRecords records = new SpeciesRecords(); using (SqlConnection connection = new SqlConnection(DataSources.dbConSpecies)) { connection.Open(); using (SqlCommand command = new SqlCommand(query, connection)) { using (SqlDataReader set = command.ExecuteReader()) { while (set.Read()) { int fStationID = (int)set["fStationID"]; DateTime date = (DateTime)set["fStartDate"]; DateTime time1 = new DateTime(2010, 1, 1, 12, 0, 0); DateTime time2 = new DateTime(2010, 1, 1, 12, 0, 0); if (transects.ContainsKey(fStationID) == false) { Transect tr = new Transect(); tr.Date = String.Format("{0}-{1}-{2}", date.Year, date.Month.ToString("D2"), date.Day.ToString("D2")); tr.StartTime = String.Format("{0}:{1}:{2}", time1.Hour.ToString("D2"), time1.Minute.ToString("D2"), time1.Second.ToString("D2")); tr.EndTime = String.Format("{0}:{1}:{2}", time2.Hour.ToString("D2"), time2.Minute.ToString("D2"), time2.Second.ToString("D2")); tr.StartLat = set["fStartLat"].ToString(); tr.StartLong = set["fStartLng"].ToString(); tr.EndLat = set["fEndLat"].ToString(); tr.EndLong = set["fEndLng"].ToString(); tr.Cruise = set["fSurveyLabel"].ToString(); tr.transect = set["fLevel3Name"].ToString(); transects[fStationID] = tr; } Transect trans = transects[fStationID]; int speciesID = (int)set["fSpeciesID"]; if (filteredSpecies == null || filteredSpecies.Contains(speciesID)) { String speciesName = set["fCommonName"].ToString(); species[speciesName] = speciesID; if (trans.counts.ContainsKey(speciesID) == false) { trans.counts[speciesID] = new TCount(); } TCount tc = trans.counts[speciesID]; if (set["fOccurance"] != DBNull.Value) { int flying = (int)set["fOccurance"]; if (tc.flying == "") { tc.flying = "0"; } tc.flying = (int.Parse(tc.flying) + flying).ToString(); } } if (prevTransect != fStationID) { if (speciesInTransect == false) { if (filteredSpecies != null && prevItem != null) { // add null species record prevItem.commonName = "None observed"; prevItem.scientName = "None observed"; prevItem.flying = 0; prevItem.sitting = 0; records.records.Add(prevItem); } } prevTransect = fStationID; speciesInTransect = false; } SpeciesRepItem item = new SpeciesRepItem(); item.species = (int)set["fSpeciesID"]; item.commonName = set["fCommonName"].ToString(); item.scientName = set["fSpeciesName"].ToString(); item.flying = (int)set["fOccurance"]; DateTime time = new DateTime(2010, 1, 1, 12, 0, 0); item.date = new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second); item.startLat = (double)set["fStartLat"]; item.startLng = (double)set["fStartLng"]; item.endLat = set["fEndLat"].ToString(); item.endLng = set["fEndLng"].ToString(); item.LatitudeEnd = set["fEndLat"].ToString(); item.LongitudeEnd = set["fEndLng"].ToString(); if (filteredSpecies == null || filteredSpecies.Contains(item.species)) { speciesInTransect = true; records.records.Add(item); } prevItem = item; } } } } if (speciesInTransect == false) { if (filteredSpecies != null && prevItem != null) { // add null species record prevItem.commonName = "None observed"; prevItem.scientName = "None observed"; prevItem.flying = 0; prevItem.sitting = 0; records.records.Add(prevItem); } } return(records); }
protected void Page_Load(object sender, EventArgs e) { String transects = Request["items"]; if (Request["trm"] != null && Request["trm"] != "" && Request["items"] != null && Request["items"] != "") { String trm = Request["trm"]; String filter = "1 = 0"; String[] items = Request["items"].Split(','); foreach (String t in items) { if (t.Trim() != "") { switch (trm) { case "vessel": filter += " OR VesselID = " + int.Parse(t); break; case "cruise": filter += " OR fSurveyID = " + int.Parse(t); break; case "transect": filter += " OR fStationID = " + int.Parse(t); break; } } } SpeciesRecords recs = LoadTransects(filter); for (var i = 0; i < recs.records.Count; i++) { SpeciesRepItem record = recs.records[i]; if (master.ContainsKey(record.date) == false) { master[record.date] = new SpeciesRecords(); } master[record.date].records.Add(record); } } else { String species = Request["species"]; if (species != null && species != "") { String[] items = species.Split(','); foreach (String item in items) { SpeciesRecords recs = LoadSpeciesSeries(int.Parse(item)); for (var i = 0; i < recs.records.Count; i++) { SpeciesRepItem record = recs.records[i]; if (master.ContainsKey(record.date) == false) { master[record.date] = new SpeciesRecords(); } master[record.date].records.Add(record); } } } } }