public IQueryable<Track> GetTracks([QueryString("id")] int? AlbumId, [QueryString("mediatypeid")] int? MediaTypeId, [QueryString("genreid")] int? GenreId, [QueryString("artistid")] int? ArtistId) { var _db = new MyTunesContext(); IQueryable<Track> query = _db.Tracks; if (AlbumId.HasValue && AlbumId > 0) { query = query.Where(p => p.AlbumId == AlbumId); } else if (MediaTypeId.HasValue && MediaTypeId > 0) { query = query.Where(p => p.MediaTypeId == MediaTypeId); } else if (GenreId.HasValue && GenreId > 0) { query = query.Where(p => p.GenreId == GenreId); } else if (ArtistId.HasValue && ArtistId > 0) { query = query.Where(p => p.Album.ArtistId == ArtistId); } return query; }
public ActionResult About(){ MyTunesContext db = new MyTunesContext(); int countALLTracks = (from track in db.Tracks select track).Count(); ViewBag.AllTracks = countALLTracks; int countALLAlbums = (from album in db.Albums select album).Count(); ViewBag.AllAlbums = countALLAlbums; int countALLArtists = (from artist in db.Artists select artist).Count(); ViewBag.AllArtists = countALLArtists; var largestTrack = (from track in db.Tracks select track.Bytes).Max(); ViewBag.LargestTrack = largestTrack; var longestTrack = (from track in db.Tracks select track.Milliseconds).Max(); ViewBag.LongestTrack = longestTrack; var artistWithMostTrack = from artist in db.Tracks select artist.Name; ViewBag.ArtistWithTrack = artistWithMostTrack; return View(); }
public void Dispose() { if (_db != null) { _db.Dispose(); _db = null; } }
public IQueryable<MediaType> GetMediaTypes() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable<MediaType> query = _db.MediaTypes; return query; }
public IQueryable<Track> GetTrack([QueryString("trackID")] int? trackId) { var _db = new MyTunes.Models.MyTunesContext(); IQueryable<Track> query = _db.Tracks; if (trackId.HasValue && trackId > 0) { query = query.Where(p => p.TrackId == trackId); } else { query = null; } return query; }
public bool AddAlbum(string AlbumName, string AlbumArtist) { var myAlbum = new Album(); myAlbum.Title = AlbumName; myAlbum.ArtistId = Convert.ToInt32(AlbumArtist); using (MyTunesContext _db = new MyTunesContext()) { // Add Track to DB. _db.Albums.Add(myAlbum); _db.SaveChanges(); } // Success. return true; }
public bool AddMediaType(string MediaTypeName, string MediaCategory) { var myMediaType = new MediaType(); myMediaType.Name = MediaTypeName; myMediaType.MediaCategoryId = Convert.ToInt32(MediaCategory); using (MyTunesContext _db = new MyTunesContext()) { // Add Track to DB. _db.MediaTypes.Add(myMediaType); _db.SaveChanges(); } // Success. return true; }
public bool AddArtist(string ArtistName) { var myArtist = new Artist(); myArtist.Name = ArtistName; using (MyTunesContext _db = new MyTunesContext()) { // Add Track to DB. _db.Artists.Add(myArtist); _db.SaveChanges(); } // Success. return true; }
public ActionResult TrackByMediaCategory() { MyTunesContext db = new MyTunesContext(); IQueryable<CountTrackByMediaCategory> data = from track in db.Tracks group track by track.MediaType.MediaCategory.Name into mediaCategoryGroup select new CountTrackByMediaCategory() { MediaCategory = mediaCategoryGroup.Key, TrackCount = mediaCategoryGroup.Count() }; return View(data.ToList()); }
public bool AddGenre(string GenreName) { var myGenre = new Genre(); myGenre.Name = GenreName; using (MyTunesContext _db = new MyTunesContext()) { // Add Track to DB. _db.Genres.Add(myGenre); _db.SaveChanges(); } // Success. return true; }
public ActionResult TrackByGenre() { MyTunesContext db = new MyTunesContext(); IQueryable<CountTrackbyGenre> data = from track in db.Tracks group track by track.Genre.Name into genreGroup select new CountTrackbyGenre() { GenreType = genreGroup.Key, TrackCount = genreGroup.Count() }; return View(data.ToList()); }
protected void RemoveTrackButton_Click(object sender, EventArgs e) { using (var _db = new MyTunes.Models.MyTunesContext()) { int TrackId = Convert.ToInt16(DropDownRemoveTrack.SelectedValue); var myItem = (from c in _db.Tracks where c.TrackId == TrackId select c).FirstOrDefault(); if (myItem != null) { _db.Tracks.Remove(myItem); _db.SaveChanges(); // Reload the page. string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count()); Response.Redirect(pageUrl + "?TrackAction=remove"); } else { LabelRemoveStatus.Text = "Unable to locate Track."; } } }
public bool AddTrack(string TrackName, string TrackPrice, string TrackAlbum,string TrackMediaType, string TrackGenre) { var myTrack = new Track(); myTrack.Name = TrackName; myTrack.UnitPrice = Convert.ToDecimal(TrackPrice); myTrack.AlbumId = Convert.ToInt32(TrackAlbum); myTrack.MediaTypeId = Convert.ToInt32(TrackMediaType); myTrack.GenreId = Convert.ToInt32(TrackGenre); using (MyTunesContext _db = new MyTunesContext()) { // Add Track to DB. _db.Tracks.Add(myTrack); _db.SaveChanges(); } // Success. return true; }
public IQueryable<Album> GetAlbums() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable<Album> query = _db.Albums; return query; }
public void UpdateItem(string updateCartID, int updateTrackId, int quantity) { using (var _db = new MyTunes.Models.MyTunesContext()) { try { var myItem = (from c in _db.CartItems where c.CartId == updateCartID && c.Track.TrackId == updateTrackId select c).FirstOrDefault(); if (myItem != null) { myItem.Quantity = quantity; _db.SaveChanges(); } } catch (Exception exp) { throw new Exception("ERROR: Unable to Update Cart Item - " + exp.Message.ToString(), exp); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // Verify user has completed the checkout process. if ((string)Session["userCheckoutCompleted"] != "true") { Session["userCheckoutCompleted"] = string.Empty; Response.Redirect("CheckoutError.aspx?" + "Desc=Unvalidated%20Checkout."); } NVPAPICaller payPalCaller = new NVPAPICaller(); string retMsg = ""; string token = ""; string finalPaymentAmount = ""; string PayerID = ""; NVPCodec decoder = new NVPCodec(); token = Session["token"].ToString(); PayerID = Session["payerId"].ToString(); finalPaymentAmount = Session["payment_amt"].ToString(); bool ret = payPalCaller.DoCheckoutPayment(finalPaymentAmount, token, PayerID, ref decoder, ref retMsg); if (ret) { // Retrieve PayPal confirmation value. string PaymentConfirmation = decoder["PAYMENTINFO_0_TRANSACTIONID"].ToString(); TransactionId.Text = PaymentConfirmation; MyTunesContext _db = new MyTunesContext(); // Get the current order id. int currentOrderId = -1; if (Session["currentOrderId"] != string.Empty) { currentOrderId = Convert.ToInt32(Session["currentOrderID"]); } Order myCurrentOrder; if (currentOrderId >= 0) { // Get the order based on order id. myCurrentOrder = _db.Orders.Single(o => o.OrderId == currentOrderId); // Update the order to reflect payment has been completed. myCurrentOrder.PaymentTransactionId = PaymentConfirmation; // Save to DB. _db.SaveChanges(); } // Clear shopping cart. using (MyTunes.Logic.ShoppingCartActions usersShoppingCart = new MyTunes.Logic.ShoppingCartActions()) { usersShoppingCart.EmptyCart(); } // Clear order id. Session["currentOrderId"] = string.Empty; } else { Response.Redirect("CheckoutError.aspx?" + retMsg); } } }
public IQueryable GetMediaCategories() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable query = _db.MediaCategories; return query; }
public IQueryable GetTracks() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable query = _db.Tracks; return query; }
public void RemoveItem(string removeCartID, int removeTrackId) { using (var _db = new MyTunes.Models.MyTunesContext()) { try { var myItem = (from c in _db.CartItems where c.CartId == removeCartID && c.Track.TrackId == removeTrackId select c).FirstOrDefault(); if (myItem != null) { // Remove Item. _db.CartItems.Remove(myItem); _db.SaveChanges(); } } catch (Exception exp) { throw new Exception("ERROR: Unable to Remove Cart Item - " + exp.Message.ToString(), exp); } } }
public IQueryable<Genre> GetGenres() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable<Genre> query = _db.Genres; return query; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { NVPAPICaller payPalCaller = new NVPAPICaller(); string retMsg = ""; string token = ""; string PayerID = ""; NVPCodec decoder = new NVPCodec(); token = Session["token"].ToString(); bool ret = payPalCaller.GetCheckoutDetails(token, ref PayerID, ref decoder, ref retMsg); if (ret) { Session["payerId"] = PayerID; var myOrder = new Order(); myOrder.OrderDate = Convert.ToDateTime(decoder["TIMESTAMP"].ToString()); myOrder.Username = User.Identity.Name; myOrder.FirstName = decoder["FIRSTNAME"].ToString(); myOrder.LastName = decoder["LASTNAME"].ToString(); myOrder.Address = decoder["SHIPTOSTREET"].ToString(); myOrder.City = decoder["SHIPTOCITY"].ToString(); myOrder.State = decoder["SHIPTOSTATE"].ToString(); myOrder.PostalCode = decoder["SHIPTOZIP"].ToString(); myOrder.Country = decoder["SHIPTOCOUNTRYCODE"].ToString(); myOrder.Email = decoder["EMAIL"].ToString(); myOrder.Total = Convert.ToDecimal(decoder["AMT"].ToString()); // Verify total payment amount as set on CheckoutStart.aspx. try { decimal paymentAmountOnCheckout = Convert.ToDecimal(Session["payment_amt"].ToString()); decimal paymentAmoutFromPayPal = Convert.ToDecimal(decoder["AMT"].ToString()); if (paymentAmountOnCheckout != paymentAmoutFromPayPal) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } } catch (Exception) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } // Get DB context. MyTunesContext _db = new MyTunesContext(); // Add order to DB. _db.Orders.Add(myOrder); _db.SaveChanges(); // Get the shopping cart items and process them. using (MyTunes.Logic.ShoppingCartActions usersShoppingCart = new MyTunes.Logic.ShoppingCartActions()) { List<CartItem> myOrderList = usersShoppingCart.GetCartItems(); // Add OrderDetail information to the DB for each product purchased. for (int i = 0; i < myOrderList.Count; i++) { // Create a new OrderDetail object. var myOrderDetail = new OrderDetail(); myOrderDetail.OrderId = myOrder.OrderId; myOrderDetail.Username = User.Identity.Name; myOrderDetail.ProductId = myOrderList[i].TrackId; //myOrderDetail.Quantity = myOrderList[i].Quantity; myOrderDetail.UnitPrice = (double) myOrderList[i].Track.UnitPrice; // Add OrderDetail to DB. _db.OrderDetails.Add(myOrderDetail); _db.SaveChanges(); } // Set OrderId. Session["currentOrderId"] = myOrder.OrderId; // Display Order information. List<Order> orderList = new List<Order>(); orderList.Add(myOrder); ShipInfo.DataSource = orderList; ShipInfo.DataBind(); // Display OrderDetails. OrderItemList.DataSource = myOrderList; OrderItemList.DataBind(); } } else { Response.Redirect("CheckoutError.aspx?" + retMsg); } } }
public IQueryable<Artist> GetArtists() { var _db = new MyTunes.Models.MyTunesContext(); IQueryable<Artist> query = _db.Artists; return query; }
public void UpdateShoppingCartDatabase(string cartId, ShoppingCartUpdates[] CartItemUpdates) { using (var db = new MyTunes.Models.MyTunesContext()) { try { int CartItemCount = CartItemUpdates.Count(); List<CartItem> myCart = GetCartItems(); foreach (var cartItem in myCart) { // Iterate through all rows within shopping cart list for (int i = 0; i < CartItemCount; i++) { if (cartItem.Track.TrackId == CartItemUpdates[i].TrackId) { if (CartItemUpdates[i].PurchaseQuantity < 1 || CartItemUpdates[i].RemoveItem == true) { RemoveItem(cartId, cartItem.TrackId); } else { UpdateItem(cartId, cartItem.TrackId, CartItemUpdates[i].PurchaseQuantity); } } } } } catch (Exception exp) { throw new Exception("ERROR: Unable to Update Cart Database - " + exp.Message.ToString(), exp); } } }