public ModelGood Get(int goodId) { DbMediator database = new DbMediator(); var responce = database.GetModelGood(goodId); return(responce); }
private async Task <bool> Worker() { bool parsingResult = false; for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (!isActive) { //OnLinksCompleted?.Invoke(this); return(parsingResult); } string link = parserSettings.BaseUrl + parserSettings.Prefix.Replace("{CurrentPage}", i.ToString()); var document = await loader.GetPageSourceByLink(link); if (document != null) { List <Good> result = parser.ParseLinks(document); var database = new DbMediator(); foreach (var good in result) { good.Link = parserSettings.UrlHead + good.Link; document = await loader.GetPageSourceByLink(good.Link); if (document != null) { List <Good> goodsDb = database.GetGoodsByRef(good.Link); int goodId; if (goodsDb.Count < 1) { string description = parser.ParseDescription(document); string imgLink = parser.ParseImageLink(document); good.Description = description; goodId = database.InsertGood(good); byte[] img = await loader.GetImage(imgLink); Image image = new Image() { GoodId = goodId, ImageLink = imgLink, Img = img }; database.InsertImage(image); } else { goodId = goodsDb.ToArray()[0].Id; } decimal cost = parser.ParsePrice(document); Price price = new Price() { GoodId = goodId, Cost = cost, DateTime = System.DateTime.Now }; database.InsertPrice(price); } } if (result.Count > 0) { parsingResult = true; } } } isActive = false; return(parsingResult); }