public async Task <IActionResult> Edit(int id, ReserveModel model) { Result result = await _reserveService.UpdateReserve(id, model); if (result.Success) { return(RedirectToAction("Details", new { id })); } if (result.ErrorCode == ErrorCode.UniquenessError) { ModelState[nameof(model.Name)].Errors.Add("Such a record already exists"); return(View("Edit", model)); } return(RedirectToAction("Error", "Error", new { result.ErrorCode, modelName = nameof(Reserve) })); }
public HttpResponseMessage PutReserve(int reserveId) { #region Kontrol var reserve = reserveService.GetReserve(reserveId); if (reserve == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, new { message = "Kiralama bulunamadı!" })); } //Başkasının kitabını güncellemesini engeller. var reserveObj = reserveService.GetBooksUserStillHave(User.Identity.GetUserId()).FirstOrDefault(e => e.ReserveId == reserveId); if (reserveObj == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, new { message = "Kiralama bulunamadı!" })); } #endregion //Kitabın kopyasının durumunu Available yap. var bookId = reserveObj.BookIds; bookId.BookStatus = BookStatus.Available; bookIdService.UpdateBookId(bookId); //Kitapbın reserve durumuna geri dönüş tarihi ekle reserveObj.UserReturnedDate = DateTime.Now; reserveService.UpdateReserve(reserveObj); try { reserveService.SaveChanges(); var viewModel = Mapper.Map <Reserve, ReserveViewModel>(reserveObj); return(Request.CreateResponse <IReserveViewModel>(System.Net.HttpStatusCode.Created, viewModel)); } catch (Exception ex) { if (ex.InnerException != null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { exeption = ex.Message, innerException = ex.InnerException.Message })); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { exeption = ex.Message })); } } }