From 6a9b6c16c2b122e999d66a115a6c1d1b1a2a9995 Mon Sep 17 00:00:00 2001 From: ajcvickers Date: Tue, 28 Jan 2014 16:07:26 -0800 Subject: [PATCH 1/3] Everything but the kitchen async... (Updates to how Music Store controllers use data) Specifically: - Dispose contexts - Use async wherever possible - Stop using initializers (currently hard-coded to drop and recreate each run) - Some general cleanup - Stop using AttachDbFilename Not included here: - No major changes to app structure - No major changes to data model - No major changes to error handling, concurrency, etc. --- .nuget/packages.config | 6 +- MusicStore.sln | 5 + src/MvcMusicStore/App_Start/Startup.App.cs | 55 +- .../Controllers/AccountController.cs | 292 +- .../Controllers/CheckoutController.cs | 73 +- .../Controllers/HomeController.cs | 34 +- .../Controllers/ShoppingCartController.cs | 79 +- .../Controllers/StoreController.cs | 54 +- .../Controllers/StoreManagerController.cs | 122 +- src/MvcMusicStore/Global.asax.cs | 2 - .../Models/MusicStoreEntities.cs | 5 + src/MvcMusicStore/Models/Order.cs | 5 + src/MvcMusicStore/Models/SampleData.cs | 4193 +++++++++++++++-- src/MvcMusicStore/Models/ShoppingCart.cs | 284 +- src/MvcMusicStore/Web.config | 4 +- 15 files changed, 4198 insertions(+), 1015 deletions(-) diff --git a/.nuget/packages.config b/.nuget/packages.config index 921f3705b4..5a4da0ba1d 100644 --- a/.nuget/packages.config +++ b/.nuget/packages.config @@ -1,4 +1,4 @@ - - - + + + \ No newline at end of file diff --git a/MusicStore.sln b/MusicStore.sln index 4600f85219..eb6d28080e 100644 --- a/MusicStore.sln +++ b/MusicStore.sln @@ -9,6 +9,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MusicStore.k10", "src\Music EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MusicStore.net45", "src\MusicStore\MusicStore.net45.csproj", "{9C8A2D1F-D430-46DF-8F00-39E378EC8FB2}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{44621553-AA7D-4893-8834-79582A7D8348}" + ProjectSection(SolutionItems) = preProject + .nuget\packages.config = .nuget\packages.config + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/src/MvcMusicStore/App_Start/Startup.App.cs b/src/MvcMusicStore/App_Start/Startup.App.cs index 7e833b0c4e..873efdc8af 100644 --- a/src/MvcMusicStore/App_Start/Startup.App.cs +++ b/src/MvcMusicStore/App_Start/Startup.App.cs @@ -1,46 +1,53 @@ -using Microsoft.AspNet.Identity; +using System.Configuration; +using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; -using Microsoft.Owin; -using Microsoft.Owin.Security.Cookies; using MvcMusicStore.Models; using Owin; -using System.Configuration; -using System.Threading.Tasks; namespace MvcMusicStore { public partial class Startup { + private const string RoleName = "Administrator"; + public void ConfigureApp(IAppBuilder app) { - System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData()); + using (var context = new MusicStoreEntities()) + { + context.Database.Delete(); + context.Database.Create(); + + new SampleData().Seed(context); + } CreateAdminUser(); } private async void CreateAdminUser() { - string _username = ConfigurationManager.AppSettings["DefaultAdminUsername"]; - string _password = ConfigurationManager.AppSettings["DefaultAdminPassword"]; - string _role = "Administrator"; + var username = ConfigurationManager.AppSettings["DefaultAdminUsername"]; + var password = ConfigurationManager.AppSettings["DefaultAdminPassword"]; - var context = new ApplicationDbContext(); - var userManager = new UserManager(new UserStore(context)); - var roleManager = new RoleManager(new RoleStore(context)); - - var role = new IdentityRole(_role); - var result = await roleManager.RoleExistsAsync(_role); - if (result == false) + using (var context = new ApplicationDbContext()) { - await roleManager.CreateAsync(role); - } + var userManager = new UserManager(new UserStore(context)); + var roleManager = new RoleManager(new RoleStore(context)); - var user = await userManager.FindByNameAsync(_username); - if (user == null) - { - user = new ApplicationUser { UserName = _username }; - await userManager.CreateAsync(user, _password); - await userManager.AddToRoleAsync(user.Id, _role); + var role = new IdentityRole(RoleName); + + var result = await roleManager.RoleExistsAsync(RoleName); + if (!result) + { + await roleManager.CreateAsync(role); + } + + var user = await userManager.FindByNameAsync(username); + if (user == null) + { + user = new ApplicationUser { UserName = username }; + await userManager.CreateAsync(user, password); + await userManager.AddToRoleAsync(user.Id, RoleName); + } } } } diff --git a/src/MvcMusicStore/Controllers/AccountController.cs b/src/MvcMusicStore/Controllers/AccountController.cs index 2e991ceb82..4e11bdc6b3 100644 --- a/src/MvcMusicStore/Controllers/AccountController.cs +++ b/src/MvcMusicStore/Controllers/AccountController.cs @@ -1,12 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using System.Collections.Generic; using System.Security.Claims; using System.Threading.Tasks; using System.Web; using System.Web.Mvc; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; +using Microsoft.AspNet.Identity.Owin; using Microsoft.Owin.Security; using MvcMusicStore.Models; @@ -15,6 +14,18 @@ namespace MvcMusicStore.Controllers [Authorize] public class AccountController : Controller { + public enum ManageMessageId + { + ChangePasswordSuccess, + SetPasswordSuccess, + RemoveLoginSuccess, + Error + } + + private const string XsrfKey = "XsrfId"; + + private UserManager _userManager; + public AccountController() : this(new UserManager(new UserStore(new ApplicationDbContext()))) { @@ -22,33 +33,35 @@ namespace MvcMusicStore.Controllers public AccountController(UserManager userManager) { - UserManager = userManager; + _userManager = userManager; } - public UserManager UserManager { get; private set; } - - private void MigrateShoppingCart(string UserName) + private IAuthenticationManager AuthenticationManager { - var storeDb = new MusicStoreEntities(); - - // Associate shopping cart items with logged-in user - var cart = ShoppingCart.GetCart(storeDb, this.HttpContext); - cart.MigrateCart(UserName); - storeDb.SaveChanges(); - - Session[ShoppingCart.CartSessionKey] = UserName; + get { return HttpContext.GetOwinContext().Authentication; } + } + + private async Task MigrateShoppingCart(string userName) + { + using (var storeContext = new MusicStoreEntities()) + { + var cart = ShoppingCart.GetCart(storeContext, this); + + await cart.MigrateCart(userName); + + Session[ShoppingCart.CartSessionKey] = userName; + } } - // // GET: /Account/Login [AllowAnonymous] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; + return View(); } - // // POST: /Account/Login [HttpPost] [AllowAnonymous] @@ -57,23 +70,20 @@ namespace MvcMusicStore.Controllers { if (ModelState.IsValid) { - var user = await UserManager.FindAsync(model.UserName, model.Password); + var user = await _userManager.FindAsync(model.UserName, model.Password); if (user != null) { await SignInAsync(user, model.RememberMe); + return RedirectToLocal(returnUrl); } - else - { - ModelState.AddModelError("", "Invalid username or password."); - } + + ModelState.AddModelError("", "Invalid username or password."); } - // If we got this far, something failed, redisplay form return View(model); } - // // GET: /Account/Register [AllowAnonymous] public ActionResult Register() @@ -81,7 +91,6 @@ namespace MvcMusicStore.Controllers return View(); } - // // POST: /Account/Register [HttpPost] [AllowAnonymous] @@ -90,85 +99,84 @@ namespace MvcMusicStore.Controllers { if (ModelState.IsValid) { - var user = new ApplicationUser() { UserName = model.UserName }; - var result = await UserManager.CreateAsync(user, model.Password); + var user = new ApplicationUser { UserName = model.UserName }; + var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { - await SignInAsync(user, isPersistent: false); + await SignInAsync(user, false); + return RedirectToAction("Index", "Home"); } - else - { - AddErrors(result); - } + + AddErrors(result); } - // If we got this far, something failed, redisplay form return View(model); } - // // POST: /Account/Disassociate [HttpPost] [ValidateAntiForgeryToken] public async Task Disassociate(string loginProvider, string providerKey) { - ManageMessageId? message = null; - IdentityResult result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); - if (result.Succeeded) - { - message = ManageMessageId.RemoveLoginSuccess; - } - else - { - message = ManageMessageId.Error; - } - return RedirectToAction("Manage", new { Message = message }); + var result = await _userManager.RemoveLoginAsync( + User.Identity.GetUserId(), + new UserLoginInfo(loginProvider, providerKey)); + + return RedirectToAction( + "Manage", + new { Message = result.Succeeded ? ManageMessageId.RemoveLoginSuccess : ManageMessageId.Error }); } - // // GET: /Account/Manage - public ActionResult Manage(ManageMessageId? message) + public async Task Manage(ManageMessageId? message) { ViewBag.StatusMessage = - message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." - : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." - : message == ManageMessageId.RemoveLoginSuccess ? "The external login was removed." - : message == ManageMessageId.Error ? "An error has occurred." - : ""; - ViewBag.HasLocalPassword = HasPassword(); + message == ManageMessageId.ChangePasswordSuccess + ? "Your password has been changed." + : message == ManageMessageId.SetPasswordSuccess + ? "Your password has been set." + : message == ManageMessageId.RemoveLoginSuccess + ? "The external login was removed." + : message == ManageMessageId.Error + ? "An error has occurred." + : ""; + + ViewBag.HasLocalPassword = await HasPasswordAsync(); ViewBag.ReturnUrl = Url.Action("Manage"); + return View(); } - // // POST: /Account/Manage [HttpPost] [ValidateAntiForgeryToken] public async Task Manage(ManageUserViewModel model) { - bool hasPassword = HasPassword(); + bool hasPassword = await HasPasswordAsync(); ViewBag.HasLocalPassword = hasPassword; ViewBag.ReturnUrl = Url.Action("Manage"); + if (hasPassword) { if (ModelState.IsValid) { - IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword); + var result = await _userManager.ChangePasswordAsync( + User.Identity.GetUserId(), + model.OldPassword, + model.NewPassword); + if (result.Succeeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }); } - else - { - AddErrors(result); - } + + AddErrors(result); } } else { - // User does not have a password so remove any validation errors caused by a missing OldPassword field - ModelState state = ModelState["OldPassword"]; + var state = ModelState["OldPassword"]; if (state != null) { state.Errors.Clear(); @@ -176,34 +184,32 @@ namespace MvcMusicStore.Controllers if (ModelState.IsValid) { - IdentityResult result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword); + var result = await _userManager.AddPasswordAsync( + User.Identity.GetUserId(), + model.NewPassword); + if (result.Succeeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.SetPasswordSuccess }); } - else - { - AddErrors(result); - } + + AddErrors(result); } } - // If we got this far, something failed, redisplay form return View(model); } - // // POST: /Account/ExternalLogin [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult ExternalLogin(string provider, string returnUrl) { - // Request a redirect to the external login provider - return new ChallengeResult(provider, Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl })); + return new ChallengeResult(provider, + Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl })); } - // // GET: /Account/ExternalLoginCallback [AllowAnonymous] public async Task ExternalLoginCallback(string returnUrl) @@ -214,55 +220,56 @@ namespace MvcMusicStore.Controllers return RedirectToAction("Login"); } - // Sign in the user with this external login provider if the user already has a login - var user = await UserManager.FindAsync(loginInfo.Login); + var user = await _userManager.FindAsync(loginInfo.Login); if (user != null) { - await SignInAsync(user, isPersistent: false); + await SignInAsync(user, false); + return RedirectToLocal(returnUrl); } - else - { - // If the user does not have an account, then prompt the user to create an account - ViewBag.ReturnUrl = returnUrl; - ViewBag.LoginProvider = loginInfo.Login.LoginProvider; - return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { UserName = loginInfo.DefaultUserName }); - } + + ViewBag.ReturnUrl = returnUrl; + ViewBag.LoginProvider = loginInfo.Login.LoginProvider; + + return View("ExternalLoginConfirmation", + new ExternalLoginConfirmationViewModel { UserName = loginInfo.DefaultUserName }); } - // // POST: /Account/LinkLogin [HttpPost] [ValidateAntiForgeryToken] public ActionResult LinkLogin(string provider) { - // Request a redirect to the external login provider to link a login for the current user return new ChallengeResult(provider, Url.Action("LinkLoginCallback", "Account"), User.Identity.GetUserId()); } - // // GET: /Account/LinkLoginCallback public async Task LinkLoginCallback() { - var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, User.Identity.GetUserId()); + var loginInfo = + await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, User.Identity.GetUserId()); + if (loginInfo == null) { return RedirectToAction("Manage", new { Message = ManageMessageId.Error }); } - var result = await UserManager.AddLoginAsync(User.Identity.GetUserId(), loginInfo.Login); + + var result = await _userManager.AddLoginAsync(User.Identity.GetUserId(), loginInfo.Login); if (result.Succeeded) { return RedirectToAction("Manage"); } + return RedirectToAction("Manage", new { Message = ManageMessageId.Error }); } - // // POST: /Account/ExternalLoginConfirmation [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] - public async Task ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) + public async Task ExternalLoginConfirmation( + ExternalLoginConfirmationViewModel model, + string returnUrl) { if (User.Identity.IsAuthenticated) { @@ -277,35 +284,39 @@ namespace MvcMusicStore.Controllers { return View("ExternalLoginFailure"); } - var user = new ApplicationUser() { UserName = model.UserName }; - var result = await UserManager.CreateAsync(user); + + var user = new ApplicationUser { UserName = model.UserName }; + + var result = await _userManager.CreateAsync(user); if (result.Succeeded) { - result = await UserManager.AddLoginAsync(user.Id, info.Login); + result = await _userManager.AddLoginAsync(user.Id, info.Login); + if (result.Succeeded) { - await SignInAsync(user, isPersistent: false); + await SignInAsync(user, false); return RedirectToLocal(returnUrl); } } + AddErrors(result); } ViewBag.ReturnUrl = returnUrl; + return View(model); } - // // POST: /Account/LogOff [HttpPost] [ValidateAntiForgeryToken] public ActionResult LogOff() { AuthenticationManager.SignOut(); + return RedirectToAction("Index", "Home"); } - // // GET: /Account/ExternalLoginFailure [AllowAnonymous] public ActionResult ExternalLoginFailure() @@ -316,41 +327,34 @@ namespace MvcMusicStore.Controllers [ChildActionOnly] public ActionResult RemoveAccountList() { - var linkedAccounts = UserManager.GetLogins(User.Identity.GetUserId()); + var linkedAccounts = _userManager.GetLogins(User.Identity.GetUserId()); + ViewBag.ShowRemoveButton = HasPassword() || linkedAccounts.Count > 1; - return (ActionResult)PartialView("_RemoveAccountPartial", linkedAccounts); + + return PartialView("_RemoveAccountPartial", linkedAccounts); } protected override void Dispose(bool disposing) { - if (disposing && UserManager != null) + if (disposing && _userManager != null) { - UserManager.Dispose(); - UserManager = null; + _userManager.Dispose(); + _userManager = null; } + base.Dispose(disposing); } - #region Helpers - // Used for XSRF protection when adding external logins - private const string XsrfKey = "XsrfId"; - - private IAuthenticationManager AuthenticationManager - { - get - { - return HttpContext.GetOwinContext().Authentication; - } - } - private async Task SignInAsync(ApplicationUser user, bool isPersistent) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); - var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); - AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity); - // Migrate the user's shopping cart - MigrateShoppingCart(user.UserName); + var identity = + await _userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); + + AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = isPersistent }, identity); + + await MigrateShoppingCart(user.UserName); } private void AddErrors(IdentityResult result) @@ -363,61 +367,47 @@ namespace MvcMusicStore.Controllers private bool HasPassword() { - var user = UserManager.FindById(User.Identity.GetUserId()); - if (user != null) - { - return user.PasswordHash != null; - } - return false; + var user = _userManager.FindById(User.Identity.GetUserId()); + + return user != null && user.PasswordHash != null; } - public enum ManageMessageId + private async Task HasPasswordAsync() { - ChangePasswordSuccess, - SetPasswordSuccess, - RemoveLoginSuccess, - Error + var user = await _userManager.FindByIdAsync(User.Identity.GetUserId()); + + return user != null && user.PasswordHash != null; } private ActionResult RedirectToLocal(string returnUrl) { - if (Url.IsLocalUrl(returnUrl)) - { - return Redirect(returnUrl); - } - else - { - return RedirectToAction("Index", "Home"); - } + return Url.IsLocalUrl(returnUrl) + ? (ActionResult)Redirect(returnUrl) + : RedirectToAction("Index", "Home"); } private class ChallengeResult : HttpUnauthorizedResult { - public ChallengeResult(string provider, string redirectUri) : this(provider, redirectUri, null) - { - } + private readonly string _loginProvider; + private readonly string _redirectUri; + private readonly string _userId; - public ChallengeResult(string provider, string redirectUri, string userId) + public ChallengeResult(string provider, string redirectUri, string userId = null) { - LoginProvider = provider; - RedirectUri = redirectUri; - UserId = userId; + _loginProvider = provider; + _redirectUri = redirectUri; + _userId = userId; } - public string LoginProvider { get; set; } - public string RedirectUri { get; set; } - public string UserId { get; set; } - public override void ExecuteResult(ControllerContext context) { - var properties = new AuthenticationProperties() { RedirectUri = RedirectUri }; - if (UserId != null) + var properties = new AuthenticationProperties { RedirectUri = _redirectUri }; + if (_userId != null) { - properties.Dictionary[XsrfKey] = UserId; + properties.Dictionary[XsrfKey] = _userId; } - context.HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider); + context.HttpContext.GetOwinContext().Authentication.Challenge(properties, _loginProvider); } } - #endregion } } \ No newline at end of file diff --git a/src/MvcMusicStore/Controllers/CheckoutController.cs b/src/MvcMusicStore/Controllers/CheckoutController.cs index 572f634796..98b832b767 100644 --- a/src/MvcMusicStore/Controllers/CheckoutController.cs +++ b/src/MvcMusicStore/Controllers/CheckoutController.cs @@ -1,5 +1,6 @@ using System; -using System.Linq; +using System.Data.Entity; +using System.Threading.Tasks; using System.Web.Mvc; using MvcMusicStore.Models; @@ -8,78 +9,56 @@ namespace MvcMusicStore.Controllers [Authorize] public class CheckoutController : Controller { - MusicStoreEntities storeDB = new MusicStoreEntities(); - const string PromoCode = "FREE"; + private const string PromoCode = "FREE"; + + private readonly MusicStoreEntities _storeContext = new MusicStoreEntities(); - // // GET: /Checkout/ - public ActionResult AddressAndPayment() { return View(); } - // // POST: /Checkout/AddressAndPayment - [HttpPost] - public ActionResult AddressAndPayment(FormCollection values) + public async Task AddressAndPayment(FormCollection values) { var order = new Order(); TryUpdateModel(order); - try + if (ModelState.IsValid + && string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase)) { - if (string.Equals(values["PromoCode"], PromoCode, - StringComparison.OrdinalIgnoreCase) == false) - { - return View(order); - } - else - { - order.Username = User.Identity.Name; - order.OrderDate = DateTime.Now; + order.Username = User.Identity.Name; + order.OrderDate = DateTime.Now; - //Add the Order - storeDB.Orders.Add(order); + _storeContext.Orders.Add(order); - //Process the order - var cart = ShoppingCart.GetCart(storeDB, this.HttpContext); - cart.CreateOrder(order); + await ShoppingCart.GetCart(_storeContext, this).CreateOrder(order); - // Save all changes - storeDB.SaveChanges(); - - return RedirectToAction("Complete", - new { id = order.OrderId }); - } + await _storeContext.SaveChangesAsync(); + return RedirectToAction("Complete", new { id = order.OrderId }); } - catch - { - //Invalid - redisplay with errors - return View(order); - } + + return View(order); } - // // GET: /Checkout/Complete - - public ActionResult Complete(int id) + public async Task Complete(int id) { - // Validate customer owns this order - bool isValid = storeDB.Orders.Any( - o => o.OrderId == id && - o.Username == User.Identity.Name); + return await _storeContext.Orders.AnyAsync(o => o.OrderId == id && o.Username == User.Identity.Name) + ? View(id) + : View("Error"); + } - if (isValid) + protected override void Dispose(bool disposing) + { + if (disposing) { - return View(id); - } - else - { - return View("Error"); + _storeContext.Dispose(); } + base.Dispose(disposing); } } } \ No newline at end of file diff --git a/src/MvcMusicStore/Controllers/HomeController.cs b/src/MvcMusicStore/Controllers/HomeController.cs index 1bce47d702..710bc42cc8 100644 --- a/src/MvcMusicStore/Controllers/HomeController.cs +++ b/src/MvcMusicStore/Controllers/HomeController.cs @@ -1,6 +1,6 @@ -using System.Collections.Generic; +using System.Data.Entity; using System.Linq; -using System.Web; +using System.Threading.Tasks; using System.Web.Mvc; using MvcMusicStore.Models; @@ -8,28 +8,24 @@ namespace MvcMusicStore.Controllers { public class HomeController : Controller { - private MusicStoreEntities storeDB = new MusicStoreEntities(); - // + private readonly MusicStoreEntities _storeContext = new MusicStoreEntities(); + // GET: /Home/ - - public ActionResult Index() + public async Task Index() { - // Get most popular albums - var albums = GetTopSellingAlbums(6); - - return View(albums); + return View(await _storeContext.Albums + .OrderByDescending(a => a.OrderDetails.Count()) + .Take(6) + .ToListAsync()); } - - private List GetTopSellingAlbums(int count) + protected override void Dispose(bool disposing) { - // Group the order details by album and return - // the albums with the highest count - - return storeDB.Albums - .OrderByDescending(a => a.OrderDetails.Count()) - .Take(count) - .ToList(); + if (disposing) + { + _storeContext.Dispose(); + } + base.Dispose(disposing); } } } \ No newline at end of file diff --git a/src/MvcMusicStore/Controllers/ShoppingCartController.cs b/src/MvcMusicStore/Controllers/ShoppingCartController.cs index 7b4fcee07a..c8bd97adcf 100644 --- a/src/MvcMusicStore/Controllers/ShoppingCartController.cs +++ b/src/MvcMusicStore/Controllers/ShoppingCartController.cs @@ -1,4 +1,6 @@ -using System.Linq; +using System.Data.Entity; +using System.Linq; +using System.Threading.Tasks; using System.Web.Mvc; using MvcMusicStore.Models; using MvcMusicStore.ViewModels; @@ -7,75 +9,56 @@ namespace MvcMusicStore.Controllers { public class ShoppingCartController : Controller { - MusicStoreEntities storeDB = new MusicStoreEntities(); + private readonly MusicStoreEntities _storeContext = new MusicStoreEntities(); - // // GET: /ShoppingCart/ - - public ActionResult Index() + public async Task Index() { - var cart = ShoppingCart.GetCart(storeDB, this.HttpContext); + var cart = ShoppingCart.GetCart(_storeContext, this); - // Set up our ViewModel var viewModel = new ShoppingCartViewModel { - CartItems = cart.GetCartItems(), - CartTotal = cart.GetTotal() + CartItems = await cart.GetCartItems().ToListAsync(), + CartTotal = await cart.GetTotal() }; - // Return the view return View(viewModel); } - // // GET: /ShoppingCart/AddToCart/5 - - public ActionResult AddToCart(int id) + public async Task AddToCart(int id) { + var cart = ShoppingCart.GetCart(_storeContext, this); - // Retrieve the album from the database - var addedAlbum = storeDB.Albums - .Single(album => album.AlbumId == id); + await cart.AddToCart(await _storeContext.Albums.SingleAsync(a => a.AlbumId == id)); - // Add it to the shopping cart - var cart = ShoppingCart.GetCart(storeDB, this.HttpContext); + await _storeContext.SaveChangesAsync(); - cart.AddToCart(addedAlbum); - - storeDB.SaveChanges(); - - // Go back to the main store page for more shopping return RedirectToAction("Index"); } - // // AJAX: /ShoppingCart/RemoveFromCart/5 - [HttpPost] - public ActionResult RemoveFromCart(int id) + public async Task RemoveFromCart(int id) { - // Retrieve the current user's shopping cart - var cart = ShoppingCart.GetCart(storeDB, this.HttpContext); + var cart = ShoppingCart.GetCart(_storeContext, this); - // Get the name of the album to display confirmation - string albumName = storeDB.Carts - .Single(item => item.RecordId == id).Album.Title; + var albumName = await _storeContext.Carts + .Where(i => i.RecordId == id) + .Select(i => i.Album.Title) + .SingleOrDefaultAsync(); - // Remove from cart - int itemCount = cart.RemoveFromCart(id); + var itemCount = await cart.RemoveFromCart(id); - storeDB.SaveChanges(); + await _storeContext.SaveChangesAsync(); - string removed = (itemCount > 0) ? " 1 copy of " : string.Empty; - - // Display the confirmation message + var removed = (itemCount > 0) ? " 1 copy of " : string.Empty; var results = new ShoppingCartRemoveViewModel { - Message = removed + albumName + - " has been removed from your shopping cart.", - CartTotal = cart.GetTotal(), - CartCount = cart.GetCount(), + Message = removed + albumName + " has been removed from your shopping cart.", + CartTotal = await cart.GetTotal(), + CartCount = await cart.GetCount(), ItemCount = itemCount, DeleteId = id }; @@ -86,16 +69,26 @@ namespace MvcMusicStore.Controllers [ChildActionOnly] public ActionResult CartSummary() { - var cart = ShoppingCart.GetCart(storeDB, this.HttpContext); + var cart = ShoppingCart.GetCart(_storeContext, this); var cartItems = cart.GetCartItems() .Select(a => a.Album.Title) - .OrderBy(x => x); + .OrderBy(x => x) + .ToList(); ViewBag.CartCount = cartItems.Count(); ViewBag.CartSummary = string.Join("\n", cartItems.Distinct()); return PartialView("CartSummary"); } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + _storeContext.Dispose(); + } + base.Dispose(disposing); + } } } diff --git a/src/MvcMusicStore/Controllers/StoreController.cs b/src/MvcMusicStore/Controllers/StoreController.cs index c95b95da9f..2930627fbf 100644 --- a/src/MvcMusicStore/Controllers/StoreController.cs +++ b/src/MvcMusicStore/Controllers/StoreController.cs @@ -1,57 +1,49 @@ -using MvcMusicStore.Models; -using System; -using System.Collections.Generic; +using System.Data.Entity; using System.Linq; -using System.Web; +using System.Threading.Tasks; using System.Web.Mvc; +using MvcMusicStore.Models; namespace MvcMusicStore.Controllers { public class StoreController : Controller { - MusicStoreEntities storeDB = new MusicStoreEntities(); - // + private readonly MusicStoreEntities _storeContext = new MusicStoreEntities(); + // GET: /Store/ - - public ActionResult Index() + public async Task Index() { - var genres = storeDB.Genres.ToList(); - - return View(genres); + return View(await _storeContext.Genres.ToListAsync()); } - - // // GET: /Store/Browse?genre=Disco - - public ActionResult Browse(string genre) + public async Task Browse(string genre) { - // Retrieve Genre genre and its Associated associated Albums albums from database - var genreModel = storeDB.Genres.Include("Albums") - .Single(g => g.Name == genre); - - return View(genreModel); + return View(await _storeContext.Genres.Include("Albums").SingleAsync(g => g.Name == genre)); } - public ActionResult Details(int id) + public async Task Details(int id) { - var album = storeDB.Albums.Find(id); + var album = await _storeContext.Albums.FindAsync(id); - return View(album); + return album != null ? View(album) : (ActionResult)HttpNotFound(); } [ChildActionOnly] public ActionResult GenreMenu() { - var genres = storeDB.Genres - .OrderByDescending( - g => g.Albums.Sum( - a => a.OrderDetails.Sum( - od => od.Quantity))) - .Take(9) - .ToList(); + return PartialView( + _storeContext.Genres.OrderByDescending( + g => g.Albums.Sum(a => a.OrderDetails.Sum(od => od.Quantity))).Take(9).ToList()); + } - return PartialView(genres); + protected override void Dispose(bool disposing) + { + if (disposing) + { + _storeContext.Dispose(); + } + base.Dispose(disposing); } } } \ No newline at end of file diff --git a/src/MvcMusicStore/Controllers/StoreManagerController.cs b/src/MvcMusicStore/Controllers/StoreManagerController.cs index 62baf6677a..e14f9b45a3 100644 --- a/src/MvcMusicStore/Controllers/StoreManagerController.cs +++ b/src/MvcMusicStore/Controllers/StoreManagerController.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Data; -using System.Data.Entity; +using System.Data.Entity; using System.Linq; -using System.Web; +using System.Threading.Tasks; using System.Web.Mvc; using MvcMusicStore.Models; @@ -12,119 +9,132 @@ namespace MvcMusicStore.Controllers [Authorize(Roles = "Administrator")] public class StoreManagerController : Controller { - private MusicStoreEntities db = new MusicStoreEntities(); + private readonly MusicStoreEntities _storeContext = new MusicStoreEntities(); - // // GET: /StoreManager/ - - public ActionResult Index() + public async Task Index() { - var albums = db.Albums.Include(a => a.Genre).Include(a => a.Artist) - .OrderBy(a => a.Price); - return View(albums.ToList()); + return View(await _storeContext.Albums + .Include(a => a.Genre) + .Include(a => a.Artist) + .OrderBy(a => a.Price).ToListAsync()); } - // // GET: /StoreManager/Details/5 - - public ActionResult Details(int id = 0) + public async Task Details(int id = 0) { - Album album = db.Albums.Find(id); + var album = await _storeContext.Albums.FindAsync(id); + if (album == null) { return HttpNotFound(); } + return View(album); } - // // GET: /StoreManager/Create - - public ActionResult Create() + public async Task Create() { - ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name"); - ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name"); - return View(); + return await BuildView(null); } - // // POST: /StoreManager/Create - [HttpPost] - public ActionResult Create(Album album) + public async Task Create(Album album) { if (ModelState.IsValid) { - db.Albums.Add(album); - db.SaveChanges(); + _storeContext.Albums.Add(album); + + await _storeContext.SaveChangesAsync(); + return RedirectToAction("Index"); } - ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId); - ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId); - return View(album); + return await BuildView(album); } - // // GET: /StoreManager/Edit/5 - - public ActionResult Edit(int id = 0) + public async Task Edit(int id = 0) { - Album album = db.Albums.Find(id); + var album = await _storeContext.Albums.FindAsync(id); if (album == null) { return HttpNotFound(); } - ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId); - ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId); - return View(album); + + return await BuildView(album); } - // // POST: /StoreManager/Edit/5 - [HttpPost] - public ActionResult Edit(Album album) + public async Task Edit(Album album) { if (ModelState.IsValid) { - db.Entry(album).State = EntityState.Modified; - db.SaveChanges(); + _storeContext.Entry(album).State = EntityState.Modified; + + await _storeContext.SaveChangesAsync(); + return RedirectToAction("Index"); } - ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId); - ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId); - return View(album); + + return await BuildView(album); } - // // GET: /StoreManager/Delete/5 - - public ActionResult Delete(int id = 0) + public async Task Delete(int id = 0) { - Album album = db.Albums.Find(id); + var album = await _storeContext.Albums.FindAsync(id); if (album == null) { return HttpNotFound(); } + return View(album); } - // // POST: /StoreManager/Delete/5 - [HttpPost, ActionName("Delete")] - public ActionResult DeleteConfirmed(int id) + public async Task DeleteConfirmed(int id) { - Album album = db.Albums.Find(id); - db.Albums.Remove(album); - db.SaveChanges(); + var album = await _storeContext.Albums.FindAsync(id); + if (album == null) + { + return HttpNotFound(); + } + + _storeContext.Albums.Remove(album); + + await _storeContext.SaveChangesAsync(); + return RedirectToAction("Index"); } + private async Task BuildView(Album album) + { + ViewBag.GenreId = new SelectList( + await _storeContext.Genres.ToListAsync(), + "GenreId", + "Name", + album == null ? null : (object)album.GenreId); + + ViewBag.ArtistId = new SelectList( + await _storeContext.Artists.ToListAsync(), + "ArtistId", + "Name", + album == null ? null : (object)album.ArtistId); + + return View(album); + } + protected override void Dispose(bool disposing) { - db.Dispose(); + if (disposing) + { + _storeContext.Dispose(); + } base.Dispose(disposing); } } diff --git a/src/MvcMusicStore/Global.asax.cs b/src/MvcMusicStore/Global.asax.cs index b16138d27b..45a453df70 100644 --- a/src/MvcMusicStore/Global.asax.cs +++ b/src/MvcMusicStore/Global.asax.cs @@ -16,8 +16,6 @@ namespace MvcMusicStore FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); - - System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData()); } } } diff --git a/src/MvcMusicStore/Models/MusicStoreEntities.cs b/src/MvcMusicStore/Models/MusicStoreEntities.cs index 2dfcab61ad..f58e910e73 100644 --- a/src/MvcMusicStore/Models/MusicStoreEntities.cs +++ b/src/MvcMusicStore/Models/MusicStoreEntities.cs @@ -4,6 +4,11 @@ namespace MvcMusicStore.Models { public class MusicStoreEntities : DbContext { + public MusicStoreEntities() + : base("name=MusicStoreEntities") + { + } + public DbSet Albums { get; set; } public DbSet Genres { get; set; } public DbSet Artists { get; set; } diff --git a/src/MvcMusicStore/Models/Order.cs b/src/MvcMusicStore/Models/Order.cs index 8e424845e2..0631a6b124 100644 --- a/src/MvcMusicStore/Models/Order.cs +++ b/src/MvcMusicStore/Models/Order.cs @@ -8,6 +8,11 @@ namespace MvcMusicStore.Models [Bind(Include = "FirstName,LastName,Address,City,State,PostalCode,Country,Phone,Email")] public class Order { + public Order() + { + OrderDetails = new List(); + } + [ScaffoldColumn(false)] public int OrderId { get; set; } diff --git a/src/MvcMusicStore/Models/SampleData.cs b/src/MvcMusicStore/Models/SampleData.cs index bf78680724..a43a5c2e0b 100644 --- a/src/MvcMusicStore/Models/SampleData.cs +++ b/src/MvcMusicStore/Models/SampleData.cs @@ -1,488 +1,3726 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Web; -using System.Data.Entity; namespace MvcMusicStore.Models { - public class SampleData : DropCreateDatabaseIfModelChanges + public class SampleData { - protected override void Seed(MusicStoreEntities context) + public void Seed(MusicStoreEntities context) { const string imgUrl = "~/Images/placeholder.png"; - var genres = AddGenres(context); - var artists = AddArtists(context); - AddAlbums(context, imgUrl, genres, artists); + AddAlbums(context, imgUrl, AddGenres(context), AddArtists(context)); context.SaveChanges(); } - private static void AddAlbums(MusicStoreEntities context, string imgUrl, List genres, List artists) + private static void AddAlbums( + MusicStoreEntities context, + string imgUrl, + List genres, + List artists) { - context.Albums.Add(new Album { Title = "The Best Of The Men At Work", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Men At Work"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "...And Justice For All", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "עד גבול האור", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "אריק אינשטיין"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Black Light Syndrome", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Terry Bozzio, Tony Levin & Steve Stevens"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "10,000 Days", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tool"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "11i", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Supreme Beings of Leisure"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "1960", Genre = genres.Single(g => g.Name == "Indie"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Soul-Junk"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "4x4=12 ", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "deadmau5"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Copland Celebration, Vol. I", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "London Symphony Orchestra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Lively Mind", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paul Oakenfold"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Matter of Life and Death", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Real Dead One", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Real Live One", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Rush of Blood to the Head", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Coldplay"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Soprano Inspired", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Britten Sinfonia, Ivor Bolton & Lesley Garrett"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A Winter Symphony", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Abbey Road", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Beatles"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ace Of Spades", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Motörhead"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Achtung Baby", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Acústico MTV", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Adams, John: The Chairman Dances", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Edo de Waart & San Francisco Symphony"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Adrenaline", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deftones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ænima", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tool"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Afrociberdelia", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chico Science & Nação Zumbi"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "After the Goldrush", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Neil Young"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Airdrawn Dagger", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sasha"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Album Title Goes Here", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "deadmau5"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 1]", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Black Label Society"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Alcohol Fueled Brewtality Live! [Disc 2]", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Black Label Society"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Alive 2007", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Daft Punk"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "All I Ask of You", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Amen (So Be It)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paddy Casey"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Animal Vehicle", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Axis of Awesome"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ao Vivo [IMPORT]", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Zeca Pagodinho"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Apocalyptic Love", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Slash"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Appetite for Destruction", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Guns N' Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Are You Experienced?", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jimi Hendrix"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Arquivo II", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Arquivo Os Paralamas Do Sucesso", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "A-Sides", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Soundgarden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Audioslave", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Audioslave"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Automatic for the People", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "R.E.M."), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Axé Bahia 2001", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Various Artists"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Babel", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Mumford & Sons"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bach: Goldberg Variations", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Wilhelm Kempff"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bach: The Brandenburg Concertos", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Orchestra of The Age of Enlightenment"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bach: The Cello Suites", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Yo-Yo Ma"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bach: Toccata & Fugue in D Minor", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ton Koopman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bad Motorfinger", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Soundgarden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Balls to the Wall", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Accept"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Banadeek Ta'ala", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Amr Diab"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Barbie Girl", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aqua"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bark at the Moon (Remastered)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bartok: Violin & Viola Concertos", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Yehudi Menuhin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Barulhinho Bom", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Marisa Monte"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "BBC Sessions [Disc 1] [Live]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "BBC Sessions [Disc 2] [Live]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Be Here Now", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Oasis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bedrock 11 Compiled & Mixed", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "John Digweed"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Berlioz: Symphonie Fantastique", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Michael Tilson Thomas"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Beyond Good And Evil", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Cult"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Big Bad Wolf ", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Armand Van Helden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Big Ones", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aerosmith"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Black Album", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Black Sabbath Vol. 4 (Remaster)", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Black Sabbath"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Black Sabbath", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Black Sabbath"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Black", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Blackwater Park", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Opeth"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Blizzard of Ozz", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Blood", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "In This Moment"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Blue Moods", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Incognito"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Blue", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Weezer"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bongo Fury", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Frank Zappa & Captain Beefheart"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Boys & Girls", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alabama Shakes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Brave New World", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "B-Sides 1980-1990", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Bunkka", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paul Oakenfold"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "By The Way", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Red Hot Chili Peppers"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cake: B-Sides and Rarities", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cake"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Californication", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Red Hot Chili Peppers"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Carmina Burana", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Boston Symphony Orchestra & Seiji Ozawa"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Carried to Dust (Bonus Track Version)", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Calexico"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Carry On", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chris Cornell"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cássia Eller - Sem Limite [Disc 1]", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cássia Eller"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chemical Wedding", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Bruce Dickinson"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chill: Brazil (Disc 1)", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Marcos Valle"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chill: Brazil (Disc 2)", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Antônio Carlos Jobim"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chocolate Starfish And The Hot Dog Flavored Water", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Limp Bizkit"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chronicle, Vol. 1", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Creedence Clearwater Revival"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Chronicle, Vol. 2", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Creedence Clearwater Revival"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ciao, Baby", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "TheStart"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cidade Negra - Hits", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cidade Negra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Classic Munkle: Turbo Edition", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Munkle"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Classics: The Best of Sarah Brightman", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Coda", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Come Away With Me", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Norah Jones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Come Taste The Band", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Comfort Eagle", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cake"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Common Reaction", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Uh Huh Her "), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Compositores", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "O Terço"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Contraband", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Velvet Revolver"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Core", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Stone Temple Pilots"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cornerstone", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Styx"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cosmicolor", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "M-Flo"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Cross", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Justice"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Culture of Fear", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Thievery Corporation"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Da Lama Ao Caos", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chico Science & Nação Zumbi"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Dakshina", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deva Premal"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Dark Side of the Moon", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pink Floyd"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Death Magnetic", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Deep End of Down", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Above the Fold"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Deep Purple In Rock", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Deixa Entrar", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Falamansa"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Deja Vu", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Crosby, Stills, Nash, and Young"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Di Korpu Ku Alma", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Lura"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Diary of a Madman (Remastered)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Diary of a Madman", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Dirt", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alice in Chains"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Diver Down", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Van Halen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Djavan Ao Vivo - Vol. 02", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Djavan"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Djavan Ao Vivo - Vol. 1", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Djavan"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Drum'n'bass for Papa", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Plug"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Duluth", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Trampled By Turtles"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Dummy", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Portishead"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Duos II", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Luciana Souza/Romero Lubambo"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Earl Scruggs and Friends", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Earl Scruggs"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Eden", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "El Camino", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Black Keys"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Elegant Gypsy", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Al di Meola"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Elements Of Life", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tiësto"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Elis Regina-Minha História", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Elis Regina"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Emergency On Planet Earth", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jamiroquai"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Emotion", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Papa Wemba"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "English Renaissance", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The King's Singers"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Every Kind of Light", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Posies"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Faceless", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Godsmack"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Facelift", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alice in Chains"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Fair Warning", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Van Halen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Fear of a Black Planet", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Public Enemy"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Fear Of The Dark", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Feels Like Home", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Norah Jones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Fireball", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Fly", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "For Those About To Rock We Salute You", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "AC/DC"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Four", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Blues Traveler"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Frank", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Amy Winehouse"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Further Down the Spiral", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nine Inch Nails"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Garage Inc. (Disc 1)", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Garage Inc. (Disc 2)", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Garbage", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Garbage"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Good News For People Who Love Bad News", Genre = genres.Single(g => g.Name == "Indie"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Modest Mouse"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Gordon", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Barenaked Ladies"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Górecki: Symphony No. 3", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Adrian Leaper & Doreen de Feis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Hits I", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Queen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Hits II", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Queen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Hits", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Duck Sauce"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Hits", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Lenny Kravitz"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Hits", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Lenny Kravitz"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greatest Kiss", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Kiss"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Greetings from Michigan", Genre = genres.Single(g => g.Name == "Indie"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sufjan Stevens"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Group Therapy", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Above & Beyond"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Handel: The Messiah (Highlights)", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Scholars Baroque Ensemble"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Haydn: Symphonies 99 - 104", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Royal Philharmonic Orchestra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Heart of the Night", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Spyro Gyra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Heart On", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Eagles of Death Metal"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Holy Diver", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dio"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Homework", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Daft Punk"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Hot Rocks, 1964-1971 (Disc 1)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Rolling Stones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Houses Of The Holy", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "How To Dismantle An Atomic Bomb", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Human", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Projected"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Hunky Dory", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "David Bowie"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Hymns", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Projected"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Hysteria", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Def Leppard"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Absentia", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Porcupine Tree"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Between", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paul Van Dyk"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Rainbows", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Radiohead"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Step", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Stevie Ray Vaughan & Double Trouble"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In the court of the Crimson King", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "King Crimson"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Through The Out Door", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Your Honor [Disc 1]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Foo Fighters"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "In Your Honor [Disc 2]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Foo Fighters"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Indestructible", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Rancid"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Infinity", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Journey"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Into The Light", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "David Coverdale"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Introspective", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pet Shop Boys"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Iron Maiden", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "ISAM", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Amon Tobin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "IV", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Jagged Little Pill", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alanis Morissette"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Jagged Little Pill", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alanis Morissette"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Jorge Ben Jor 25 Anos", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jorge Ben"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Jota Quest-1995", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jota Quest"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Kick", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "INXS"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Kill 'Em All", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Kind of Blue", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Miles Davis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "King For A Day Fool For A Lifetime", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Faith No More"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Kiss", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Carly Rae Jepsen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Last Call", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cayouche"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Le Freak", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chic"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Le Tigre", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Le Tigre"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Led Zeppelin I", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Led Zeppelin II", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Led Zeppelin III", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Let There Be Rock", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "AC/DC"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Little Earthquakes", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tori Amos"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live [Disc 1]", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Black Crowes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live [Disc 2]", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Black Crowes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live After Death", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live At Donington 1992 (Disc 1)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live At Donington 1992 (Disc 2)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live on Earth", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Cat Empire"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Live On Two Legs [Live]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pearl Jam"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Living After Midnight", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Judas Priest"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Living", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paddy Casey"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Load", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Love Changes Everything", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "MacArthur Park Suite", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Donna Summer"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Machine Head", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Magical Mystery Tour", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Beatles"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mais Do Mesmo", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Legião Urbana"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Maquinarama", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Skank"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Marasim", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jagjit Singh"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mascagni: Cavalleria Rusticana", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "James Levine"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Master of Puppets", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mechanics & Mathematics", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Venus Hum"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mental Jewelry", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Live"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Metallics", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "meteora", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Linkin Park"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Meus Momentos", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Gonzaguinha"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mezmerize", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "System Of A Down"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mezzanine", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Massive Attack"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Miles Ahead", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Miles Davis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Milton Nascimento Ao Vivo", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Milton Nascimento"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Minas", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Milton Nascimento"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Minha Historia", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chico Buarque"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Misplaced Childhood", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Marillion"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "MK III The Final Concerts [Disc 1]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Morning Dance", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Spyro Gyra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Motley Crue Greatest Hits", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Mötley Crüe"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Moving Pictures", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Rush"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mozart: Chamber Music", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nash Ensemble"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Mozart: Symphonies Nos. 40 & 41", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Berliner Philharmoniker"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Murder Ballads", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nick Cave and the Bad Seeds"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Music For The Jilted Generation", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Prodigy"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "My Generation - The Very Best Of The Who", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Who"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "My Name is Skrillex", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Skrillex"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Na Pista", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Cláudio Zoli"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Nevermind", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nirvana"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "New Adventures In Hi-Fi", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "R.E.M."), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "New Divide", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Linkin Park"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "New York Dolls", Genre = genres.Single(g => g.Name == "Punk"), Price = 8.99M, Artist = artists.Single(a => a.Name == "New York Dolls"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "News Of The World", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Queen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Nielsen: The Six Symphonies", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Göteborgs Symfoniker & Neeme Järvi"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Night At The Opera", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Queen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Night Castle", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Trans-Siberian Orchestra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Nkolo", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Lokua Kanza"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "No More Tears (Remastered)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "No Prayer For The Dying", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "No Security", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Rolling Stones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "O Brother, Where Art Thou?", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Alison Krauss"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "O Samba Poconé", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Skank"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "O(+>", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Prince"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Oceania", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Smashing Pumpkins"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Off the Deep End", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Weird Al"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "OK Computer", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Radiohead"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Olodum", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Olodum"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "One Love", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "David Guetta"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Operation: Mindcrime", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Queensrÿche"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Opiate", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tool"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Outbreak", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dennis Chambers"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Pachelbel: Canon & Gigue", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "English Concert & Trevor Pinnock"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Paid in Full", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eric B. and Rakim"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Para Siempre", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Vicente Fernandez"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Pause", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Four Tet"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Peace Sells... but Who's Buying", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Megadeth"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Physical Graffiti [Disc 1]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Physical Graffiti [Disc 2]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Physical Graffiti", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Piece Of Mind", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Pinkerton", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Weezer"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Plays Metallica By Four Cellos", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Apocalyptica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Pop", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Powerslave", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Prenda Minha", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Caetano Veloso"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Presence", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Pretty Hate Machine", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nine Inch Nails"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Prisoner", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Jezabels"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Privateering", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Mark Knopfler"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Prokofiev: Romeo & Juliet", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Michael Tilson Thomas"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Prokofiev: Symphony No.1", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sergei Prokofiev & Yuri Temirkanov"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "PSY's Best 6th Part 1", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "PSY"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Purcell: The Fairy Queen", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "London Classical Players"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Purpendicular", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Purple", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Stone Temple Pilots"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Quanta Gente Veio Ver (Live)", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Gilberto Gil"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Quanta Gente Veio ver--Bônus De Carnaval", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Gilberto Gil"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Quiet Songs", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aisha Duo"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Raices", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Los Tigres del Norte"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Raising Hell", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Run DMC"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Raoul and the Kings of Spain ", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tears For Fears"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rattle And Hum", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Raul Seixas", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Raul Seixas"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Recovery [Explicit]", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eminem"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Reign In Blood", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Slayer"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Relayed", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Yes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "ReLoad", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Respighi:Pines of Rome", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eugene Ormandy"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Restless and Wild", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Accept"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Retrospective I (1974-1980)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Rush"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Revelations", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Audioslave"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Revolver", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Beatles"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ride the Lighting ", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ride The Lightning", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ring My Bell", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Anita Ward"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Riot Act", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pearl Jam"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rise of the Phoenix", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Before the Dawn"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rock In Rio [CD1]", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rock In Rio [CD2]", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rock In Rio [CD2]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Roda De Funk", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Funk Como Le Gusta"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Room for Squares", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "John Mayer"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Root Down", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jimmy Smith"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rounds", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Four Tet"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rubber Factory", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Black Keys"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Rust in Peace", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Megadeth"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Sambas De Enredo 2001", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Various Artists"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Santana - As Years Go By", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Santana"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Santana Live", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Santana"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Saturday Night Fever", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Bee Gees"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Scary Monsters and Nice Sprites", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Skrillex"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Scheherazade", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chicago Symphony Orchestra & Fritz Reiner"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "SCRIABIN: Vers la flamme", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Christopher O'Riley"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Second Coming", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Stone Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Serie Sem Limite (Disc 1)", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tim Maia"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Serie Sem Limite (Disc 2)", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tim Maia"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Serious About Men", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Rubberbandits"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Seventh Son of a Seventh Son", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Short Bus", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Filter"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Sibelius: Finlandia", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Berliner Philharmoniker"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Singles Collection", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "David Bowie"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Six Degrees of Inner Turbulence", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dream Theater"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Slave To The Empire", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "T&N"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Slaves And Masters", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Slouching Towards Bethlehem", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Robert James"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Smash", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Offspring"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Something Special", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dolly Parton"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Somewhere in Time", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Song(s) You Know By Heart", Genre = genres.Single(g => g.Name == "Country"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Jimmy Buffett"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Sound of Music", Genre = genres.Single(g => g.Name == "Punk"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Adicts"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "South American Getaway", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The 12 Cellists of The Berlin Philharmonic"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Sozinho Remix Ao Vivo", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Caetano Veloso"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Speak of the Devil", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Spiritual State", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nujabes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "St. Anger", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Metallica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Still Life", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Opeth"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Stop Making Sense", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Talking Heads"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Stormbringer", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Stranger than Fiction", Genre = genres.Single(g => g.Name == "Punk"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Bad Religion"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Strauss: Waltzes", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eugene Ormandy"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Supermodified", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Amon Tobin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Supernatural", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Santana"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Surfing with the Alien (Remastered)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Joe Satriani"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Switched-On Bach", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Wendy Carlos"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Symphony", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Szymanowski: Piano Works, Vol. 1", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Martin Roscoe"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Tchaikovsky: The Nutcracker", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "London Symphony Orchestra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ted Nugent", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ted Nugent"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Teflon Don", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Rick Ross"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Tell Another Joke at the Ol' Choppin' Block", Genre = genres.Single(g => g.Name == "Indie"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Danielson Famile"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Temple of the Dog", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Temple of the Dog"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Ten", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pearl Jam"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Texas Flood", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Stevie Ray Vaughan"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Battle Rages On", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Beast Live", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Paul D'Ianno"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best Of 1980-1990", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best of 1990–2000", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best of Beethoven", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Nicolaus Esterhazy Sinfonia"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best Of Billy Cobham", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Billy Cobham"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best of Ed Motta", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ed Motta"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Best Of Van Halen, Vol. I", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Van Halen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Bridge", Genre = genres.Single(g => g.Name == "R&B"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Melanie Fiona"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Cage", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tygers of Pan Tang"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Chicago Transit Authority", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Chicago "), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Chronic", Genre = genres.Single(g => g.Name == "Rap"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dr. Dre"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Colour And The Shape", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Foo Fighters"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Crane Wife", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Decemberists"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Cream Of Clapton", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eric Clapton"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Cure", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Cure"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Dark Side Of The Moon", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pink Floyd"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Divine Conspiracy", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Epica"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Doors", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Doors"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Dream of the Blue Turtles", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sting"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Essential Miles Davis [Disc 1]", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Miles Davis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Essential Miles Davis [Disc 2]", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Miles Davis"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Final Concerts (Disc 2)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deep Purple"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Final Frontier", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Head and the Heart", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Head and the Heart"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Joshua Tree", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Last Night of the Proms", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "BBC Concert Orchestra"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Lumineers", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Lumineers"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Number of The Beast", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Number of The Beast", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Police Greatest Hits", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Police"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Song Remains The Same (Disc 1)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Song Remains The Same (Disc 2)", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Southern Harmony and Musical Companion", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Black Crowes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Spade", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Butch Walker & The Black Widows"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Stone Roses", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Stone Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Suburbs", Genre = genres.Single(g => g.Name == "Indie"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Arcade Fire"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Three Tenors Disc1/Disc2", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Carreras, Pavarotti, Domingo"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Trees They Grow So High", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The Wall", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pink Floyd"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "The X Factor", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Them Crooked Vultures", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Them Crooked Vultures"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "This Is Happening", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "LCD Soundsystem"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Thunder, Lightning, Strike", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Go! Team"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Time to Say Goodbye", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sarah Brightman"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Time, Love & Tenderness", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Michael Bolton"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Tomorrow Starts Today", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Mobile"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Tribute", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Tuesday Night Music Club", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sheryl Crow"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Umoja", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "BLØF"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Under the Pink", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tori Amos"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Undertow", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Tool"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Un-Led-Ed", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Dread Zeppelin"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Unplugged [Live]", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Kiss"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Unplugged", Genre = genres.Single(g => g.Name == "Blues"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eric Clapton"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Unplugged", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Eric Clapton"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Untrue", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Burial"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Use Your Illusion I", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Guns N' Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Use Your Illusion II", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Guns N' Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Use Your Illusion II", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Guns N' Roses"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Van Halen III", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Van Halen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Van Halen", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Van Halen"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Version 2.0", Genre = genres.Single(g => g.Name == "Alternative"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Garbage"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Vinicius De Moraes", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Vinícius De Moraes"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Virtual XI", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Iron Maiden"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Voodoo Lounge", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Rolling Stones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Vozes do MPB", Genre = genres.Single(g => g.Name == "Latin"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Various Artists"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Vs.", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pearl Jam"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Wagner: Favourite Overtures", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sir Georg Solti & Wiener Philharmoniker"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Walking Into Clarksdale", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Page & Plant"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Wapi Yo", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Lokua Kanza"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "War", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Warner 25 Anos", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Antônio Carlos Jobim"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Wasteland R&Btheque", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Raunchy"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Watermark", Genre = genres.Single(g => g.Name == "Electronic"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Enya"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "We Were Exploding Anyway", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "65daysofstatic"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Weill: The Seven Deadly Sins", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Orchestre de l'Opéra de Lyon"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "White Pony", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Deftones"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Who's Next", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Who"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Wish You Were Here", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Pink Floyd"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "With Oden on Our Side", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Amon Amarth"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Worlds", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aaron Goldberg"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Worship Music", Genre = genres.Single(g => g.Name == "Metal"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Anthrax"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "X&Y", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Coldplay"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Xinti", Genre = genres.Single(g => g.Name == "World"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Sara Tavares"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Yano", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Yano"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Yesterday Once More Disc 1/Disc 2", Genre = genres.Single(g => g.Name == "Pop"), Price = 8.99M, Artist = artists.Single(a => a.Name == "The Carpenters"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Zooropa", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "U2"), AlbumArtUrl = imgUrl }); - context.Albums.Add(new Album { Title = "Zoso", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Led Zeppelin"), AlbumArtUrl = imgUrl }); + var albums = new List + { + new Album + { + Title = "The Best Of The Men At Work", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Men At Work"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "...And Justice For All", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "עד גבול האור", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "אריק אינשטיין"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Black Light Syndrome", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Terry Bozzio, Tony Levin & Steve Stevens"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "10,000 Days", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tool"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "11i", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Supreme Beings of Leisure"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "1960", + Genre = genres.Single(g => g.Name == "Indie"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Soul-Junk"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "4x4=12 ", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "deadmau5"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Copland Celebration, Vol. I", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "London Symphony Orchestra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Lively Mind", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paul Oakenfold"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Matter of Life and Death", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Real Dead One", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Real Live One", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Rush of Blood to the Head", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Coldplay"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Soprano Inspired", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Britten Sinfonia, Ivor Bolton & Lesley Garrett"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A Winter Symphony", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Abbey Road", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Beatles"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ace Of Spades", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Motörhead"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Achtung Baby", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Acústico MTV", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Adams, John: The Chairman Dances", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Edo de Waart & San Francisco Symphony"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Adrenaline", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deftones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ænima", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tool"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Afrociberdelia", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chico Science & Nação Zumbi"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "After the Goldrush", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Neil Young"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Airdrawn Dagger", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sasha"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Album Title Goes Here", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "deadmau5"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Alcohol Fueled Brewtality Live! [Disc 1]", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Black Label Society"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Alcohol Fueled Brewtality Live! [Disc 2]", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Black Label Society"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Alive 2007", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Daft Punk"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "All I Ask of You", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Amen (So Be It)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paddy Casey"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Animal Vehicle", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Axis of Awesome"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ao Vivo [IMPORT]", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Zeca Pagodinho"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Apocalyptic Love", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Slash"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Appetite for Destruction", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Guns N' Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Are You Experienced?", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jimi Hendrix"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Arquivo II", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Arquivo Os Paralamas Do Sucesso", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Os Paralamas Do Sucesso"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "A-Sides", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Soundgarden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Audioslave", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Audioslave"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Automatic for the People", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "R.E.M."), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Axé Bahia 2001", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Various Artists"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Babel", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Mumford & Sons"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bach: Goldberg Variations", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Wilhelm Kempff"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bach: The Brandenburg Concertos", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Orchestra of The Age of Enlightenment"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bach: The Cello Suites", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Yo-Yo Ma"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bach: Toccata & Fugue in D Minor", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ton Koopman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bad Motorfinger", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Soundgarden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Balls to the Wall", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Accept"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Banadeek Ta'ala", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Amr Diab"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Barbie Girl", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Aqua"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bark at the Moon (Remastered)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bartok: Violin & Viola Concertos", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Yehudi Menuhin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Barulhinho Bom", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Marisa Monte"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "BBC Sessions [Disc 1] [Live]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "BBC Sessions [Disc 2] [Live]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Be Here Now", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Oasis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bedrock 11 Compiled & Mixed", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "John Digweed"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Berlioz: Symphonie Fantastique", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Michael Tilson Thomas"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Beyond Good And Evil", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Cult"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Big Bad Wolf ", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Armand Van Helden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Big Ones", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Aerosmith"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Black Album", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Black Sabbath Vol. 4 (Remaster)", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Black Sabbath"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Black Sabbath", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Black Sabbath"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Black", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Blackwater Park", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Opeth"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Blizzard of Ozz", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Blood", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "In This Moment"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Blue Moods", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Incognito"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Blue", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Weezer"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bongo Fury", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Frank Zappa & Captain Beefheart"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Boys & Girls", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alabama Shakes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Brave New World", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "B-Sides 1980-1990", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Bunkka", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paul Oakenfold"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "By The Way", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Red Hot Chili Peppers"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cake: B-Sides and Rarities", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cake"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Californication", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Red Hot Chili Peppers"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Carmina Burana", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Boston Symphony Orchestra & Seiji Ozawa"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Carried to Dust (Bonus Track Version)", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Calexico"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Carry On", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chris Cornell"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cássia Eller - Sem Limite [Disc 1]", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cássia Eller"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chemical Wedding", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Bruce Dickinson"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chill: Brazil (Disc 1)", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Marcos Valle"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chill: Brazil (Disc 2)", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Antônio Carlos Jobim"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chocolate Starfish And The Hot Dog Flavored Water", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Limp Bizkit"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chronicle, Vol. 1", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Creedence Clearwater Revival"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Chronicle, Vol. 2", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Creedence Clearwater Revival"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ciao, Baby", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "TheStart"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cidade Negra - Hits", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cidade Negra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Classic Munkle: Turbo Edition", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Munkle"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Classics: The Best of Sarah Brightman", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Coda", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Come Away With Me", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Norah Jones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Come Taste The Band", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Comfort Eagle", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cake"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Common Reaction", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Uh Huh Her "), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Compositores", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "O Terço"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Contraband", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Velvet Revolver"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Core", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Stone Temple Pilots"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cornerstone", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Styx"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cosmicolor", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "M-Flo"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Cross", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Justice"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Culture of Fear", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Thievery Corporation"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Da Lama Ao Caos", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chico Science & Nação Zumbi"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Dakshina", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deva Premal"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Dark Side of the Moon", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pink Floyd"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Death Magnetic", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Deep End of Down", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Above the Fold"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Deep Purple In Rock", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Deixa Entrar", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Falamansa"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Deja Vu", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Crosby, Stills, Nash, and Young"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Di Korpu Ku Alma", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Lura"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Diary of a Madman (Remastered)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Diary of a Madman", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Dirt", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alice in Chains"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Diver Down", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Van Halen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Djavan Ao Vivo - Vol. 02", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Djavan"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Djavan Ao Vivo - Vol. 1", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Djavan"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Drum'n'bass for Papa", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Plug"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Duluth", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Trampled By Turtles"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Dummy", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Portishead"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Duos II", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Luciana Souza/Romero Lubambo"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Earl Scruggs and Friends", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Earl Scruggs"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Eden", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "El Camino", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Black Keys"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Elegant Gypsy", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Al di Meola"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Elements Of Life", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tiësto"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Elis Regina-Minha História", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Elis Regina"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Emergency On Planet Earth", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jamiroquai"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Emotion", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Papa Wemba"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "English Renaissance", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The King's Singers"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Every Kind of Light", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Posies"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Faceless", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Godsmack"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Facelift", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alice in Chains"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Fair Warning", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Van Halen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Fear of a Black Planet", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Public Enemy"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Fear Of The Dark", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Feels Like Home", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Norah Jones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Fireball", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Fly", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "For Those About To Rock We Salute You", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "AC/DC"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Four", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Blues Traveler"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Frank", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Amy Winehouse"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Further Down the Spiral", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nine Inch Nails"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Garage Inc. (Disc 1)", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Garage Inc. (Disc 2)", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Garbage", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Garbage"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Good News For People Who Love Bad News", + Genre = genres.Single(g => g.Name == "Indie"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Modest Mouse"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Gordon", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Barenaked Ladies"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Górecki: Symphony No. 3", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Adrian Leaper & Doreen de Feis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Hits I", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Queen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Hits II", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Queen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Hits", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Duck Sauce"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Hits", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Lenny Kravitz"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Hits", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Lenny Kravitz"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greatest Kiss", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Kiss"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Greetings from Michigan", + Genre = genres.Single(g => g.Name == "Indie"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sufjan Stevens"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Group Therapy", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Above & Beyond"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Handel: The Messiah (Highlights)", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Scholars Baroque Ensemble"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Haydn: Symphonies 99 - 104", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Royal Philharmonic Orchestra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Heart of the Night", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Spyro Gyra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Heart On", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Eagles of Death Metal"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Holy Diver", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dio"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Homework", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Daft Punk"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Hot Rocks, 1964-1971 (Disc 1)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Rolling Stones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Houses Of The Holy", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "How To Dismantle An Atomic Bomb", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Human", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Projected"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Hunky Dory", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "David Bowie"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Hymns", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Projected"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Hysteria", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Def Leppard"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Absentia", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Porcupine Tree"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Between", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paul Van Dyk"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Rainbows", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Radiohead"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Step", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Stevie Ray Vaughan & Double Trouble"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In the court of the Crimson King", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "King Crimson"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Through The Out Door", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Your Honor [Disc 1]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Foo Fighters"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "In Your Honor [Disc 2]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Foo Fighters"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Indestructible", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Rancid"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Infinity", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Journey"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Into The Light", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "David Coverdale"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Introspective", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pet Shop Boys"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Iron Maiden", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "ISAM", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Amon Tobin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "IV", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Jagged Little Pill", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alanis Morissette"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Jagged Little Pill", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alanis Morissette"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Jorge Ben Jor 25 Anos", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jorge Ben"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Jota Quest-1995", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jota Quest"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Kick", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "INXS"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Kill 'Em All", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Kind of Blue", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Miles Davis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "King For A Day Fool For A Lifetime", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Faith No More"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Kiss", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Carly Rae Jepsen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Last Call", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cayouche"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Le Freak", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chic"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Le Tigre", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Le Tigre"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Led Zeppelin I", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Led Zeppelin II", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Led Zeppelin III", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Let There Be Rock", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "AC/DC"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Little Earthquakes", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tori Amos"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live [Disc 1]", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Black Crowes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live [Disc 2]", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Black Crowes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live After Death", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live At Donington 1992 (Disc 1)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live At Donington 1992 (Disc 2)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live on Earth", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Cat Empire"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Live On Two Legs [Live]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pearl Jam"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Living After Midnight", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Judas Priest"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Living", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paddy Casey"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Load", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Love Changes Everything", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "MacArthur Park Suite", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Donna Summer"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Machine Head", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Magical Mystery Tour", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Beatles"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mais Do Mesmo", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Legião Urbana"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Maquinarama", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Skank"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Marasim", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jagjit Singh"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mascagni: Cavalleria Rusticana", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "James Levine"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Master of Puppets", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mechanics & Mathematics", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Venus Hum"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mental Jewelry", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Live"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Metallics", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "meteora", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Linkin Park"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Meus Momentos", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Gonzaguinha"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mezmerize", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "System Of A Down"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mezzanine", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Massive Attack"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Miles Ahead", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Miles Davis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Milton Nascimento Ao Vivo", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Milton Nascimento"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Minas", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Milton Nascimento"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Minha Historia", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chico Buarque"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Misplaced Childhood", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Marillion"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "MK III The Final Concerts [Disc 1]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Morning Dance", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Spyro Gyra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Motley Crue Greatest Hits", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Mötley Crüe"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Moving Pictures", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Rush"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mozart: Chamber Music", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nash Ensemble"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Mozart: Symphonies Nos. 40 & 41", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Berliner Philharmoniker"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Murder Ballads", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nick Cave and the Bad Seeds"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Music For The Jilted Generation", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Prodigy"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "My Generation - The Very Best Of The Who", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Who"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "My Name is Skrillex", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Skrillex"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Na Pista", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Cláudio Zoli"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Nevermind", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nirvana"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "New Adventures In Hi-Fi", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "R.E.M."), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "New Divide", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Linkin Park"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "New York Dolls", + Genre = genres.Single(g => g.Name == "Punk"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "New York Dolls"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "News Of The World", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Queen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Nielsen: The Six Symphonies", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Göteborgs Symfoniker & Neeme Järvi"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Night At The Opera", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Queen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Night Castle", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Trans-Siberian Orchestra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Nkolo", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Lokua Kanza"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "No More Tears (Remastered)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "No Prayer For The Dying", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "No Security", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Rolling Stones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "O Brother, Where Art Thou?", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Alison Krauss"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "O Samba Poconé", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Skank"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "O(+>", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Prince"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Oceania", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Smashing Pumpkins"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Off the Deep End", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Weird Al"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "OK Computer", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Radiohead"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Olodum", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Olodum"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "One Love", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "David Guetta"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Operation: Mindcrime", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Queensrÿche"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Opiate", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tool"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Outbreak", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dennis Chambers"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Pachelbel: Canon & Gigue", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "English Concert & Trevor Pinnock"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Paid in Full", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eric B. and Rakim"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Para Siempre", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Vicente Fernandez"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Pause", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Four Tet"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Peace Sells... but Who's Buying", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Megadeth"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Physical Graffiti [Disc 1]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Physical Graffiti [Disc 2]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Physical Graffiti", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Piece Of Mind", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Pinkerton", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Weezer"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Plays Metallica By Four Cellos", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Apocalyptica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Pop", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Powerslave", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Prenda Minha", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Caetano Veloso"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Presence", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Pretty Hate Machine", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nine Inch Nails"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Prisoner", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Jezabels"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Privateering", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Mark Knopfler"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Prokofiev: Romeo & Juliet", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Michael Tilson Thomas"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Prokofiev: Symphony No.1", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sergei Prokofiev & Yuri Temirkanov"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "PSY's Best 6th Part 1", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "PSY"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Purcell: The Fairy Queen", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "London Classical Players"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Purpendicular", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Purple", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Stone Temple Pilots"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Quanta Gente Veio Ver (Live)", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Gilberto Gil"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Quanta Gente Veio ver--Bônus De Carnaval", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Gilberto Gil"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Quiet Songs", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Aisha Duo"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Raices", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Los Tigres del Norte"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Raising Hell", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Run DMC"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Raoul and the Kings of Spain ", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tears For Fears"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rattle And Hum", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Raul Seixas", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Raul Seixas"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Recovery [Explicit]", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eminem"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Reign In Blood", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Slayer"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Relayed", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Yes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "ReLoad", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Respighi:Pines of Rome", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eugene Ormandy"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Restless and Wild", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Accept"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Retrospective I (1974-1980)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Rush"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Revelations", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Audioslave"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Revolver", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Beatles"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ride the Lighting ", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ride The Lightning", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ring My Bell", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Anita Ward"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Riot Act", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pearl Jam"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rise of the Phoenix", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Before the Dawn"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rock In Rio [CD1]", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rock In Rio [CD2]", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rock In Rio [CD2]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Roda De Funk", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Funk Como Le Gusta"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Room for Squares", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "John Mayer"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Root Down", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jimmy Smith"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rounds", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Four Tet"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rubber Factory", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Black Keys"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Rust in Peace", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Megadeth"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Sambas De Enredo 2001", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Various Artists"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Santana - As Years Go By", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Santana"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Santana Live", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Santana"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Saturday Night Fever", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Bee Gees"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Scary Monsters and Nice Sprites", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Skrillex"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Scheherazade", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chicago Symphony Orchestra & Fritz Reiner"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "SCRIABIN: Vers la flamme", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Christopher O'Riley"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Second Coming", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Stone Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Serie Sem Limite (Disc 1)", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tim Maia"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Serie Sem Limite (Disc 2)", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tim Maia"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Serious About Men", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Rubberbandits"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Seventh Son of a Seventh Son", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Short Bus", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Filter"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Sibelius: Finlandia", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Berliner Philharmoniker"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Singles Collection", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "David Bowie"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Six Degrees of Inner Turbulence", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dream Theater"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Slave To The Empire", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "T&N"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Slaves And Masters", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Slouching Towards Bethlehem", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Robert James"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Smash", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Offspring"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Something Special", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dolly Parton"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Somewhere in Time", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Song(s) You Know By Heart", + Genre = genres.Single(g => g.Name == "Country"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Jimmy Buffett"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Sound of Music", + Genre = genres.Single(g => g.Name == "Punk"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Adicts"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "South American Getaway", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The 12 Cellists of The Berlin Philharmonic"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Sozinho Remix Ao Vivo", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Caetano Veloso"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Speak of the Devil", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Spiritual State", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nujabes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "St. Anger", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Metallica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Still Life", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Opeth"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Stop Making Sense", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Talking Heads"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Stormbringer", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Stranger than Fiction", + Genre = genres.Single(g => g.Name == "Punk"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Bad Religion"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Strauss: Waltzes", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eugene Ormandy"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Supermodified", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Amon Tobin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Supernatural", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Santana"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Surfing with the Alien (Remastered)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Joe Satriani"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Switched-On Bach", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Wendy Carlos"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Symphony", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Szymanowski: Piano Works, Vol. 1", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Martin Roscoe"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Tchaikovsky: The Nutcracker", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "London Symphony Orchestra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ted Nugent", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ted Nugent"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Teflon Don", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Rick Ross"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Tell Another Joke at the Ol' Choppin' Block", + Genre = genres.Single(g => g.Name == "Indie"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Danielson Famile"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Temple of the Dog", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Temple of the Dog"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Ten", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pearl Jam"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Texas Flood", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Stevie Ray Vaughan"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Battle Rages On", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Beast Live", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Paul D'Ianno"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best Of 1980-1990", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best of 1990–2000", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best of Beethoven", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Nicolaus Esterhazy Sinfonia"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best Of Billy Cobham", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Billy Cobham"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best of Ed Motta", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ed Motta"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Best Of Van Halen, Vol. I", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Van Halen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Bridge", + Genre = genres.Single(g => g.Name == "R&B"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Melanie Fiona"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Cage", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tygers of Pan Tang"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Chicago Transit Authority", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Chicago "), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Chronic", + Genre = genres.Single(g => g.Name == "Rap"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dr. Dre"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Colour And The Shape", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Foo Fighters"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Crane Wife", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Decemberists"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Cream Of Clapton", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eric Clapton"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Cure", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Cure"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Dark Side Of The Moon", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pink Floyd"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Divine Conspiracy", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Epica"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Doors", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Doors"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Dream of the Blue Turtles", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sting"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Essential Miles Davis [Disc 1]", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Miles Davis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Essential Miles Davis [Disc 2]", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Miles Davis"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Final Concerts (Disc 2)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deep Purple"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Final Frontier", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Head and the Heart", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Head and the Heart"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Joshua Tree", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Last Night of the Proms", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "BBC Concert Orchestra"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Lumineers", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Lumineers"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Number of The Beast", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Number of The Beast", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Police Greatest Hits", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Police"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Song Remains The Same (Disc 1)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Song Remains The Same (Disc 2)", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Southern Harmony and Musical Companion", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Black Crowes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Spade", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Butch Walker & The Black Widows"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Stone Roses", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Stone Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Suburbs", + Genre = genres.Single(g => g.Name == "Indie"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Arcade Fire"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Three Tenors Disc1/Disc2", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Carreras, Pavarotti, Domingo"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Trees They Grow So High", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The Wall", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pink Floyd"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "The X Factor", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Them Crooked Vultures", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Them Crooked Vultures"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "This Is Happening", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "LCD Soundsystem"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Thunder, Lightning, Strike", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Go! Team"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Time to Say Goodbye", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sarah Brightman"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Time, Love & Tenderness", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Michael Bolton"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Tomorrow Starts Today", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Mobile"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Tribute", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Ozzy Osbourne"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Tuesday Night Music Club", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sheryl Crow"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Umoja", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "BLØF"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Under the Pink", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tori Amos"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Undertow", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Tool"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Un-Led-Ed", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Dread Zeppelin"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Unplugged [Live]", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Kiss"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Unplugged", + Genre = genres.Single(g => g.Name == "Blues"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eric Clapton"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Unplugged", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Eric Clapton"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Untrue", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Burial"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Use Your Illusion I", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Guns N' Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Use Your Illusion II", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Guns N' Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Use Your Illusion II", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Guns N' Roses"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Van Halen III", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Van Halen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Van Halen", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Van Halen"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Version 2.0", + Genre = genres.Single(g => g.Name == "Alternative"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Garbage"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Vinicius De Moraes", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Vinícius De Moraes"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Virtual XI", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Iron Maiden"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Voodoo Lounge", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Rolling Stones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Vozes do MPB", + Genre = genres.Single(g => g.Name == "Latin"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Various Artists"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Vs.", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pearl Jam"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Wagner: Favourite Overtures", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sir Georg Solti & Wiener Philharmoniker"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Walking Into Clarksdale", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Page & Plant"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Wapi Yo", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Lokua Kanza"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "War", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Warner 25 Anos", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Antônio Carlos Jobim"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Wasteland R&Btheque", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Raunchy"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Watermark", + Genre = genres.Single(g => g.Name == "Electronic"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Enya"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "We Were Exploding Anyway", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "65daysofstatic"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Weill: The Seven Deadly Sins", + Genre = genres.Single(g => g.Name == "Classical"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Orchestre de l'Opéra de Lyon"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "White Pony", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Deftones"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Who's Next", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Who"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Wish You Were Here", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Pink Floyd"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "With Oden on Our Side", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Amon Amarth"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Worlds", + Genre = genres.Single(g => g.Name == "Jazz"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Aaron Goldberg"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Worship Music", + Genre = genres.Single(g => g.Name == "Metal"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Anthrax"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "X&Y", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Coldplay"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Xinti", + Genre = genres.Single(g => g.Name == "World"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Sara Tavares"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Yano", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Yano"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Yesterday Once More Disc 1/Disc 2", + Genre = genres.Single(g => g.Name == "Pop"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "The Carpenters"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Zooropa", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "U2"), + AlbumArtUrl = imgUrl + }, + new Album + { + Title = "Zoso", + Genre = genres.Single(g => g.Name == "Rock"), + Price = 8.99M, + Artist = artists.Single(a => a.Name == "Led Zeppelin"), + AlbumArtUrl = imgUrl + }, + }; + + context.Albums.AddRange(albums); } private static List AddArtists(MusicStoreEntities context) @@ -791,10 +4029,11 @@ namespace MvcMusicStore.Models new Artist { Name = "Yes" }, new Artist { Name = "Yo-Yo Ma" }, new Artist { Name = "Zeca Pagodinho" }, - new Artist { Name = "אריק אינשטיין"} + new Artist { Name = "אריק אינשטיין" } }; - artists.ForEach(s => context.Artists.Add(s)); - context.SaveChanges(); + + context.Artists.AddRange(artists); + return artists; } @@ -819,8 +4058,8 @@ namespace MvcMusicStore.Models new Genre { Name = "World" } }; - genres.ForEach(s => context.Genres.Add(s)); - context.SaveChanges(); + context.Genres.AddRange(genres); + return genres; } } diff --git a/src/MvcMusicStore/Models/ShoppingCart.cs b/src/MvcMusicStore/Models/ShoppingCart.cs index edff6b9fee..cab45712fe 100644 --- a/src/MvcMusicStore/Models/ShoppingCart.cs +++ b/src/MvcMusicStore/Models/ShoppingCart.cs @@ -1,195 +1,159 @@ using System; using System.Collections.Generic; +using System.Data.Entity; using System.Linq; +using System.Threading.Tasks; using System.Web; using System.Web.Mvc; namespace MvcMusicStore.Models { - public partial class ShoppingCart + public class ShoppingCart { - MusicStoreEntities _db; - string ShoppingCartId { get; set; } - - public ShoppingCart(MusicStoreEntities db) - { - _db = db; - } - public const string CartSessionKey = "CartId"; - public static ShoppingCart GetCart(MusicStoreEntities db, HttpContextBase context) + private readonly MusicStoreEntities _storeContext; + private readonly string _cartId; + + private ShoppingCart(MusicStoreEntities storeContext, string cartId) { - var cart = new ShoppingCart(db); - cart.ShoppingCartId = cart.GetCartId(context); - return cart; + _storeContext = storeContext; + _cartId = cartId; } - // Helper method to simplify shopping cart calls - public static ShoppingCart GetCart(MusicStoreEntities db, Controller controller) + public static ShoppingCart GetCart(MusicStoreEntities storeContext, Controller controller) { - return GetCart(db, controller.HttpContext); + return new ShoppingCart(storeContext, GetCartId(controller.HttpContext)); } - public void AddToCart(Album album) - { - // Get the matching cart and album instances - var cartItem = _db.Carts.SingleOrDefault( - c => c.CartId == ShoppingCartId - && c.AlbumId == album.AlbumId); - - if (cartItem == null) - { - // Create a new cart item if no cart item exists - cartItem = new Cart - { - AlbumId = album.AlbumId, - CartId = ShoppingCartId, - Count = 1, - DateCreated = DateTime.Now - }; - - _db.Carts.Add(cartItem); - } - else - { - // If the item does exist in the cart, then add one to the quantity - cartItem.Count++; - } - } - - public int RemoveFromCart(int id) - { - // Get the cart - var cartItem = _db.Carts.Single( - cart => cart.CartId == ShoppingCartId - && cart.RecordId == id); - - int itemCount = 0; - - if (cartItem != null) - { - if (cartItem.Count > 1) - { - cartItem.Count--; - itemCount = cartItem.Count; - } - else - { - _db.Carts.Remove(cartItem); - } - - } - - return itemCount; - } - - public void EmptyCart() - { - var cartItems = _db.Carts.Where(cart => cart.CartId == ShoppingCartId); - - foreach (var cartItem in cartItems) - { - _db.Carts.Remove(cartItem); - } - - } - - public List GetCartItems() - { - return _db.Carts.Where(cart => cart.CartId == ShoppingCartId).ToList(); - } - - public int GetCount() - { - // Get the count of each item in the cart and sum them up - int? count = (from cartItems in _db.Carts - where cartItems.CartId == ShoppingCartId - select (int?)cartItems.Count).Sum(); - - // Return 0 if all entries are null - return count ?? 0; - } - - public decimal GetTotal() - { - // Multiply album price by count of that album to get - // the current price for each of those albums in the cart - // sum all album price totals to get the cart total - decimal? total = (from cartItems in _db.Carts - where cartItems.CartId == ShoppingCartId - select (int?)cartItems.Count * cartItems.Album.Price).Sum(); - return total ?? decimal.Zero; - } - - public int CreateOrder(Order order) - { - decimal orderTotal = 0; - - var cartItems = GetCartItems(); - - // Iterate over the items in the cart, adding the order details for each - foreach (var item in cartItems) - { - var album = _db.Albums.Find(item.AlbumId); - - var orderDetail = new OrderDetail - { - AlbumId = item.AlbumId, - OrderId = order.OrderId, - UnitPrice = album.Price, - Quantity = item.Count, - }; - - // Set the order total of the shopping cart - orderTotal += (item.Count * item.Album.Price); - - _db.OrderDetails.Add(orderDetail); - } - - // Set the order's total to the orderTotal count - order.Total = orderTotal; - - // Empty the shopping cart - EmptyCart(); - - // Return the OrderId as the confirmation number - return order.OrderId; - } - - // We're using HttpContextBase to allow access to cookies. - public string GetCartId(HttpContextBase context) + private static string GetCartId(HttpContextBase context) { if (context.Session[CartSessionKey] == null) { - if (!string.IsNullOrWhiteSpace(context.User.Identity.Name)) - { - context.Session[CartSessionKey] = context.User.Identity.Name; - } - else - { - // Generate a new random GUID using System.Guid class - Guid tempCartId = Guid.NewGuid(); + var username = context.User.Identity.Name; - // Send tempCartId back to client as a cookie - context.Session[CartSessionKey] = tempCartId.ToString(); - } + context.Session[CartSessionKey] = !string.IsNullOrWhiteSpace(username) + ? username + : Guid.NewGuid().ToString(); } return context.Session[CartSessionKey].ToString(); } - // When a user has logged in, migrate their shopping cart to - // be associated with their username - public void MigrateCart(string userName) + public async Task AddToCart(Album album) { - var shoppingCart = _db.Carts.Where(c => c.CartId == ShoppingCartId); + var cartItem = await GetCartItem(album.AlbumId); - foreach (Cart item in shoppingCart) + if (cartItem == null) + { + cartItem = new Cart + { + AlbumId = album.AlbumId, + CartId = _cartId, + Count = 1, + DateCreated = DateTime.Now + }; + + _storeContext.Carts.Add(cartItem); + } + else + { + cartItem.Count++; + } + } + + public async Task RemoveFromCart(int id) + { + var cartItem = await GetCartItem(id); + + if (cartItem != null) + { + if (cartItem.Count > 1) + { + return --cartItem.Count; + } + + _storeContext.Carts.Remove(cartItem); + } + + return 0; + } + + private Task GetCartItem(int albumId) + { + return _storeContext.Carts.SingleOrDefaultAsync( + c => c.CartId == _cartId && c.AlbumId == albumId); + } + + public IQueryable GetCartItems() + { + return _storeContext.Carts.Where(c => c.CartId == _cartId); + } + + public Task GetCount() + { + return _storeContext.Carts + .Where(c => c.CartId == _cartId) + .Select(c => c.Count) + .SumAsync(); + } + + public Task GetTotal() + { + return _storeContext.Carts + .Where(c => c.CartId == _cartId) + .Select(c => c.Count * c.Album.Price) + .SumAsync(); + } + + public async Task CreateOrder(Order order) + { + decimal orderTotal = 0; + + var cartItems = await _storeContext.Carts + .Where(c => c.CartId == _cartId) + .Include(c => c.Album) + .ToListAsync(); + + foreach (var item in cartItems) + { + order.OrderDetails.Add(new OrderDetail + { + AlbumId = item.AlbumId, + OrderId = order.OrderId, + UnitPrice = item.Album.Price, + Quantity = item.Count, + }); + + orderTotal += item.Count * item.Album.Price; + } + + order.Total = orderTotal; + + await EmptyCart(); + + return order.OrderId; + } + + private async Task EmptyCart() + { + foreach (var cartItem in await _storeContext.Carts.Where( + c => c.CartId == _cartId).ToListAsync()) + { + _storeContext.Carts.Remove(cartItem); + } + } + + public async Task MigrateCart(string userName) + { + var carts = await _storeContext.Carts.Where(c => c.CartId == _cartId).ToListAsync(); + + foreach (var item in carts) { item.CartId = userName; } + await _storeContext.SaveChangesAsync(); } } } \ No newline at end of file diff --git a/src/MvcMusicStore/Web.config b/src/MvcMusicStore/Web.config index 38731c2db4..67026b7956 100644 --- a/src/MvcMusicStore/Web.config +++ b/src/MvcMusicStore/Web.config @@ -9,8 +9,8 @@
- - + + From 7c967264607338c30373026e33892ca6dc132427 Mon Sep 17 00:00:00 2001 From: ajcvickers Date: Wed, 29 Jan 2014 08:39:53 -0800 Subject: [PATCH 2/3] Updates following code review --- MusicStore.sln | 3 -- src/MvcMusicStore/App_Start/Startup.App.cs | 5 ++-- .../Controllers/AccountController.cs | 28 ++++++++++++------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/MusicStore.sln b/MusicStore.sln index eb6d28080e..34fdec5df6 100644 --- a/MusicStore.sln +++ b/MusicStore.sln @@ -10,9 +10,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MusicStore.net45", "src\MusicStore\MusicStore.net45.csproj", "{9C8A2D1F-D430-46DF-8F00-39E378EC8FB2}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{44621553-AA7D-4893-8834-79582A7D8348}" - ProjectSection(SolutionItems) = preProject - .nuget\packages.config = .nuget\packages.config - EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/MvcMusicStore/App_Start/Startup.App.cs b/src/MvcMusicStore/App_Start/Startup.App.cs index 873efdc8af..053b2a9a30 100644 --- a/src/MvcMusicStore/App_Start/Startup.App.cs +++ b/src/MvcMusicStore/App_Start/Startup.App.cs @@ -1,4 +1,5 @@ using System.Configuration; +using System.Threading.Tasks; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using MvcMusicStore.Models; @@ -20,10 +21,10 @@ namespace MvcMusicStore new SampleData().Seed(context); } - CreateAdminUser(); + CreateAdminUser().Wait(); } - private async void CreateAdminUser() + private async Task CreateAdminUser() { var username = ConfigurationManager.AppSettings["DefaultAdminUsername"]; var password = ConfigurationManager.AppSettings["DefaultAdminPassword"]; diff --git a/src/MvcMusicStore/Controllers/AccountController.cs b/src/MvcMusicStore/Controllers/AccountController.cs index 4e11bdc6b3..9041287c9a 100644 --- a/src/MvcMusicStore/Controllers/AccountController.cs +++ b/src/MvcMusicStore/Controllers/AccountController.cs @@ -131,16 +131,24 @@ namespace MvcMusicStore.Controllers // GET: /Account/Manage public async Task Manage(ManageMessageId? message) { - ViewBag.StatusMessage = - message == ManageMessageId.ChangePasswordSuccess - ? "Your password has been changed." - : message == ManageMessageId.SetPasswordSuccess - ? "Your password has been set." - : message == ManageMessageId.RemoveLoginSuccess - ? "The external login was removed." - : message == ManageMessageId.Error - ? "An error has occurred." - : ""; + switch (message) + { + case ManageMessageId.ChangePasswordSuccess: + ViewBag.StatusMessage = "Your password has been changed."; + break; + case ManageMessageId.SetPasswordSuccess: + ViewBag.StatusMessage = "Your password has been set."; + break; + case ManageMessageId.RemoveLoginSuccess: + ViewBag.StatusMessage = "The external login was removed."; + break; + case ManageMessageId.Error: + ViewBag.StatusMessage = "An error has occurred."; + break; + default: + ViewBag.StatusMessage = ""; + break; + } ViewBag.HasLocalPassword = await HasPasswordAsync(); ViewBag.ReturnUrl = Url.Action("Manage"); From c20584b749491ca4a77d75d69278839c223222f8 Mon Sep 17 00:00:00 2001 From: ajcvickers Date: Wed, 29 Jan 2014 08:43:46 -0800 Subject: [PATCH 3/3] Removing automatically added packages.config as requested. --- .nuget/packages.config | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .nuget/packages.config diff --git a/.nuget/packages.config b/.nuget/packages.config deleted file mode 100644 index 5a4da0ba1d..0000000000 --- a/.nuget/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file