public async Task <ActionResult> PostDrone(AdicionarDroneViewModel droneViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState.Values.Select(x => x.Errors))); } var drone = new Drone() { Velocidade = droneViewModel.Velocidade, Autonomia = droneViewModel.Autonomia, AutonomiaRestante = droneViewModel.Autonomia, Carga = droneViewModel.Carga, Capacidade = droneViewModel.Capacidade }; bool result = await _droneService.Insert(drone); if (result) { var droneItinerario = new DroneItinerario { DataHora = System.DateTime.Now, Drone = drone, DroneId = drone.Id, StatusDrone = EnumStatusDrone.Disponivel }; await _droneItinerarioService.Insert(droneItinerario); } return(CreatedAtAction("GetDrone", new { id = drone.Id }, drone)); }
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)); }