public IHttpActionResult GetTransect(int id) { Transect transect = db.Transects.Find(id); if (transect == null) { return(NotFound()); } return(Ok(transect)); }
public ActionResult Upload(string theTransectName, string StartStation, string EndStation) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null) { string ImageName = System.IO.Path.GetFileName(file.FileName); string physicalPath = Server.MapPath("~/Images/" + ImageName); // save image in folder file.SaveAs(physicalPath); //get the image data //byte[] imageData = null; ////using (var binaryReader = new BinaryReader(file.InputStream)) ////{ //// imageData = binaryReader.ReadBytes(file.ContentLength); ////} Transect TargetTransect = null; foreach (Transect thisT in db.Transects) { if (thisT.TransectName.Trim() == theTransectName.Trim()) { TargetTransect = thisT; break; } } if (TargetTransect != null) { //save new record in database TransectImage newRecord = new TransectImage(); newRecord.TransectImageName = ImageName; newRecord.TransectImageAlt = ImageName; newRecord.ImagePath = "~/Images/" + ImageName; newRecord.ContentType = "ResistivityImage"; newRecord.StartStation = Convert.ToDouble(StartStation); newRecord.EndStation = Convert.ToDouble(EndStation); newRecord.Type = "ResistivityImage"; newRecord.TransectID = Convert.ToInt32(TargetTransect.TransectId); db.TransectImages.Add(newRecord); db.SaveChanges(); } } } ////Display records return(null); }
public IHttpActionResult DeleteTransect(int id) { Transect transect = db.Transects.Find(id); if (transect == null) { return(NotFound()); } db.Transects.Remove(transect); db.SaveChanges(); return(Ok(transect)); }
public void WriteCSVFile() { String seperator = Request["seperator"].Trim(); String header = "Date,Survey,Trawl,Start Lat,Start Long, End Lat, End Long,"; foreach (String s in species.Keys) { header += CSVString(s) + ","; } header = header.Replace(",", seperator); Response.Write(header + "\r\n"); foreach (int key in transects.Keys) { Transect tr = transects[key]; Response.Write(CSVString(tr.Date) + seperator); // Response.Write(CSVString(tr.StartTime) + seperator); // Response.Write(CSVString(tr.EndTime) + seperator); Response.Write(CSVString(tr.Cruise) + seperator); Response.Write(CSVString(tr.transect) + seperator); Response.Write(CSVString(tr.StartLat) + seperator); Response.Write(CSVString(tr.StartLong) + seperator); Response.Write(CSVString(tr.EndLat) + seperator); Response.Write(CSVString(tr.EndLong) + seperator); foreach (String sp in species.Keys) { int speciesID = species[sp]; if (tr.counts.ContainsKey(speciesID)) { TCount tc = tr.counts[speciesID]; Response.Write(tc.flying + seperator); } else { Response.Write(seperator); } } Response.Write("\r\n"); } /* * foreach (DateTime date in master.Keys) * { * SpeciesRecords recs = master[date]; * foreach (SpeciesRepItem item in recs.records) * { * Response.Write(date.ToString("yyyy-MM-dd") + seperator); * Response.Write(date.ToString("HH:mm:ss") + seperator); * * Response.Write(CSVString(item.Taxonomic_Genus) + seperator); * Response.Write(CSVString(item.Taxonomic_Species) + seperator); * * Response.Write(CSVString(item.English_Genus) + seperator); * Response.Write(CSVString(item.English_Species) + seperator); * * Response.Write(CSVString(item.Taxon_order) + seperator); * Response.Write(CSVString(item.Taxon_family) + seperator); * Response.Write(CSVString(item.Taxon_group) + seperator); * Response.Write(CSVString(item.Continent) + seperator); * Response.Write(CSVString(item.Region) + seperator); * * Response.Write(CSVString(item.flying.ToString()) + seperator); * Response.Write(CSVString(item.sitting.ToString()) + seperator); * Response.Write(CSVString(item.observer1) + seperator); * Response.Write(CSVString(item.observer2) + seperator); * Response.Write(CSVString(item.vessel) + seperator); * Response.Write(CSVString(item.cruise) + seperator); * Response.Write(CSVString(item.transect) + seperator); * Response.Write(item.startLat.ToString() + seperator); * Response.Write(item.startLng.ToString() + seperator); * Response.Write(CSVString(item.endLat) + seperator); * Response.Write(CSVString(item.endLng) + seperator); * Response.Write(CSVString(item.CountType) + seperator); * Response.Write(CSVString(item.WindDirection) + seperator); * Response.Write(CSVString(item.WindDirection_deg) + seperator); * Response.Write(CSVString(item.WindStrength_kmph) + seperator); * Response.Write(CSVString(item.CloudCover) + seperator); * Response.Write(CSVString(item.Visibility_m) + seperator); * Response.Write(CSVString(item.Precipitation) + seperator); * Response.Write(CSVString(item.CountingShipFollowers) + seperator); * Response.Write(CSVString(item.SwellHeight_m) + seperator); * Response.Write(CSVString(item.CoordinateSystem) + seperator); * Response.Write(CSVString(item.CountArea) + seperator); * Response.Write(CSVString(item.ArcFromBow) + seperator); * Response.Write(CSVString(item.PositionOnVessel) + seperator); * * * * * Response.Write("\r\n"); * * } * } */ }
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); }
public IHttpActionResult PutTransect(int id, string TransectRef = null, int CruiseID = 0, string TransectNo = null, string Date = null, string TimeStart = null, string TimeEnd = null, int Observer1ID = 0, int Observer2ID = 0, string CountType = null, string WindDirection = null, double WindDirection_deg = -1000, string WindStrength_kmph = null, string CloudCover = null, string Visibility_m = null, string Precipitation = null, string CountingShipFollowers = null, double SwellHeight_m = -1000, string CoordinateSystem = null, double LatitudeStart = -1000, double LongitudeStart = -1000, double LatitudeEnd = -1000, double LongitudeEnd = -1000, int CountArea = 0, int ArcFromBow = 0, string PositionOnVessel = null) { Transect transect = db.Transects.Find(id); if (transect == null) { return(NotFound()); } transect.TransectRef = TransectRef != null ? TransectRef : transect.TransectRef; transect.CruiseID = CruiseID != 0 ? CruiseID : transect.CruiseID; transect.TransectNo = TransectNo != null ? TransectNo : transect.TransectNo; transect.Date = Date != null?DateTime.Parse(Date) : transect.Date; transect.TimeStart = TimeStart != null?DateTime.Parse(TimeStart) : transect.TimeStart; transect.TimeEnd = TimeEnd != null?DateTime.Parse(TimeEnd) : transect.TimeEnd; transect.Observer1ID = Observer1ID != 0 ? Observer1ID : transect.Observer1ID; transect.Observer2ID = Observer2ID != 0 ? Observer2ID : transect.Observer2ID; transect.CountType = CountType != null ? CountType : transect.CountType; transect.WindDirection = WindDirection != null ? WindDirection : transect.WindDirection; transect.WindDirection_deg = WindDirection_deg != -1000 ? WindDirection_deg : transect.WindDirection_deg; transect.WindStrength_kmph = WindStrength_kmph != null ? WindStrength_kmph : transect.WindStrength_kmph; transect.CloudCover = CloudCover != null ? CloudCover : transect.CloudCover; transect.Visibility_m = Visibility_m != null ? Visibility_m : transect.Visibility_m; transect.Precipitation = Precipitation != null ? Precipitation : transect.Precipitation; transect.CountingShipFollowers = CountingShipFollowers != null ? CountingShipFollowers : transect.CountingShipFollowers; transect.SwellHeight_m = SwellHeight_m != -1000 ? SwellHeight_m : transect.SwellHeight_m; transect.CoordinateSystem = CoordinateSystem != null ? CoordinateSystem : transect.CoordinateSystem; transect.LatitudeStart = LatitudeStart != -1000 ? LatitudeStart : transect.LatitudeStart; transect.LongitudeStart = LongitudeStart != -1000 ? LongitudeStart : transect.LongitudeStart; transect.LatitudeEnd = LatitudeEnd != -1000 ? LatitudeEnd : transect.LatitudeEnd; transect.LongitudeEnd = LongitudeEnd != -1000 ? LongitudeEnd : transect.LongitudeEnd; transect.CountArea = CountArea != -1000 ? CountArea : transect.CountArea; transect.ArcFromBow = ArcFromBow != -1000 ? ArcFromBow : transect.ArcFromBow; transect.PositionOnVessel = PositionOnVessel != null ? PositionOnVessel : transect.PositionOnVessel; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != transect.TransectID) { return(BadRequest()); } db.Entry(transect).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TransectExists(id)) { return(NotFound()); } else { throw; } } return(Ok(transect)); }
public IHttpActionResult PostTransect(string TransectRef, int CruiseID, string TransectNo, string Date, string TimeStart, string TimeEnd, string CountType, string WindDirection, double WindDirection_deg, string WindStrength_kmph, string CloudCover, string Visibility_m, string Precipitation, double SwellHeight_m, double LatitudeStart, double LongitudeStart, double LatitudeEnd, double LongitudeEnd, int CountArea, int ArcFromBow, string PositionOnVessel, int Observer1ID, int Observer2ID = 0, string CoordinateSystem = null, string CountingShipFollowers = null) { Transect transect = new Transect(); transect.TransectRef = TransectRef; transect.CruiseID = CruiseID; transect.TransectNo = TransectNo; transect.DataSourceID = 2; transect.Date = DateTime.Parse(Date); transect.TimeStart = DateTime.Parse(TimeStart); transect.TimeEnd = DateTime.Parse(TimeEnd); transect.Observer1ID = Observer1ID; transect.Observer2ID = Observer2ID; transect.CountType = CountType; transect.WindDirection = WindDirection; transect.WindDirection_deg = WindDirection_deg; transect.WindStrength_kmph = WindStrength_kmph; transect.CloudCover = CloudCover; transect.Visibility_m = Visibility_m; transect.Precipitation = Precipitation; transect.CountingShipFollowers = CountingShipFollowers; transect.SwellHeight_m = SwellHeight_m; transect.CoordinateSystem = CoordinateSystem; transect.LatitudeStart = LatitudeStart; transect.LongitudeStart = LongitudeStart; transect.LatitudeEnd = LatitudeEnd; transect.LongitudeEnd = LongitudeEnd; transect.CountArea = CountArea; transect.ArcFromBow = ArcFromBow; transect.PositionOnVessel = PositionOnVessel; transect.InsertTimeStamp = DateTime.Now; if (transect.Observer2ID == 0) { transect.Observer2ID = null; } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Transects.Add(transect); try { // Your code... // Could also be before try if you know the exception occurs in SaveChanges db.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } return(CreatedAtRoute("DefaultApi", new { id = transect.TransectID }, transect)); }