Beispiel #1
0
 public ApiResult<IEnumerable<Book>> GetBooks()
 {
     try
     {
         using (var db = new BookShelfDbContext())
         {
             return new ApiResult<IEnumerable<Book>>()
             {
                 Success = true,
                 Result = db.Books.ToList()
             };
         }
     }
     catch (Exception e)
     {
         return new ApiResult<IEnumerable<Book>>()
         {
             Success = false,
             ErrorMessages = new List<string>() { e.Message }
         };
     }
 }
Beispiel #2
0
        public ApiResult<Book> LoanBook(string isbn)
        {
            try
            {
                using (var db = new BookShelfDbContext())
                {
                    var book = db.Books.SingleOrDefault(b => b.Isbn == isbn);
                    if (book == null)
                        return new ApiResult<Book>()
                        {
                            Success = false,
                            ErrorMessages = new List<string>() { "Book doesn't exist" }
                        };
                    if (book.Loaned)
                        return new ApiResult<Book>()
                        {
                            Success = false,
                            ErrorMessages = new List<string>() { "Book is already loaned" }
                        };
                    book.Loaned = true;
                    db.Entry(book).State = EntityState.Modified;
                    db.SaveChanges();
                    return new ApiResult<Book>()
                    {
                        Result = book,
                        Success = true
                    };
                }

            }
            catch (Exception e)
            {
                return new ApiResult<Book>()
                {
                    Success = false,
                    ErrorMessages = new List<string>() { e.Message }
                };
            }
        }
Beispiel #3
0
 public ApiResult<Book> AddBook(Book book)
 {
     try
     {
         using (var db = new BookShelfDbContext())
         {
             db.Books.Add(book);
             db.SaveChanges();
             return new ApiResult<Book>()
             {
                 Success = true, Result = book
             };
         }
     }
     catch(Exception e)
     {
         return new ApiResult<Book>()
         {
             Success = false,
             ErrorMessages = new List<string>(){e.Message}
         };
     }
 }