Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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));
        }