public IActionResult CriarSolicitacaoViagem([FromRoute] int idViagem)
        {
            var viagem = _repositoryViagem.GetById(idViagem);

            if (viagem == null)
            {
                return(BadRequest("Viagem não encontrada"));
            }

            if (viagem.Finalizacao != null)
            {
                return(BadRequest("Viagem ja finalizada"));
            }

            if (viagem.IdMotorista == _idUsuarioLogado)
            {
                return(BadRequest("Usuário motorista não pode solicitar carona para sua própria corrida"));
            }

            var solicitacaoViagem = new SolicitacaoViagem()
            {
                IdUsuario = _idUsuarioLogado,
                IdViagem  = viagem.Id
            };

            return(Ok(_repositorySolicitacaoViagem.Save(solicitacaoViagem)));
        }
        public IActionResult Update([FromRoute] int id, [FromBody] SolicitacaoViagem solicitacao)
        {
            if (solicitacao.Id != id)
            {
                return(StatusCode(StatusCodes.Status409Conflict,
                                  $"Id do usuario divergente do id informado"));
            }

            var solic = _repositorySolicitacaoViagem.Update(solicitacao);

            if (solicitacao.Recusada == false)
            {
                ItemViagem itemViagem = new ItemViagem();
                itemViagem.IdViagem        = solicitacao.IdViagem;
                itemViagem.IdUsuarioCarona = solicitacao.IdUsuario;

                _repositoryItemViagem.Save(itemViagem);
            }

            return(NoContent());
        }
Exemple #3
0
 public SolicitacaoViagem Save(SolicitacaoViagem itemViagem)
 {
     //Fazer validações da viagem
     return(itemViagem);
 }