public async Task <IHttpActionResult> PutFlightState(int id, FlightStateDTO flightStateDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != flightStateDto.Id) { return(BadRequest()); } FlightState flightState = Mapper.Map <FlightState>(flightStateDto); db.Entry(flightState).State = System.Data.Entity.EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlightStateExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task<IHttpActionResult> PutFlightState(int id, FlightStateDTO flightStateDto) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != flightStateDto.Id) { return BadRequest(); } FlightState flightState = Mapper.Map<FlightState>(flightStateDto); db.Entry(flightState).State = System.Data.Entity.EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlightStateExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public void Edit(FlightStateDTO flightStateDTO) { var state = _airplaneContext.FlightStates.FirstOrDefault(c => c.Id == flightStateDTO.ID); if (state != null) { state.Name = flightStateDTO.Name; _airplaneContext.SaveChanges(); } }
public Guid Add(FlightStateDTO flightStateDTO) { FlightState state = new FlightState { Name = flightStateDTO.Name }; _airplaneContext.FlightStates.Add(state); _airplaneContext.SaveChanges(); return(state.Id); }
public async Task<IHttpActionResult> GetFlightState(int id) { FlightState flightState = await db.FlightStates.FindAsync(id); if (flightState == null) { return NotFound(); } FlightStateDTO dto = new FlightStateDTO(); dto.buildDTO(flightState); return Ok(dto); }
public async Task <IHttpActionResult> GetFlightState(int id) { FlightState flightState = await db.FlightStates.FindAsync(id); if (flightState == null) { return(NotFound()); } FlightStateDTO dto = new FlightStateDTO(); dto.buildDTO(flightState); return(Ok(dto)); }
public async Task PushFlightStateUpdate(FlightStateDTO dto){ Clients.All.flightStateUpdate(dto); //await TrespassChecker.ReportTrespassIfNecesarry(dto.UAVId, dto.Latitude, dto.Longitude); var eventHub = GlobalHost.ConnectionManager.GetHubContext<EventLogHub>(); UAV uav = db.UAVs.FirstOrDefault(x => x.Id == dto.Id); double lat = Math.Round(dto.Latitude * 10000) / 10000; double lon = Math.Round(dto.Longitude * 10000) / 10000; var mis = from ms in db.Missions where ms.ScheduleId == uav.Id select ms; //look up the uav bool areaList = (areaWarning.Where(u => u.Id == uav.Id).Count()) > 0; bool batteryList = (batteryWarning.Where(u => u.Id == uav.Id).Count()) > 0 ; if (!areaList) { bool check = db.MapRestrictedSet.Where( u => u.SouthWestLatitude < mis.FirstOrDefault().Latitude && u.NorthEastLatitude > mis.FirstOrDefault().Latitude && u.SouthWestLongitude < mis.FirstOrDefault().Longitude && u.NorthEastLongitude > mis.FirstOrDefault().Longitude ).Count() > 0; if (check) { areaWarning.Add(uav); EventLog evt = new EventLog(); evt.event_id = events; evt.uav_id = uav.Id; evt.uav_callsign = uav.Callsign; evt.criticality = "critical"; evt.message = "Delivery is in restricted area"; evt.create_date = DateTime.Now; evt.modified_date = DateTime.Now; //wtf seriously? -- why is this in here twice... evt.UAVId = uav.Id; evt.operator_screen_name = "jimbob"; eventHub.Clients.All.newEvent(evt); db.EventLogs.Add(evt); events++; } } //it's not in the battery list if( !batteryList ) { if (dto.BatteryLevel < .2) { //add list -- stops from sending warning everytime batteryWarning.Add(uav); EventLog evt = new EventLog(); evt.event_id = events; evt.uav_id = uav.Id; evt.uav_callsign = uav.Callsign; evt.criticality = "critical"; evt.message = "Low Battery"; evt.create_date = DateTime.Now; evt.modified_date = DateTime.Now; //wtf seriously? -- why is this in here twice... evt.UAVId = uav.Id; evt.operator_screen_name = "jimbob"; eventHub.Clients.All.newEvent(evt); db.EventLogs.Add(evt); events++; } } try { db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } // flightstatedto entity is not the same as models in our db context. can not guarantee atomic. need to wipe out flightstatedto }
public async Task PushFlightStateUpdate(FlightStateDTO dto) { Clients.All.flightStateUpdate(dto); //await TrespassChecker.ReportTrespassIfNecesarry(dto.UAVId, dto.Latitude, dto.Longitude); var eventHub = GlobalHost.ConnectionManager.GetHubContext <EventLogHub>(); UAV uav = db.UAVs.FirstOrDefault(x => x.Id == dto.Id); double lat = Math.Round(dto.Latitude * 10000) / 10000; double lon = Math.Round(dto.Longitude * 10000) / 10000; var mis = from ms in db.Missions where ms.ScheduleId == uav.Id select ms; //look up the uav bool areaList = (areaWarning.Where(u => u.Id == uav.Id).Count()) > 0; bool batteryList = (batteryWarning.Where(u => u.Id == uav.Id).Count()) > 0; if (!areaList) { bool check = db.MapRestrictedSet.Where( u => u.SouthWestLatitude <mis.FirstOrDefault().Latitude&& u.NorthEastLatitude> mis.FirstOrDefault().Latitude&& u.SouthWestLongitude <mis.FirstOrDefault().Longitude&& u.NorthEastLongitude> mis.FirstOrDefault().Longitude ).Count() > 0; if (check) { areaWarning.Add(uav); EventLog evt = new EventLog(); evt.event_id = events; evt.uav_id = uav.Id; evt.uav_callsign = uav.Callsign; evt.criticality = "critical"; evt.message = "Delivery is in restricted area"; evt.create_date = DateTime.Now; evt.modified_date = DateTime.Now; //wtf seriously? -- why is this in here twice... evt.UAVId = uav.Id; evt.operator_screen_name = "jimbob"; eventHub.Clients.All.newEvent(evt); db.EventLogs.Add(evt); events++; } } //it's not in the battery list if (!batteryList) { if (dto.BatteryLevel < .2) { //add list -- stops from sending warning everytime batteryWarning.Add(uav); EventLog evt = new EventLog(); evt.event_id = events; evt.uav_id = uav.Id; evt.uav_callsign = uav.Callsign; evt.criticality = "critical"; evt.message = "Low Battery"; evt.create_date = DateTime.Now; evt.modified_date = DateTime.Now; //wtf seriously? -- why is this in here twice... evt.UAVId = uav.Id; evt.operator_screen_name = "jimbob"; eventHub.Clients.All.newEvent(evt); db.EventLogs.Add(evt); events++; } } try { db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } // flightstatedto entity is not the same as models in our db context. can not guarantee atomic. need to wipe out flightstatedto }