public async Task BroadcastAcceptedCommand(CMD_ACK ack) { NestContainer db = new NestContainer(); { switch (ack.CommandType) { case "CMD_NAV_Target": CMD_NAV_Target target = await db.CMD_NAV_Target.FindAsync(ack.CommandId); if (target != null && ack.Accepted == true) { target.Acked = true; Clients.All.targetCommandAccepted(target); db.Entry(target).State = EntityState.Modified; await db.SaveChangesAsync(); } break; case "CMD_NAV_Hold": CMD_NAV_Hold hold = await db.CMD_NAV_Hold.FindAsync(ack.CommandId); if (hold != null && ack.Accepted == true) { hold.Acked = true; Clients.All.targetCommandAccepted(hold); db.Entry(hold).State = EntityState.Modified; await db.SaveChangesAsync(); } break; case "CMD_NAV_Return": CMD_NAV_Return goBack = await db.CMD_NAV_Return.FindAsync(ack.CommandId); if (goBack != null && ack.Accepted == true) { goBack.Acked = true; Clients.All.targetCommandAccepted(goBack); db.Entry(goBack).State = EntityState.Modified; await db.SaveChangesAsync(); } break; case "CMD_NAV_Land": CMD_NAV_Land land = await db.CMD_NAV_Land.FindAsync(ack.CommandId); if (land != null && ack.Accepted == true) { land.Acked = true; Clients.All.targetCommandAccepted(land); db.Entry(land).State = EntityState.Modified; await db.SaveChangesAsync(); } break; default: break; } } }
public IHttpActionResult PostCMD_NAV_LAND(int uid, CMD_NAV_Land jsObject) { CMD_NAV_Land cmd_nav_land = new CMD_NAV_Land(); cmd_nav_land.Id = jsObject.Id; cmd_nav_land.Altitude = jsObject.Altitude; cmd_nav_land.Latitude = jsObject.Latitude; cmd_nav_land.Longitude = jsObject.Longitude; cmd_nav_land.Throttle = jsObject.Throttle; cmd_nav_land.UAVId = jsObject.UAVId; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.CMD_NAV_Land.Add(cmd_nav_land); db.SaveChanges(); return(Ok()); }
public int LandCommand(CMD_NAV_Land cmd) { Clients.Group("vehicles").sendLandCommand(cmd, Context.ConnectionId); return(cmd.Id); }