Exemplo n.º 1
0
        public async Task TestMethodsCalled()
        {
            var pedidoFacade = new PedidoFacade(_dataContext,
                                                _pedidoService,
                                                _clienteRepository,
                                                _pedidoRepository,
                                                _droneRepository);

            var pedidos = SetupTests.GetPedidosList();

            _pedidoRepository.ObterPedidos(Arg.Any <int>())
            .Returns(pedidos);
            _clienteRepository.GetCliente(Arg.Any <int>())
            .Returns(SetupTests.GetCliente());
            _pedidoService.DroneAtendePedido(pedidos[0])
            .Returns(SetupTests.GetDroneDto());
            _droneRepository.GetDrone(Arg.Any <int>())
            .Returns(SetupTests.GetDrone());
            _pedidoRepository.GetPedido(Arg.Any <int>())
            .Returns(pedidos[0]);

            await pedidoFacade.AssignDrone(_pedidoRepository);


            await _pedidoService.Received().DroneAtendePedido(Arg.Any <felipe.DTO.Models.Pedido>());

            _dataContext.Pedido.Received().Update(Arg.Any <felipe.DTO.Models.Pedido>());
            _dataContext.PedidoDrones.Received().Add(Arg.Any <PedidoDrone>());
        }
        public List <PedidoDrone> RetornaPedidosEmAberto()
        {
            List <PedidoDrone> pedidoDrones = new List <PedidoDrone>();

            var busca = _context.PedidoDrones.Where(FiltroPedidosEmAberto()).ToList();

            if (busca.Count > 0)
            {
                foreach (var b in busca)
                {
                    var pedido  = _pedidoRepository.GetPedido(b.PedidoId);
                    var cliente = _clienteRepository.GetCliente(pedido.ClienteId);
                    pedido.Cliente = cliente;

                    PedidoDrone pedidoDrone = new PedidoDrone
                    {
                        Id = b.Id,
                        DataHoraFinalizacao = b.DataHoraFinalizacao,
                        DroneId             = b.DroneId,
                        PedidoId            = b.PedidoId,
                        Distancia           = b.Distancia,
                        StatusEnvio         = b.StatusEnvio,
                        Pedido = pedido,
                        Drone  = _droneRepository.GetDrone(b.DroneId),
                    };

                    pedidoDrones.Add(pedidoDrone);
                }
            }

            return(pedidoDrones);
        }
Exemplo n.º 3
0
        private async Task AdicionarPedidoDrone(Pedido pedido, DTO.DroneDto drone)
        {
            var newDrone  = _droneRepository.GetDrone(drone.DroneStatus.Drone.Id);
            var newPedido = _pedidoRepository.GetPedido(pedido.Id);

            var pedidoDrone = new PedidoDrone()
            {
                Distancia   = drone.Distancia,
                Drone       = newDrone,
                DroneId     = drone.DroneStatus.Drone.Id,
                Pedido      = newPedido,
                PedidoId    = pedido.Id,
                StatusEnvio = (int)StatusEnvio.AGUARDANDO
            };

            _dataContext.PedidoDrones.Add(pedidoDrone);
            await _dataContext.SaveChangesAsync();
        }