public ActionResult IndexSearched(int?minimum, int?maximum, int?itemsperpage, string state, string searchstring) { List <Auction> list = AuctionSearch.Search(minimum, maximum, itemsperpage, state, searchstring); foreach (Auction a in list) { if (a.closed != null) { a.duration = (int)(a.closed.GetValueOrDefault() - DateTime.Now).TotalSeconds; } } return(View(list)); }
public static void HandleAuctionListItems(IRealmClient client, RealmPacketIn packet) { Character activeCharacter = client.ActiveCharacter; EntityId id = packet.ReadEntityId(); NPC auctioneer = activeCharacter.Map.GetObject(id) as NPC; AuctionSearch searcher = new AuctionSearch { StartIndex = packet.ReadUInt32(), Name = packet.ReadCString(), LevelRange1 = packet.ReadByte(), LevelRange2 = packet.ReadByte(), InventoryType = (InventorySlotType)packet.ReadUInt32(), ItemClass = (ItemClass)packet.ReadUInt32(), ItemSubClass = (ItemSubClass)packet.ReadUInt32(), Quality = packet.ReadInt32(), IsUsable = packet.ReadBoolean() }; Singleton <AuctionMgr> .Instance.AuctionListItems(activeCharacter, auctioneer, searcher); }
public AuctionSearch GenerateAuctionSearch() { var p = new AuctionSearch(); return p; }
public IQueryable <AuctionSearch> Search(string searchText) { const string searchString = "https://auctions.godaddy.com/trpSearchResults.aspx"; var auctions = new SortableBindingList <AuctionSearch>(); var doc = HtmlDocument(Post(searchString, "t=16&action=search&hidAdvSearch=ddlAdvKeyword:1|txtKeyword:" + searchText.Replace(" ", ",") + "|ddlCharacters:0|txtCharacters:|txtMinTraffic:|txtMaxTraffic:|txtMinDomainAge:|txtMaxDomainAge:|txtMinPrice:|txtMaxPrice:|ddlCategories:0|chkAddBuyNow:false|chkAddFeatured:false|chkAddDash:true|chkAddDigit:true|chkAddWeb:false|chkAddAppr:false|chkAddInv:false|chkAddReseller:false|ddlPattern1:|ddlPattern2:|ddlPattern3:|ddlPattern4:|chkSaleOffer:false|chkSalePublic:true|chkSaleExpired:true|chkSaleCloseouts:false|chkSaleUsed:false|chkSaleBuyNow:false|chkSaleDC:false|chkAddOnSale:false|ddlAdvBids:0|txtBids:|txtAuctionID:|ddlDateOffset:&rtr=2&baid=-1&searchDir=1&rnd=0.899348703911528&jnkRjrZ=6dd022d")); if (QuerySelectorAll(doc.DocumentNode, "tr.srRow2, tr.srRow1") != null) { foreach (var node in QuerySelectorAll(doc.DocumentNode, "tr.srRow2, tr.srRow1")) { if (QuerySelector(node, "span.OneLinkNoTx") != null && QuerySelector(node, "td:nth-child(5)") != null) { AuctionSearch auction = GenerateAuctionSearch(); auction.DomainName = HtmlDecode(QuerySelector(node, "span.OneLinkNoTx").InnerText); Console.WriteLine(auction.DomainName); auction.BidCount = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5)").FirstChild.InnerHtml.Replace(" ", ""))); auction.Traffic = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td").InnerText.Replace(" ", ""))); auction.Valuation = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(2)").InnerText.Replace(" ", ""))); auction.Price = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(3)").InnerText).Replace("$", "").Replace(",", "").Replace("C", "")); try { if (QuerySelector(node, "td:nth-child(5) > td:nth-child(4) > div") != null) { if (HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(4) > div").InnerText).Contains("Buy Now for")) { auction.BuyItNow = TextModifier.TryParse_INT(Regex.Split(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(4) > div").InnerText), "Buy Now for")[1].Trim().Replace(",", "").Replace("$", "")); } } else { auction.BuyItNow = 0; } } catch (Exception) { auction.BuyItNow = 0; } if (QuerySelector(node, "td:nth-child(5) > td:nth-child(5)") != null && HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(5)").InnerHtml).Contains("Bid $")) { auction.MinBid = TextModifier.TryParse_INT(GetSubString(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(5)").InnerHtml), "Bid $", " or more").Trim().Replace(",", "").Replace("$", "")); } if (QuerySelector(node, "td:nth-child(5) > td:nth-child(5)") != null && !HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(5)").InnerHtml).Contains("Bid $")) { auction.EstimateEndDate = GenerateEstimateEnd(QuerySelector(node, "td:nth-child(5) > td:nth-child(5)")); } if (QuerySelector(node, "td:nth-child(5) > td:nth-child(4)") != null && HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(4)").InnerHtml).Contains("Bid $")) { auction.MinBid = TextModifier.TryParse_INT(GetSubString(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(4)").InnerHtml), "Bid $", " or more").Trim().Replace(",", "").Replace("$", "")); } if (QuerySelector(node, "td > div > span") != null) { foreach (var item in GetSubStrings(QuerySelector(node, "td > div > span").InnerHtml, "'Offer $", " or more")) { auction.MinOffer = TextModifier.TryParse_INT(item.Replace(",", "")); } } auction.EndDate = GetPacificTime; foreach (var item in GetSubStrings(node.InnerHtml, "ShowAuctionDetails('", "',")) { auction.AuctionRef = item; break; } //AppSettings.Instance.AllAuctions.Add(auction); if (auction.MinBid > 0) { auctions.Add(auction); } } } } return(auctions.AsQueryable()); }
private AuctionSearch GenerateAuctionSearch() { var p = new AuctionSearch(); return(p); }
public void Search(Guid userid) { const string url = "https://www.domcop.com/getDomains.php"; using (var ds = new ASEntities()) { var godaddyaccount = ds.GoDaddyAccount.First(x => x.UserID == userid); ds.USP_SearchQueryBuilder2(userid.ToString()); var data = "&page_rank_upper={0}&page_rank_lower={1}&fake_pr=false&require_pr=false&fake_alexa=false&require_semrush_keywords=false&require_semrush_traffic=false&adv_age_lower=0&domain_authority_upper=999&domain_authority_lower=0&page_authority_upper=999&page_authority_lower=0&citation_flow_upper=999&citation_flow_lower=0&trust_flow_upper=999&trust_flow_lower=0&maj_back_links_upper=99999&maj_back_links_lower=0&maj_ref_ips_upper=99999&maj_ref_ips_lower=0&maj_million=false&quantcast_million=false&alexa_rank=false&require_semrush_rank=false&require_similarweb_rank=false&require_available=false&hide_adult=false&hide_spammy=false&hide_brand=false&soc_fb_like_upper=99999&soc_fb_like_lower=0&soc_fb_share_upper=99999&soc_fb_share_lower=0&soc_twitter_upper=99999&soc_twitter_lower=0&soc_reditt_upper=99999&soc_reditt_lower=0&soc_pinterest_upper=99999&soc_pinterest_lower=0&soc_google_upper=99999&soc_google_lower=0&ends_in_lower=0&ends_in_upper=14&parent_category=&child_category=&parent_topical_category=&child_topical_category=&google_index=false&dmoz=false&allow_dashes=true&allow_digits=true&only_digits=false&saletype_auction=true&saletype_buynow=true&saletype_closeout=true&saletype_pending=true&saletype_offer=true&saletype_bargain=true&search_type=keyword&keyword=&keyword_search_type=contains&pattern=&patternType=&ext_6=true&ext_17=true&ext_23=true&ext_18=true&ext_5=true&ext_10=true&ext_25=true&ext_16=true&ext_27=true&ext_1=true&ext_8=true&ext_21=true&ext_11=true&ext_32=true&ext_19=true&ext_4=true&ext_15=true&ext_28=true&ext_7=true&ext_22=true&ext_2=true&ext_24=true&ext_12=true&ext_3=true&ext_31=true&ext_20=true&ext_13=true&ext_29=true&ext_26=true&ext_14=true&ext_9=true&ext_misc=true&type_godaddy=true&type_namejet=true&type_snapnames=true&type_sedo=true&type_dynadot=true&type_droplists=true"; var searchString = "sEcho=2&iColumns=17&sColumns=&iDisplayStart=0&iDisplayLength=125&mDataProp_0=0&mDataProp_1=1&mDataProp_2=2&mDataProp_3=3&mDataProp_4=4&mDataProp_5=5&mDataProp_6=6&mDataProp_7=7&mDataProp_8=8&mDataProp_9=9&mDataProp_10=10&mDataProp_11=11&mDataProp_12=12&mDataProp_13=13&mDataProp_14=14&mDataProp_15=15&mDataProp_16=16&iSortingCols=0&bSortable_0=false&bSortable_1=true&bSortable_2=true&bSortable_3=true&bSortable_4=true&bSortable_5=true&bSortable_6=true&bSortable_7=true&bSortable_8=true&bSortable_9=true&bSortable_10=true&bSortable_11=true&bSortable_12=true&bSortable_13=true&bSortable_14=true&bSortable_15=true&bSortable_16=true&screen_width=1349&data_source=live"; var res = ds.SearchTable.Where(x => x.UserID == userid && x.ItemOrder < 67).OrderBy(x => x.ItemOrder); foreach (var item in res) { searchString += item.SearchValue + (item.DataType == "bit" ? item.Value == "1" ? "true" : "false" : item.Value); } var res2 = ds.SearchTable.Where(x => x.UserID == userid && x.ItemOrder >= 67).OrderBy(x => x.ItemOrder); foreach (var item in res2) { searchString += item.SearchValue + (item.DataType == "bit" ? item.Value == "1" ? "true" : "false" : item.Value); } var results = Post(url, searchString); var json = JSONSerializer.DeserializeDynamic(results.Trim()); foreach (var site in json["aaData"]) { var adv = new AdvSearch{UserID = userid}; try { var moo = site["1"]; } catch (Exception) { continue; } var content = (string)site["1"].ToString(); var hdoc = HtmlDocument((string)content); adv.DomainName = QuerySelector(hdoc.DocumentNode, "span[class='big-domain'] > a").Attributes["alt"].Value; if (content.Contains("godaddy")) { adv.DomainLink = "https://au.auctions.godaddy.com/trpItemListing.aspx?domain=" + adv.DomainName;//QuerySelector(hdoc.DocumentNode, "span[class='big-domain'] > a").Attributes["href"].Value; adv.IsGOdaddy = true; adv.IsAuction = true; //for now.. now way to tell } else if (content.Contains("namejet")) { adv.DomainLink = "http://www.namejet.com/Pages/Auctions/BackorderDetails.aspx?domainname=" + adv.DomainName; adv.IsAuction = true; } else if (content.Contains("dynadot.com")) { adv.DomainLink = "https://www.dynadot.com/market/backorder/" + adv.DomainName; adv.IsAuction = false; } else if (content.Contains("snapnames")) { adv.DomainLink = string.Format("https://www.snapnames.com/domain/{0}.action", adv.DomainName); adv.IsAuction = false; } else if (content.Contains("sedo")) { adv.DomainLink = "http://sedo.com/search/details.php4?domain=" + adv.DomainName; adv.IsAuction = true; } content = site["0"]; hdoc = HtmlDocument((string)content); adv.Ref = QuerySelector(hdoc.DocumentNode, "input").Attributes["id"].Value.Split(new []{'|'}).First(); content = site["2"].ToString(); int defval = 0; hdoc = HtmlDocument((string)content); adv.Age = int.Parse(QuerySelector(hdoc.DocumentNode, "b") == null ? "0" : QuerySelector(hdoc.DocumentNode, "b").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "b").InnerText); content = site["3"].ToString(); hdoc = HtmlDocument((string)content); adv.PageRank = int.Parse(QuerySelector(hdoc.DocumentNode, "span[class='big-text-pr']") == null ? "0" : QuerySelector(hdoc.DocumentNode, "span[class='big-text-pr']").InnerText); content = site["4"].ToString(); hdoc = HtmlDocument((string)content); adv.MOZDA = int.Parse(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["5"].ToString(); hdoc = HtmlDocument((string)content); adv.MOZPA = int.Parse(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); //Needs to be decimal content = site["6"].ToString(); hdoc = HtmlDocument((string)content); adv.MozRank = GetDecimal(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); //Needs to be decimal content = site["7"].ToString(); hdoc = HtmlDocument((string)content); adv.MozTrust = GetDecimal(QuerySelector(hdoc.DocumentNode, "a") == null ? "0.00" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0.00" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["8"].ToString(); hdoc = HtmlDocument((string)content); adv.CF = int.Parse(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["9"].ToString(); hdoc = HtmlDocument((string)content); adv.TF = int.Parse(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["9"].ToString(); hdoc = HtmlDocument((string)content); adv.TF = int.Parse(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); //Needs to be decimal - maybe content = site["10"].ToString(); hdoc = HtmlDocument((string)content); adv.AlexARank = GetDecimal((QuerySelector(hdoc.DocumentNode, "a") == null || QuerySelector(hdoc.DocumentNode, "a").InnerText == "-") ? "0.00" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["11"].ToString(); hdoc = HtmlDocument((string)content); adv.MozDom = GetNumbers((QuerySelector(hdoc.DocumentNode, "a") == null || QuerySelector(hdoc.DocumentNode, "a").InnerText == "-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["12"].ToString(); hdoc = HtmlDocument((string)content); adv.MajDom = GetNumbers(QuerySelector(hdoc.DocumentNode, "a") == null ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText.Contains("-") ? "0" : QuerySelector(hdoc.DocumentNode, "a").InnerText); content = site["15"].ToString(); adv.DomainPrice = GetNumbers(content); content = (string)HTMLDecode(site["16"].ToString()); if (((string)content).Contains("<")) { content = ((string) content).Split(new [] {'<'}).First().Trim(); } adv.EsitmateEnd = ExtractEndDate(content); var auc = new AuctionSearch { AuctionRef = adv.Ref, DomainName = adv.DomainName, EstimateEndDate = (DateTime)adv.EsitmateEnd, EndDate = (DateTime)adv.EsitmateEnd, MinBid = adv.DomainPrice ?? 0, AccountID = godaddyaccount.AccountID }; ds.AuctionSearch.Add(auc); ds.SaveChanges(); ds.AdvSearch.Add(adv); ds.SaveChanges(); } //json["aaData"][0]["1"] } }