public async Task <IActionResult> GetAllAsync([FromRoute] int idCliente, [FromRoute] string token) { try { var pServicos = await _pfService.GetProfissionalServicos(idCliente, token); var ids = new List <int>(); foreach (var item in pServicos) { if (item.Profissional != null) { ids.Add(item.Profissional.ID); } } var telefones = _tfService.GetAllAsync(ids, token); var enderecos = _edService.GetAllAsync(ids, token); foreach (var s in pServicos) { if (s.Profissional != null) { s.Profissional.Telefone = telefones.FirstOrDefault(t => t.ProfissionalId.Equals(s.Profissional.ID)); s.Profissional.Endereco = enderecos.FirstOrDefault(e => e.ProfissionalId.Equals(s.Profissional.ID)); } } return(Ok(pServicos)); } catch (Exception e) { return(StatusCode(500, "Não foi possível completar a operação.")); } }
public async void GetAllAsync_Enderecos_Test() { // Arrange var enderecos = new List <Endereco>() { new Endereco { Id = Guid.Parse("c0b4493d-75dc-4f8f-8259-d10114831889"), Logradouro = "Avenida Atlantica, 4", Bairro = "Copacabana", Cidade = "Rio de Janeiro", Estado = "Rio de Janeiro", ClienteId = Guid.Parse("3ce3c638-88fb-492a-b6db-ae3ac3910d66") }, new Endereco { Id = Guid.Parse("f245a61e-dd49-44c8-a1fb-f57247d244c2"), Logradouro = "Rua Haddock Lobo, 27", Bairro = "Tijuca", Cidade = "Rio de Janeiro", Estado = "Rio de Janeiro", ClienteId = Guid.Parse("8b90ec7b-20ea-413a-a4fc-2dbd40f7d2ed") }, new Endereco { Id = Guid.Parse("08c0fecb-1866-47e2-b059-0b61518bc6c4"), Logradouro = "Avenida Ataulfo de Paiva, 128", Bairro = "Leblon", Cidade = "Rio de Janeiro", Estado = "Rio de Janeiro", ClienteId = Guid.Parse("57e8dd30-01ef-48ba-baaf-3358fb2c0a81") }, }; // Valid foreach (var endereco in enderecos) { enderecoValidation.Validate(endereco).Errors.Should().BeNullOrEmpty(); } // Moq enderecoRepository.Setup(x => x.GetAllAsync()).ReturnsAsync(enderecos); // Act var result = await enderecoService.GetAllAsync(); // Assert result.Should().HaveCount(3); }