public Book AddBook(Book book) { // Validate Book try { ValidateBook(book); long id = 0; var bookToInsert = new Book { Id = _redisCacheProvider.GetNextSequenceForBook(), Author = book.Author, Title = book.Title, IsAvailable = true // default set to true }; _redisCacheProvider.SaveBook(bookToInsert); id = bookToInsert.Id; // Get the book details that has been inserted var bookInserted = _redisCacheProvider.GetBookById(id); return(bookToInsert); } catch (Exception ex) { throw new Exception(ex.Message); } }