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()); }
public SolicitacaoViagem Save(SolicitacaoViagem itemViagem) { //Fazer validações da viagem return(itemViagem); }