public void AddToCart(int id)
        {
            // Retrieve the product from the database.           
            ShoppingCartId = GetCartId();

            var cartItem = _db.ShoppingCartItems.SingleOrDefault(
                c => c.CartId == ShoppingCartId
                && c.BookId == id);
            if (cartItem == null)
            {
                // Create a new cart item if no cart item exists.                 
                cartItem = new CartItem
                {
                    ItemId = Guid.NewGuid().ToString(),
                    BookId = id,
                    CartId = ShoppingCartId,
                    Book = _db.Books.SingleOrDefault(b => b.ID == id),
                    Quantity = 1,
                    DateCreated = DateTime.Now
                };
                _db.ShoppingCartItems.Add(cartItem);
            }
            else
            {
                // If the item does exist in the cart,                  
                // then add one to the quantity.                 
                cartItem.Quantity++;
            }
            _db.SaveChanges();
        }
 public void UpdateItem(string updateCartID, int updateProductID, int quantity)
 {
     using (var _db = new BCM.DAL.ApplicationDbContext())
     {
         try
         {
             var myItem = (from c in _db.ShoppingCartItems where c.CartId == updateCartID && c.Book.ID == updateProductID select c).FirstOrDefault();
             if (myItem != null)
             {
                 myItem.Quantity = quantity;
                 _db.SaveChanges();
             }
         }
         catch (Exception exp)
         {
             throw new Exception("ERROR: Unable to Update Cart Item - " + exp.Message.ToString(), exp);
         }
     }
 }
 public void RemoveItem(string removeCartID, int removeProductID)
 {
     using (var _db = new BCM.DAL.ApplicationDbContext())
     {
         try
         {
             var myItem = (from c in _db.ShoppingCartItems where c.CartId == removeCartID && c.Book.ID == removeProductID select c).FirstOrDefault();
             if (myItem != null)
             {
                 // Remove Item.
                 _db.ShoppingCartItems.Remove(myItem);
                 _db.SaveChanges();
             }
         }
         catch (Exception exp)
         {
             throw new Exception("ERROR: Unable to Remove Cart Item - " + exp.Message.ToString(), exp);
         }
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Execute method
        /// </summary>
        /// <param name="connectionString">Microsoft Access connection string</param>
        public void Execute(string fullPath)
        {
            if (!File.Exists(fullPath))
            {
                throw new FileNotFoundException("File not found!", fullPath);
            }

            OleDbConnection con = new OleDbConnection();

            con.ConnectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", fullPath);

            try
            {
                con.Open();

                OleDbCommand cmdCategories = new OleDbCommand();

                OleDbCommand cmdBooks = new OleDbCommand();
                cmdBooks.CommandText = "SELECT * FROM Book";
                cmdBooks.Connection  = con;

                Dictionary <int, Book> books = new Dictionary <int, Book>();

                OleDbDataReader readerBooks = cmdBooks.ExecuteReader();
                while (readerBooks.Read())
                {
                    Book book = new Book();

                    int id = readerBooks.GetInt32(0);
                    books.Add(id, book);

                    if (!String.IsNullOrEmpty(readerBooks["CopyrightYear"].ToString()))
                    {
                        book.CopyrightYear = int.Parse(readerBooks["CopyrightYear"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["CoverType"].ToString()))
                    {
                        book.CoverType = readerBooks["CoverType"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["DatePurchased"].ToString()))
                    {
                        book.DatePurchased = DateTime.Parse(readerBooks["DatePurchased"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["EditionNumber"].ToString()))
                    {
                        book.EditionNumber = int.Parse(readerBooks["EditionNumber"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ISBNNumber"].ToString()))
                    {
                        book.ISBNNumber = readerBooks["ISBNNumber"].ToString();
                    }
                    if (!String.IsNullOrEmpty(readerBooks["ListPrice"].ToString()))
                    {
                        book.ListPrice = decimal.Parse(readerBooks["ListPrice"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ShelfNumber"].ToString()))
                    {
                        book.Location = readerBooks["ShelfNumber"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["Notes"].ToString()))
                    {
                        book.Notes = readerBooks["Notes"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["Pages"].ToString()))
                    {
                        book.Pages = int.Parse(readerBooks["Pages"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["PlaceOfPublication"].ToString()))
                    {
                        book.PlaceOfPublication = readerBooks["PlaceOfPublication"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["PublisherName"].ToString()))
                    {
                        book.PublisherName = readerBooks["PublisherName"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["PublishingCompany"].ToString()))
                    {
                        book.PublishingCompany = readerBooks["PublishingCompany"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["PublishingYear"].ToString()))
                    {
                        book.PublishingYear = int.Parse(readerBooks["PublishingYear"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["PurchasePrice"].ToString()))
                    {
                        book.PurchasePrice = decimal.Parse(readerBooks["PurchasePrice"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["Title"].ToString()))
                    {
                        book.Title = readerBooks["Title"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["VolumeNumber"].ToString()))
                    {
                        book.VolumeNumber = int.Parse(readerBooks["VolumeNumber"].ToString());
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ImageUrl"].ToString()))
                    {
                        book.ImageUrl = readerBooks["ImageUrl"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ImageUrl2"].ToString()))
                    {
                        book.ImageUrl2 = readerBooks["ImageUrl2"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ImageUrl3"].ToString()))
                    {
                        book.ImageUrl3 = readerBooks["ImageUrl3"].ToString();
                    }

                    if (!String.IsNullOrEmpty(readerBooks["ImageUrl4"].ToString()))
                    {
                        book.ImageUrl4 = readerBooks["ImageUrl4"].ToString();
                    }
                }
                readerBooks.Close();

                OleDbCommand cmdBookAuthor = new OleDbCommand();

                cmdBookAuthor.CommandText = "SELECT Author.*"
                                            + " FROM Author INNER JOIN BookAuthor ON Author.AuthorID = BookAuthor.AuthorID"
                                            + " WHERE (((BookAuthor.BookID)=@p1));";
                cmdBookAuthor.Parameters.Add("@p1", OleDbType.Integer);
                cmdBookAuthor.Connection = con;

                foreach (KeyValuePair <int, Book> kvp in books)
                {
                    Book book = (kvp.Value) as Book;

                    cmdBookAuthor.Parameters["@p1"].Value = kvp.Key.ToString();

                    OleDbDataReader readerBookAuthor = cmdBookAuthor.ExecuteReader();

                    if (readerBookAuthor.HasRows)
                    {
                        while (readerBookAuthor.Read())
                        {
                            Author author = new Author();

                            if (!String.IsNullOrEmpty(readerBookAuthor["BirthDate"].ToString()))
                            {
                                author.BirthDate = DateTime.Parse(readerBookAuthor["BirthDate"].ToString());
                            }
                            author.BirthName = String.Empty;
                            if (!String.IsNullOrEmpty(readerBookAuthor["BirthPlace"].ToString()))
                            {
                                author.BirthPlace = readerBookAuthor["BirthPlace"].ToString();
                            }
                            if (!String.IsNullOrEmpty(readerBookAuthor["DateOfDeath"].ToString()))
                            {
                                author.DateOfDeath = DateTime.Parse(readerBookAuthor["DateOfDeath"].ToString());
                            }
                            if (!String.IsNullOrEmpty(readerBookAuthor["FirstName"].ToString()))
                            {
                                author.FirstName = readerBookAuthor["FirstName"].ToString();
                            }
                            if (!String.IsNullOrEmpty(readerBookAuthor["LastName"].ToString()))
                            {
                                author.LastName = readerBookAuthor["LastName"].ToString();
                            }
                            if (!String.IsNullOrEmpty(readerBookAuthor["Nationality"].ToString()))
                            {
                                author.Nationality = readerBookAuthor["Nationality"].ToString();
                            }
                            if (!String.IsNullOrEmpty(readerBookAuthor["Notes"].ToString()))
                            {
                                author.Notes = readerBookAuthor["Notes"].ToString();
                            }
                            author.Photograph = String.Empty;

                            book.Authors.Add(author);
                        }
                    }
                    readerBookAuthor.Close();
                }


                BCM.DAL.ApplicationDbContext context = new BCM.DAL.ApplicationDbContext();

                List <Category> categories = new List <Category>
                {
                    new Category {
                        Name = "Books", Description = String.Empty, ParentCategoryID = -1
                    },
                    new Category {
                        Name = "Antiques & Collectibles", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Architecture", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Art", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Biography & Autobiography", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Computers & Internet", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Education", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Fiction", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Children's Fiction", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Humor", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "History", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Philosophy", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Music", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Science", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Travel", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Business & Economics", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Reference", Description = String.Empty, ParentCategoryID = 1
                    },
                    new Category {
                        Name = "Non-Classifiable", Description = String.Empty, ParentCategoryID = 1
                    }
                };
                categories.ForEach(c => context.Categories.Add(c));
                context.SaveChanges();

                Category parentCategory = categories.Find(c => c.Name.Equals("Antiques & Collectibles"));
                Category catMilitary    = new Category {
                    Name = "Military", Description = String.Empty, ParentCategoryID = parentCategory.ID
                };
                context.Categories.Add(catMilitary);
                context.SaveChanges();

                Category category = categories.Find(c => c.Name.Equals("Non-Classifiable"));

                foreach (KeyValuePair <int, Book> kvp in books)
                {
                    Book book = ((Book)kvp.Value);

                    if ((book.Title.StartsWith("Biennial report of THE CHIEF OF STAFF")) ||
                        (book.Title.StartsWith("Die Kämpfe der deutschen Truppen")))
                    {
                        book.Categories.Add(catMilitary);
                    }
                    else
                    {
                        book.Categories.Add(category);
                    }

                    context.Books.Add(book);

                    Console.WriteLine("{0}\t{1}", kvp.Key, book.Title);
                    foreach (Author author in book.Authors)
                    {
                        Console.WriteLine("\t\t{0}\t{1}", author.LastName, author.FirstName);
                    }
                }
                context.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed!\n{0}\n", e.Message);
            }
            finally
            {
                con.Close();
            }
        }