private IList <CbCoin> ScrapeCoins(IDomObject parentDiv) { var coins = new List <CbCoin>(); CQ html = parentDiv.InnerHTML; var coinRows = html["table > tbody > tr"].ToList(); foreach (var coinRow in coinRows) { CQ coinHtml = coinRow.InnerHTML; // scrape coin data var tdCoinData = coinHtml.Elements.ToList(); var rawYear = tdCoinData[0].FirstChild.FirstChild.NodeValue; var year = rawYear.Substring(0, 4); var mintMark = rawYear.Length > 5 ? rawYear.Substring(5, 1) : ""; var details = tdCoinData[1].InnerText; var mintage = tdCoinData[2].InnerText; var gradeG4 = tdCoinData[3].InnerText; var gradeVG8 = tdCoinData[4].InnerText; var gradeF12 = tdCoinData[5].InnerText; var gradeVF20 = tdCoinData[6].InnerText; var gradeEF40 = tdCoinData[7].InnerText; var gradeAU50 = tdCoinData[8].InnerText; var gradeMS60 = tdCoinData[9].InnerText; var gradeMS63 = tdCoinData[10].InnerText; var gradePr65 = tdCoinData[11].InnerText; // create coin var coin = new CbCoin { Year = int.Parse(year), MintMark = mintMark, Details = details, Mintage = GetMintage(mintage) //, //GradeValues = new List<CbGradeValue> //{ // GetGradeValue(CbGrade.Good, gradeG4), // GetGradeValue(CbGrade.VeryGood, gradeVG8), // GetGradeValue(CbGrade.Fine, gradeF12), // GetGradeValue(CbGrade.VeryFine, gradeVF20), // GetGradeValue(CbGrade.ExtraFine, gradeEF40), // GetGradeValue(CbGrade.AU, gradeAU50), // GetGradeValue(CbGrade.MS60, gradeMS60), // GetGradeValue(CbGrade.MS63, gradeMS63), // GetGradeValue(CbGrade.Proof, gradePr65), //} }; coins.Add(coin); } return(coins); }
public static CbCoinViewModel Map(this CbCoin data) { var model = new CbCoinViewModel(); model.Id = data.Id; model.Year = data.Year; model.MintMark = data.MintMark; model.Details = data.Details; model.Mintage = data.Mintage; return(model); }
public void AddNewCoin(int typeId, CbCoin newCoin) { var data = _context.CbTypes.FirstOrDefault(x => x.Id == typeId); if (data == null) { throw new Exception($"Type not found: {typeId}"); } data.Coins.Add(newCoin); _context.SaveChanges(); }
public ActionResult AddNewCoin(int typeId, int year, string mint, string details, long mintage) { var newCoin = new CbCoin { Year = year, Mintage = mintage, MintMark = mint, Details = details }; _cbCoinDataService.AddNewCoin(typeId, newCoin); return(Json("success", JsonRequestBehavior.AllowGet)); }