public async Task <List <IlhaDTO> > CarregarVaga() { // Carregar Ilhas var ilhas = await _repository.CarregarIlhas(); // Instanciar Lista de Ilhas DTO List <IlhaDTO> Ilhas = new List <IlhaDTO>(); // Mapear Ilhas foreach (var ilha in ilhas) { IlhaDTO Ilha = new IlhaDTO() { Id = ilha.Id, Localizacao = ilha.Localizacao, Vagas = new List <VagaDTO>() }; // Mapear Vagas foreach (var vaga in ilha.Vagas) { VagaDTO vagaDto = new VagaDTO() { Id = vaga.Id, IdIlha = vaga.IdIlha, CorVeiculo = "", NomeVeiculo = "", PlacaVeiculo = "", Ocupada = vaga.Ocupada, NomeCliente = "", CpfCliente = "" }; if (vaga.Ocupada) { var movimentacao = await _repository.CarregarMovimentacao(vaga.Id); vagaDto.DataEntrada = movimentacao.DataEntrada; vagaDto.CorVeiculo = movimentacao.CorVeiculo; vagaDto.NomeVeiculo = movimentacao.NomeVeiculo; vagaDto.PlacaVeiculo = movimentacao.PlacaVeiculo; vagaDto.NomeCliente = movimentacao.NomeCliente; vagaDto.CpfCliente = movimentacao.CpfCliente; } Ilha.Vagas.Add(vagaDto); } // Inserir na lista de Ilhas Ilhas.Add(Ilha); } return(Ilhas); }
public async Task <ActionResult <IlhaModel> > Post([FromBody] IlhaDTO Ilha) { if (String.IsNullOrEmpty(Ilha.Localizacao)) { return(BadRequest("O campo localização é obrigatório")); } else { try { IlhaModel ilhaModel = new IlhaModel() { Localizacao = Ilha.Localizacao }; await _repository.InserirIlha(ilhaModel); return(CreatedAtAction(nameof(CarregarIlha), new { Id = ilhaModel.Id }, ilhaModel)); } catch (Exception e) { return(BadRequest(e.Message)); } } }