コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }