public ActionResult AddToCart(int uniqueId) { SingleBook singlebook = new SingleBook(); CSBook CStargetBook = null; EconomicsBook EconomicstargetBook = null; NovelBook NoveltargetBook = null; using (Group001BookstoreEntities dbContext = new Group001BookstoreEntities()) { if (uniqueId < 2000) { CStargetBook = dbContext.CSBooks.SingleOrDefault(n => n.UniqueId == uniqueId); singlebook.CSBook = CStargetBook; } else if (uniqueId > 2000 & uniqueId < 3000) { EconomicstargetBook = dbContext.EconomicsBooks.SingleOrDefault(n => n.UniqueId == uniqueId); singlebook.Economicsbook = EconomicstargetBook; } else { NoveltargetBook = dbContext.NovelBooks.SingleOrDefault(n => n.UniqueId == uniqueId); singlebook.NovelBook = NoveltargetBook; } } return(View("OrderReview", singlebook)); }
protected void Page_Load(object sender, EventArgs e) { // Retrieve book ID from URL parameter. // If not present, redirect to home string bookId = Request.QueryString["id"]; if (string.IsNullOrEmpty(bookId)) { Response.Redirect("Default.aspx"); } // Check if user is logged in if (Request.Cookies["isLoggedIn"] == null) { Response.Redirect("Login?p=edit&id=" + bookId); } // Get book info from DB _book = _thisDal.GetBook(Int32.Parse(bookId)); // Only populate fields with database data if page_load is not a postback (a reload of the page on button press) if (!IsPostBack) { PrePopulate(); } }
public SingleBook GetBook(int id) { SingleBook book = null; using (var connection = new SqlConnection(connectionString)) { using (var cmd = new SqlCommand()) { connection.Open(); cmd.Connection = connection; cmd.CommandText = "SELECT b.id, b.title, b.authorId, a.name author, b.genreId, g.name genre, b.seriesId, s.name series, b.languageId, l.name language, b.edition, b.publisherId, p.name publisher, b.pages, b.cover, b.coverTypeId , c.name coverType, b.isbn, b.releaseDate, b.purchaseDate, b.price, b.purchasePrice " + "FROM Books b " + "INNER JOIN Authors a ON b.authorId = a.id " + "INNER JOIN Genres g ON b.genreId = g.id " + "INNER JOIN Series s ON b.seriesId = s.id " + "INNER JOIN Languages l ON b.languageId = l.id " + "INNER JOIN Publishers p ON b.publisherId = p.id " + "INNER JOIN CoverTypes c ON b.coverTypeId = c.id " + "WHERE b.id = @bookId"; cmd.Parameters.AddWithValue("bookId", id); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { book = CreateBookFromDB(reader); } } } } return(book); }
private SingleBook CreateBookFromDB(IDataRecord record) { int id = record.GetInt32(record.GetOrdinal("id")); string title = record.GetString(record.GetOrdinal("title")); int authorId = record.GetInt32(record.GetOrdinal("authorId")); string authorName = record.GetString(record.GetOrdinal("author")); int genreId = record.GetInt32(record.GetOrdinal("genreId")); string genreName = record.GetString(record.GetOrdinal("genre")); int seriesId = record.GetInt32(record.GetOrdinal("seriesId")); string seriesName = record.GetString(record.GetOrdinal("series")); int languageId = record.GetInt32(record.GetOrdinal("languageId")); string languageName = record.GetString(record.GetOrdinal("language")); string edition = record.IsDBNull(record.GetOrdinal("edition")) ? null : record.GetString(record.GetOrdinal("edition")); int publisherId = record.GetInt32(record.GetOrdinal("publisherId")); string publisherName = record.GetString(record.GetOrdinal("publisher")); var pages = record.IsDBNull(record.GetOrdinal("pages")) ? 0 : record.GetInt32(record.GetOrdinal("pages")); var cover = record.IsDBNull(record.GetOrdinal("cover")) ? null : record.GetString(record.GetOrdinal("cover")); int coverTypeId = record.GetInt32(record.GetOrdinal("coverTypeId")); string coverTypeName = record.GetString(record.GetOrdinal("coverType")); var isbn = record.IsDBNull(record.GetOrdinal("isbn")) ? null : record.GetString(record.GetOrdinal("isbn")); var releaseDate = record.IsDBNull(record.GetOrdinal("releaseDate")) ? null : record.GetString(record.GetOrdinal("releaseDate")); var purchaseDate = record.IsDBNull(record.GetOrdinal("purchaseDate")) ? null : record.GetString(record.GetOrdinal("purchaseDate")); var price = record.IsDBNull(record.GetOrdinal("price")) ? 0 : record.GetInt32(record.GetOrdinal("price")); var purchasePrice = record.IsDBNull(record.GetOrdinal("purchasePrice")) ? 0 : record.GetInt32(record.GetOrdinal("purchasePrice")); var book = new SingleBook( id, title, new MetaInfo(authorId, authorName), new MetaInfo(genreId, genreName), new MetaInfo(seriesId, seriesName), new MetaInfo(languageId, languageName), edition, new MetaInfo(publisherId, publisherName), pages, cover, new MetaInfo(coverTypeId, coverTypeName), isbn, releaseDate, purchaseDate, price, purchasePrice ); return(book); }
protected void Page_Load(object sender, EventArgs e) { // Initialize connection to Data Access Layer DAL _thisDAL = new DAL(); // Retrieve book ID from URL parameter. // If not present, redirect to home string bookId = Request.QueryString["id"]; if (string.IsNullOrEmpty(bookId)) { Response.Redirect("Default.aspx"); } // Retrieve Book object with ID book = _thisDAL.GetBook(Int32.Parse(bookId)); // Set page title equal to book title Page.Title = book.Title; // Bind Book data to page elements // Required data CoverImage.ImageUrl = book.Cover; BookTitle.InnerText = book.Title; BookAuthor.InnerText = book.Author.Name; // Optional data - perform check whether value is not null or empty BookGenre.InnerHtml = string.IsNullOrEmpty(book.Genre.Name) ? "-" : book.Genre.Name; BookSeries.InnerHtml = string.IsNullOrEmpty(book.Series.Name) ? "-" : book.Series.Name; BookLanguage.InnerHtml = string.IsNullOrEmpty(book.Language.Name) ? "-" : book.Language.Name; BookEdition.InnerHtml = string.IsNullOrEmpty(book.Edition) ? "-" : book.Edition; BookPublisher.InnerHtml = string.IsNullOrEmpty(book.Publisher.Name) ? "-" : book.Publisher.Name; BookPages.InnerHtml = book.Pages == 0 ? "-" : book.Pages.ToString(); BookCoverType.InnerHtml = string.IsNullOrEmpty(book.CoverType.Name) ? "-" : book.CoverType.Name; BookISBN.InnerHtml = string.IsNullOrEmpty(book.Isbn) ? "-" : book.Isbn; BookReleaseDate.InnerHtml = string.IsNullOrEmpty(book.ReleaseDate) ? "-" : book.ReleaseDate; BookPrice.InnerHtml = book.Price == 0 ? "-" : "€" + book.Price.ToString(); BookPurchaseDate.InnerHtml = string.IsNullOrEmpty(book.PurchaseDate) ? "-" : book.PurchaseDate; BookPurchasePrice.InnerHtml = book.PurchasePrice == 0 ? "-" : "€" + book.PurchasePrice; var profit = book.Price - book.PurchasePrice; BookProfit.InnerHtml = "€" + profit; }