Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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("&nbsp;", "")));
                        auction.Traffic   = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td").InnerText.Replace("&nbsp;", "")));
                        auction.Valuation = TextModifier.TryParse_INT(HtmlDecode(QuerySelector(node, "td:nth-child(5) > td:nth-child(2)").InnerText.Replace("&nbsp;", "")));
                        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);
        }
Esempio n. 6
0
        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"]
            }
        }