public async Task <ActionResult <LinhaProducaoDTO> > PutLinhaProducao(LinhaProducaoDTO update_linha)
        {
            var linha = await repositorio.getLinhaProducaoById(update_linha.id);

            if (linha == null)
            {
                return(NotFound());
            }

            var new_list_maquinas = new List <Maquina>();

            foreach (MaquinaDTO maquinaDTO in update_linha.maquinas)
            {
                var maquina = await repositorio_maquina.getMaquinaById(maquinaDTO.Id);

                if (maquina == null)
                {
                    return(NotFound("A maquina " + maquinaDTO.Id + " não existe!"));
                }

                new_list_maquinas.Add(maquina.Value);
            }

            if (!linha.Value.update_linhaProducao(new_list_maquinas))
            {
                return(BadRequest("Não foi possivel alterar maquinas desta linha de produção!"));
            }

            linha.Value.descricao                    = new Descricao(update_linha.descricao);
            linha.Value.dimensaoLinhaProducao        = new Dimensao(update_linha.comprimento, update_linha.largura);
            linha.Value.posicaoAbsolutaLinhaProducao = new PosicaoAbsoluta(update_linha.posicao_x, update_linha.posicao_y);

            repositorio.updateLinhaProducao(linha.Value);
            return(NoContent());
        }
 public async Task <ActionResult <LinhaProducaoDTO> > PostLinhaProducao(LinhaProducaoDTO newLinhaProducao)
 {
     if (repositorio.addLinhaProducao(new LinhaProducao(newLinhaProducao.id, newLinhaProducao.descricao, newLinhaProducao.posicao_x, newLinhaProducao.posicao_y, newLinhaProducao.orientacao, newLinhaProducao.comprimento, newLinhaProducao.largura)))
     {
         return(CreatedAtAction(nameof(GetLinhaProducao), new { id = newLinhaProducao.id }, newLinhaProducao));
     }
     return(BadRequest("Linha de Produção com dimensões inválidas!"));
 }