public async Task <IActionResult> Get() { var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); if (!ModelState.IsValid) { msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState)); } else { try { IList <BookDomain> BookList = await _libraryManager.GetList().ConfigureAwait(false); if (BookList != null) { msg = CreateResponse(HttpStatusCode.OK, BookList); } else { msg = CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.NotFound)); } } catch (Exception ex) { msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); } } return(msg); }
public async Task <IActionResult> AddNewBook([FromBody] AddNewBookRequest newBookRequest) { var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); if (!ModelState.IsValid) { msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState)); } else { try { BookDomain newBookDomain = await _libraryManager.AddNewBook(newBookRequest).ConfigureAwait(false); if (newBookDomain == null) { msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BadRequest)); } else { msg = CreateResponse(HttpStatusCode.Created, newBookDomain); } } catch (BookIdAlridyPresent ex) { msg = CreateErrorResponse(ex.StatusCode, ApiErrorCodes.BookIdNotFound); } catch (Exception ex) { msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); } } return(msg); }
public async Task <IActionResult> UpdateBookById([FromBody] UpdateNewBookRequest updateNewBook) { var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); if (!ModelState.IsValid) { msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState)); } try { BookDomain bookInfo = await _libraryManager.UpdateBookByBookId(updateNewBook).ConfigureAwait(false); if (bookInfo == null) { return(CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BookIdRequestIsInvalid))); } msg = CreateResponse(HttpStatusCode.OK, bookInfo); } catch (UserIdNotValidException ex) { msg = CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.UserIdNotPresent)); } catch (Exception ex) { msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); } return(msg); }
public async Task <IActionResult> GetBookById(int BookId) { var msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); if (!ModelState.IsValid) { msg = CreateResponse(HttpStatusCode.BadRequest, ApiErrorProvider.GetErrorResponse(ModelState)); } else { try { if (BookId <= 0) { return(CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.NotFound))); } BookDomain bookInfo = await _libraryManager.GetBookInfoByBookId(BookId).ConfigureAwait(false); if (bookInfo == null) { return(CreateResponse(HttpStatusCode.NotFound, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.BookIdRequestIsInvalid))); } msg = CreateResponse(HttpStatusCode.OK, bookInfo); } catch (Exception ex) { msg = CreateResponse(HttpStatusCode.InternalServerError, ApiErrorProvider.GetErrorResponse(ApiErrorCodes.InternalServiceError)); } } return(msg); }
public BaseController() { ApiErrorProvider = new ApiErrorProvider(); }