/// <summary> /// Inserts Book into the database and the local view. /// </summary> /// <param name="bookInfo">BookInfo of the book to insert.</param> public bool InsertBook(BookInfo bookInfo) { //if BooksViewPoint has an element with same Id if (BooksViewPoint.Where(x => x.Id == bookInfo.Id).Count() > 0) { return(false); } //if Database contains the Id already else if (ConnectionInfo.GetContext().Books.Where(x => x.Id == bookInfo.Id).Count() > 0) { return(false); } else { try { var converter = new BookConverter(); //adds to ViewPoint BooksViewPoint.Add(bookInfo); using (var dbContext = ConnectionInfo.GetContext()) { //adds to DB dbContext.Books.Add(converter.ToBook(bookInfo)); dbContext.SaveChanges(); } } catch (Exception ex) { ExceptionLogger.Log(ex); } } return(false); }