public ActionResult <LoanReadDto> CreateLoan(LoanCreateDto loanCreateDto) { var loan = _repository.GetAllLoans() .Where(l => (l.GameId == loanCreateDto.GameId) && (l.Status.Equals("Activo"))) .FirstOrDefault(); if (loan != null) { loan.Status = "Devolvido"; _repository.UpdateLoan(loan); _repository.saveChanges(); } var loanToCreate = _mapper.Map <Loan>(loanCreateDto); loanToCreate.Status = "Activo"; loanToCreate.DataEmprestimo = new DateTime(); _repository.CreateLoan(loanToCreate); _repository.saveChanges(); var loanReadDto = _mapper.Map <LoanReadDto>(loanToCreate); return(CreatedAtRoute(nameof(GetLoanById), new { Id = loanReadDto.Id }, loanReadDto)); }