public async Task <ResultViewModel> Post(LoanedGameCreateViewModel loanedGame) { var entity = _mapper.Map <LoanedGame>(loanedGame); entity.Game = await _repositoryGame.GetByIdAsync(entity.IdGame); var result = new ResultViewModel { Success = false, Message = "Não foi possível criar o empréstimo." }; if (!entity.IsValid()) { result.Message += " Jogo indisponivel"; } else { var insert = await _repository.InsertAsync(entity); entity.Game.Available = false; await _repositoryGame.UpdateAsync(entity.Game); result.Success = true; result.Message = "empréstimo de jogo criado."; result.Data = _mapper.Map <LoanedGameViewModel>(insert); } return(result); }
public async Task <ActionResult> Post([FromBody] LoanedGameCreateViewModel model) { if (model.Invalid) { return(BadRequest(new ResultViewModel { Success = false, Message = "Não foi possível cadastrar o empréstimo do jogo", Data = model.Notifications })); } var result = await _service.Post(model); return(Ok(result)); }
public void ShouldReturnErrorWhenIdUserIsInvalid() { var loanedGame = new LoanedGameCreateViewModel(0, 1); Assert.IsTrue(loanedGame.Invalid); }
public void ShouldReturnErrorWhenLoanedGameCreateViewModelIsValid() { var loanedGame = new LoanedGameCreateViewModel(1, 1); Assert.IsTrue(loanedGame.Valid); }