public async Task <ActionResult> Collection() { checkCookie(); checkUserID(); //This searches for a card containing any part of the word that is being searched for e.g. dark HttpResponseMessage response = await yugiohApi.GetAsync($"v4/cardinfo.php?"); if (response.IsSuccessStatusCode) { var rsp = await response.Content.ReadAsStringAsync(); rsp = rsp.Substring(1, rsp.Length - 2); List <Card> li = JArray.Parse(rsp).ToObject <List <Card> >(); //converts json to list of cards SaleConditionGradeVM uservm = new SaleConditionGradeVM() { MyCards = li, }; //returns list of cards to the view return(View(uservm)); } SaleConditionGradeVM vm = new SaleConditionGradeVM(); vm.MyCards = new List <Card>(); return(View(vm)); }
public async Task <ActionResult> Wishlist() { checkCookie(); checkUserID(); HttpResponseMessage response = await yugiohApi.GetAsync($"v4/cardinfo.php?"); if (response.IsSuccessStatusCode) { var rsp = await response.Content.ReadAsStringAsync(); rsp = rsp.Substring(1, rsp.Length - 2); //converts a jarray to list of card List <Card> li = JArray.Parse(rsp).ToObject <List <Card> >(); SaleConditionGradeVM uservm = new SaleConditionGradeVM() { MyCards = li, }; return(View(uservm)); } SaleConditionGradeVM vm = new SaleConditionGradeVM(); vm.MyCards = new List <Card>(); return(View(vm)); }
public async Task <ActionResult> apiPrice2(string dropboxvalue) { checkCookie(); HttpResponseMessage resp = await yugiohPriceApi.GetAsync($"get_card_prices/{dropboxvalue}"); if (resp.IsSuccessStatusCode) { var rsp = await resp.Content.ReadAsStringAsync(); var li = JObject.Parse(rsp).ToObject <RootObject>(); SaleConditionGradeVM salevm = new SaleConditionGradeVM() { MyCard = dropboxvalue, MyDatum = new List <Datum>(), MyCards = new List <Card>(), }; foreach (var i in li.data) { if (i.price_data.status == "success") { Card card = new Card() { apiID = $"{dropboxvalue} {i.print_tag} {i.rarity}", name = dropboxvalue, rarity = i.rarity, print_tag = i.print_tag, Cardtype = db.CardTypes.Find(1), image_url = "http://www.ygo-api.com/api/Images/cards/" + dropboxvalue, average = i.price_data.data.prices.average, high = i.price_data.data.prices.high, low = i.price_data.data.prices.low, }; salevm.MyDatum.Add(i); //makes sure not to add the card to the database if it already exists if (db.Cards.Where(x => x.apiID == card.apiID).FirstOrDefault() == null) { salevm.MyCards.Add(card); db.Cards.Add(card); } else { //if the card exists in the database then use the card from the database instead of adding a new card Card colcard = db.Cards.Where(x => x.apiID == card.apiID).FirstOrDefault(); salevm.MyCards.Add(colcard); } } } db.SaveChanges(); return(View("Collection", salevm)); } SaleConditionGradeVM salev = new SaleConditionGradeVM(); return(View("Collection", salev)); }
public ActionResult Create([Bind(Include = "ID,Price,ForAuction")] SaleConditionGradeVM sale, string dropboxvalue, string Conditions, string Grades) { checkCookie(); if (ModelState.IsValid) { Card card = db.Cards.Where(x => x.apiID == dropboxvalue).FirstOrDefault(); if (Grades == "") { Grades = "1"; } if (Conditions == "") { Conditions = "5"; } Grade grade = db.Grades.Find(Convert.ToInt32(Grades)); Condition condition = db.Conditions.Find(Convert.ToInt32(Conditions)); User user = db.Users.Find(Session["UserID"]); Sale MySale = new Sale() { Card = card, Buyer = null, CardCondition = condition, CardGrade = grade, ForAuction = sale.ForAuction, ID = sale.ID, Seller = user, Price = sale.Price, IsSold = false, UploadDate = DateTime.Now.Date, }; db.Sales.Add(MySale); var li = db.Users.Include("Watchlist").Include("Wishlist").Where(x => x.Wishlist.Any(z => z.ID == card.ID)).ToList(); foreach (var i in li) { Notification notify = new Notification() { Date = DateTime.Now, Title = "New Sale", Message = "A card in your wishlist is now for sale and has been added to your watchlist", Seen = false, NotifyUser = i, }; db.Notifications.Add(notify); i.Watchlist.Add(MySale); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(sale)); }
public async Task <ActionResult> Create(int?id) { checkCookie(); ViewBag.Conditions = new SelectList(db.Conditions, "ID", "CardCondition"); ViewBag.Grades = new SelectList(db.Grades, "ID", "Grading"); //Stops anyone from creating a new sale if they are not logged in as a valid user. ~Joe if (Session["userID"] == null) { return(RedirectToAction("login", "users")); } if (Session["UserID"].ToString() == "0") { return(RedirectToAction("login", "users")); } SaleConditionGradeVM salevm = new SaleConditionGradeVM(); if (id != null) { Card card = db.Cards.Find(id); if (card != null) { salevm.MyCard = card.name; } } HttpResponseMessage response = await yugiohApi.GetAsync($"v4/cardinfo.php?"); if (response.IsSuccessStatusCode) { var rsp = await response.Content.ReadAsStringAsync(); rsp = rsp.Substring(1, rsp.Length - 2); List <Card> li = JArray.Parse(rsp).ToObject <List <Card> >(); List <Card> li2 = new List <Card>(); foreach (var i in li) { if (li2.Where(x => x.name == i.name).FirstOrDefault() == null) { li2.Add(i); } } salevm.MyCards = li2; salevm.fix = false; return(View(salevm)); } salevm.fix = false; return(View(salevm)); }
public async Task <ActionResult> apiPrice(string dropboxvalue) { //checks if cookies are saved checkCookie(); //calls function from api HttpResponseMessage resp = await yugiohPriceApi.GetAsync($"get_card_prices/{dropboxvalue}"); if (resp.IsSuccessStatusCode) { var rsp = await resp.Content.ReadAsStringAsync(); //returns a list of data from our api var li = JObject.Parse(rsp).ToObject <RootObject>(); //viewmodel needed to display all our cards, their pricing data and it's name SaleConditionGradeVM salevm = new SaleConditionGradeVM() { MyCard = dropboxvalue, MyDatum = new List <Datum>(), MyCards = new List <Card>(), }; //iterates through list of data and creates a new card adding it to the database if it returns success foreach (var i in li.data) { //success means it successfully finds pricing for the card in your list if (i.price_data.status == "success") { //creates a new card with all the new properties from the api Card card = new Card() { apiID = $"{dropboxvalue} {i.print_tag} {i.rarity}", name = dropboxvalue, rarity = i.rarity, print_tag = i.print_tag, Cardtype = db.CardTypes.Find(1), image_url = "http://www.ygo-api.com/api/Images/cards/" + dropboxvalue, average = i.price_data.data.prices.average, high = i.price_data.data.prices.high, low = i.price_data.data.prices.low, }; //adds data to a list of data salevm.MyDatum.Add(i); //adds card to a list of cards salevm.MyCards.Add(card); //makes sure the card is not in the database before adding it the database if (db.Cards.Where(x => x.apiID == card.apiID).FirstOrDefault() == null) { db.Cards.Add(card); } } } //saves the changes db.SaveChanges(); return(View("Wishlist", salevm)); } SaleConditionGradeVM salev = new SaleConditionGradeVM(); return(View("Wishlist", salev)); }
public async Task <ActionResult> apiPrice(string dropboxvalue) { checkCookie(); if (Session["userID"] == null) { return(RedirectToAction("login", "users")); } if (Session["UserID"].ToString() == "0") { return(RedirectToAction("login", "users")); } ViewBag.Conditions = new SelectList(db.Conditions, "ID", "CardCondition"); ViewBag.Grades = new SelectList(db.Grades, "ID", "Grading"); HttpResponseMessage resp = await yugiohPriceApi.GetAsync($"get_card_prices/{dropboxvalue}"); if (resp.IsSuccessStatusCode) { var rsp = await resp.Content.ReadAsStringAsync(); var li = JObject.Parse(rsp).ToObject <RootObject>(); SaleConditionGradeVM salevm = new SaleConditionGradeVM() { fix = true, MyCard = dropboxvalue, MyDatum = new List <Datum>(), MyCard1 = "", MyCards = new List <Card>(), }; foreach (var i in li.data) { if (i.price_data.status == "success") { Card card = new Card() { apiID = $"{dropboxvalue} {i.print_tag} {i.rarity}", name = dropboxvalue, rarity = i.rarity, print_tag = i.print_tag, Cardtype = db.CardTypes.Find(1), image_url = "http://www.ygo-api.com/api/Images/cards/" + dropboxvalue, average = i.price_data.data.prices.average, high = i.price_data.data.prices.high, low = i.price_data.data.prices.low, }; if (db.Cards.Where(x => x.name == dropboxvalue).FirstOrDefault() == null) { db.Cards.Add(card); } salevm.MyDatum.Add(i); salevm.MyCards.Add(card); } } db.SaveChanges(); Card cd = db.Cards.Where(x => x.name == dropboxvalue).FirstOrDefault(); salevm.MyCard1 = cd.name; return(View("Create", salevm)); } SaleConditionGradeVM salev = new SaleConditionGradeVM(); return(View("Create", salev)); }