public ActionResult Put(int id, RodadaNegociacao rodada)
 {
     try
     {
         return(Ok(_service.Update(rodada, id)));
     }
     catch (NotFoundException)
     {
         return(NotFound("Rodada de Negociação não encontrada!"));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
 public ActionResult <RodadaNegociacao> PostRodada(int id)
 {
     try
     {
         RodadaNegociacao rodada = _service.AbrirRodada(id);
         if (rodada == null)
         {
             return(NotFound("Negociação não encontrada!"));
         }
         return(Ok(rodada));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public RodadaNegociacao AbrirRodada(int idNegociacao)
        {
            if (!Exist(idNegociacao))
            {
                return(null);
            }

            RodadaNegociacao rodada = new RodadaNegociacao
            {
                Data         = DateTime.Today,
                NegociacaoId = idNegociacao
            };

            _rodadasService.Add(rodada);
            return(rodada);
        }
 public ActionResult <RodadaNegociacao> Get(int id)
 {
     try
     {
         RodadaNegociacao rodada = _service.Find(id);
         if (rodada == null)
         {
             return(NotFound("Rodada de Negociação não encontrada!"));
         }
         return(rodada);
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public RodadaNegociacao NovaRodada(int negociacaoId, RodadaNegociacao rodada)
        {
            Negociacao negociacao = Find(negociacaoId);

            if (negociacao == null)
            {
                return(null);
            }

            _db.Entry(negociacao).Collection(n => n.RodadasNegociacoes);
            rodada.NegociacaoId = negociacaoId;
            rodada.Numero       = negociacao.RodadasNegociacoes.Count + 1;

            _rodadasService.Add(rodada);
            negociacao.QtdaRodadas = rodada.Numero;
            _db.SaveChanges();

            return(rodada);
        }