public HttpResponseMessage getDrones() { var drones = DroneDTO.CreateFromQuery(db.drones); HttpResponseMessage res = Request.CreateResponse(HttpStatusCode.OK, drones); return(res); }
public async Task <ActionResult <Pedido> > PostPedido(Pedido pedido) { pedido.DroneId = null; pedido.DataHoraInclusao = DateTime.Now; DroneDTO droneDTO = await _pedidoService.DroneAtendePedido(pedido); if (droneDTO != null) { pedido.DroneId = droneDTO.Drone.Id; pedido.Situacao = (int)EStatusPedido.DRONE_ASSOCIADO; var tempoPercorrerDistancia = (droneDTO.Distancia / droneDTO.Drone.Velocidade); var tempoCarregando = droneDTO.Distancia / droneDTO.Drone.Perfomance; pedido.DataHoraFinalizacao = DateTime.Now.AddHours(tempoCarregando + tempoPercorrerDistancia); } else { pedido.Situacao = (int)EStatusPedido.RECUSADO; pedido.DataHoraFinalizacao = DateTime.Now; } _context.Pedido.Add(pedido); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPedido", new { id = pedido.Id }, pedido)); }
public HttpResponseMessage getDrones(int id) { var drone = DroneDTO.CreateFromQuery(db.drones.Where(d => d.iddrone == id)); HttpResponseMessage res = Request.CreateResponse(HttpStatusCode.OK, drone); return(res); }
public async Task Create(DroneDTO dto) { var entry = _mapper.Map <DroneDTO, Drone>(dto); _context.Drones.Add(entry); await _context.SaveChangesAsync(); }
public IHttpActionResult getById(string id) { logger.Debug("Fetching /drones/{0}", id); Drone target = droneMgr.getById(new Guid(id)); if (null != target) { DroneDTO targetDTO = DTOFactory.DTOFactory.createDroneDTO(target); return(Ok(targetDTO)); } else { return(NotFound()); } }
public async Task Update(DroneDTO dto) { var entry = await _context.Drones .SingleOrDefaultAsync(x => x.Id == dto.Id); if (entry == null) { return; } entry = _mapper.Map(dto, entry); _context.Drones.Update(entry); await _context.SaveChangesAsync(); }
public static DroneDTO createDroneDTO(Drone droneObj) { DroneDTO result = new DroneDTO(); result.id = droneObj.id; result.sysid = droneObj.connection.systemId.ToString(); result.componentid = droneObj.connection.componentId.ToString(); result.name = droneObj.id.ToString(); if (null != droneObj.connection) { result.port = droneObj.connection.portName(); if (droneObj.connection.isOpen()) { result.state = DroneDTO.ConnectionState.CONNECTED; } else { result.state = DroneDTO.ConnectionState.DISCONNECTED; } } result.heartbeat_data = createHeartbeatDTO(droneObj.getHearbeat()); result.sys_status_data = createSystemStatusDTO(droneObj.getSystemStatus()); result.sys_time_data = createSystemTimeDTO(droneObj.getSystemTime()); result.gps_raw_int = createGpsRawIntDTO(droneObj.getGpsRawInt()); result.raw_imu = createRawImuDTO(droneObj.getRawImu()); result.scaled_pressure = createScaledPressureDTO(droneObj.getScaledPressure()); result.attitude = createAttitudeDTO(droneObj.getAttitude()); result.global_position_int = createGlobalPositionIntDTO(droneObj.getGlobalPositionInt()); result.rc_channels_raw = createRcChannelsRawDTO(droneObj.getRcChannelsRaw()); result.server_output_raw = createServoOutputRawDTO(droneObj.getServerOutputRaw()); result.mission_current = createMissionCurrentDTO(droneObj.getMissionCurrent()); result.nav_controller_output = createNavControllerOutputDTO(droneObj.getNavControllerOutput()); result.vfr_hud = createVfrHudDTO(droneObj.getVfrHud()); result.terrain_report = createTerrainReportDTO(droneObj.getTerrainReport()); result.scaled_imu_2 = createScaledImu2DTO(droneObj.getScaledImu2()); result.power_status = createPowerStatusDTO(droneObj.getPowerStatus()); return(result); }
public async Task <ActionResult <Pedido> > PostPedido(Pedido pedido) { pedido.DroneId = null; pedido.DataHoraInclusao = DateTime.Now; DroneDTO droneDTO = await _pedidoService.DroneAtendePedido(pedido); if (droneDTO != null) { pedido.DroneId = droneDTO.Drone.Id; pedido.Situacao = (int)EStatusPedido.DRONE_ASSOCIADO; var calculo = (droneDTO.Distancia / droneDTO.Drone.Velocidade); var pedidos = await _context.Pedido.ToListAsync(); //Antes de colocar a data de finalizacao, verifica se o drone não tem outro pedido ainda nao finalizado //Caso tiver, considera a data de entrega a partir da data do pedido em aberto DateTime dataHoraEntrega = _pedidoService.BuscarDataEntregaPedidoAbertoDrone(pedidos, droneDTO.Drone.Id); pedido.DataHoraFinalizacao = dataHoraEntrega.AddHours(calculo); //Atualiza o drone com as novas capacidades de acordo com o pedido atendido _context.Entry(droneDTO.Drone).State = EntityState.Modified; } else { pedido.Situacao = (int)EStatusPedido.RECUSADO; pedido.DataHoraFinalizacao = DateTime.Now; } _context.Pedido.Add(pedido); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPedido", new { id = pedido.Id }, pedido)); }
public async Task <ActionResult <Drone> > PostDrone(DroneDTO droneDTO) { if (!ModelState.IsValid) { return(BadRequest()); } if (droneDTO.Autonomia <= 0 || droneDTO.Capacidade <= 0 || droneDTO.Carga <= 0 || droneDTO.Velocidade <= 0) { return(BadRequest("Valores inválidos para Autonomia, Capacidade, Carga e/ou Velocidade.")); } Drone drone = new Drone() { Velocidade = droneDTO.Velocidade, Autonomia = droneDTO.Autonomia, AutonomiaRestante = droneDTO.Autonomia, Carga = droneDTO.Carga, Capacidade = droneDTO.Capacidade }; bool result = await _droneService.Insert(drone); if (result) { DroneItinerario droneItinerario = new DroneItinerario(); droneItinerario.DataHora = System.DateTime.Now; droneItinerario.Drone = drone; droneItinerario.DroneId = drone.Id; droneItinerario.StatusDrone = EnumStatusDrone.Disponivel; await _droneItinerarioService.Insert(droneItinerario); } return(CreatedAtAction("GetDrone", new { id = drone.Id }, drone)); }
public async Task <ActionResult <Pedido> > PostPedido(Pedido pedido) { pedido.DroneId = null; pedido.DataHoraInclusao = DateTime.Now; DroneDTO droneDTO = await _pedidoService.AtribuirPedidoDrone(pedido); if (droneDTO != null) { pedido.DroneId = droneDTO.Drone.Id; pedido.Situacao = (int)EStatusPedido.DRONE_ASSOCIADO; } else { pedido.Situacao = (int)EStatusPedido.RECUSADO; pedido.DataHoraFinalizacao = DateTime.Now; } _context.Pedido.Add(pedido); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPedido", new { id = pedido.Id }, pedido)); }
public async Task <ActionResult> Update(DroneDTO dto) { await _service.Create(dto); return(Ok()); }
public void Delete(DroneDTO entity) { _dbContext.DroneDTOs.Remove(entity); }
public void Save(DroneDTO entity) { _dbContext.DroneDTOs.Attach(entity); }
public async Task Update(DroneDTO dto) { await _repository.Update(dto); }
public async Task Create(DroneDTO dto) { await _repository.Create(dto); }