public async Task <IActionResult> Rent([FromBody] RentRequestModel rent) { var userId = HttpContext.Items[ClaimTypes.NameIdentifier].ToString(); var res = await _RentMan.RentBook(rent.BookId, userId); if (res.Status == false) { return(BadRequest(res)); } return(Ok(res)); }
public string PostRent(RentRequestModel rentRequest) { lock (locker) { if (!ModelState.IsValid) { return(BadRequest(ModelState).ToString()); } Rent r = new Rent(); r.Start = rentRequest.Start; r.End = rentRequest.End; r.Vehicle = unitOfWork.Vehicles.Get(rentRequest.VehicleId); r.BranchOffice = unitOfWork.BranchOffices.Get(rentRequest.BranchOfficeId); r.Vehicle.Unavailable = true; r.Deleted = false; // Izvuci iz heada jwt i uzmi koji je user string jwt = Request.Headers.Authorization.Parameter.ToString(); var decodedToken = unitOfWork.AppUserRepository.DecodeJwt(jwt); string userEmail = decodedToken.Claims.First(claim => claim.Type == "unique_name").Value; AppUser appUser = unitOfWork.AppUserRepository.GetAll().Where(u => u.Email == userEmail).FirstOrDefault(); try { unitOfWork.Rents.Add(r); appUser.Rents.Add(r); unitOfWork.Complete(); } catch (Exception) { return(InternalServerError().ToString()); } return("Ok"); } }