public bool CreateLoan(LoanCreateDto loanToCreateDto) { var loanToCreate = MapConfig.Mapper.Map <Loan>(loanToCreateDto); _loanContext.Add(loanToCreate); return(Save()); }
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)); }
public IActionResult CreateLoan([FromBody] LoanCreateDto newLoan) { if (newLoan == null) { return(BadRequest(ModelState)); } if (_unitOfWork.LoanRepository.LoanExists(newLoan.Id)) { ModelState.AddModelError("", "Such loan Exists"); return(StatusCode(404, ModelState)); } if (!_unitOfWork.LoanRepository.CreateLoan(newLoan)) { ModelState.AddModelError("", $"Something went wrong saving the loan " + $"{newLoan.IssueDate}{newLoan.DateToReturn}"); return(StatusCode(500, ModelState)); } _unitOfWork.Commit(); return(CreatedAtRoute("GetLoanById", new { loanId = newLoan.Id }, newLoan)); }