/// <inheritdoc cref="SiteSearcher" /> private async Task ProcessURL(Uri url, CancellationToken ct) { var listings = await Fetcher.GetListingsAsync(url, ct); if (listings != null) { ListingBase tmpListing = null; try { foreach (var listing in listings) { tmpListing = listing; // get the description and the apply email await Fetcher.GetRemainingListingDataAsync(listing, ct); Listings.Add(listing); } } catch (Exception e) { var vm = new OkViewModel(e.Message + "\n" + url + "\n" + tmpListing, "Search Error"); DialogService.OpenDialog(vm, null); } } }
public S_SHOW_PARTY_MATCH_INFO(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); var page = reader.ReadInt16(); var pages = reader.ReadInt16(); if (page == 0) { Listings.Clear(); } if (count == 0) { Listings.Clear(); IsLast = true; return; } reader.BaseStream.Position = offset - 4; for (var i = 0; i < count; i++) { var l = new Listing(); var curr = reader.ReadUInt16(); var next = reader.ReadUInt16(); var msgOffset = reader.ReadUInt16(); var leaderNameOffset = reader.ReadUInt16(); var leaderId = reader.ReadUInt32(); var isRaid = reader.ReadBoolean(); var playerCount = reader.ReadInt16(); reader.BaseStream.Position = msgOffset - 4; var msg = reader.ReadTeraString(); reader.BaseStream.Position = leaderNameOffset - 4; var leaderName = reader.ReadTeraString(); l.LeaderName = leaderName; l.LeaderId = leaderId; l.IsRaid = isRaid; l.Message = msg; l.PlayerCount = playerCount; Listings.Add(l); if (next != 0) { reader.BaseStream.Position = next - 4; } } if (page < pages) { Proxy.RequestNextLfgPage(page + 1); } if (page == pages) { IsLast = true; } }
public void AddListing(Listing listing) { Listing duplicate = Listings.Find(li => li.ID.Equals(listing.ID)); if (duplicate != null) { Console.WriteLine("Listing not added. Trying to add listing with duplicate ID. Did you mean to update?"); Console.WriteLine("Conflicting Materials:\nName: {0} ID: {1}\nName: {2} ID: {3}", listing.Name, listing.ID, duplicate.Name, duplicate.ID); return; } Listings.Add(listing); }
protected void btnSaveListing_Click(object sender, EventArgs e) { GetUser(); var _listingCode = txtItemCode.Text; int listingCode; int.TryParse(_listingCode, out listingCode); var title = txtTitle.Text; var _categoryId = ddlCategory.SelectedValue; int categoryId; int.TryParse(_categoryId, out categoryId); var _price = txtPrice.Text; int price; int.TryParse(_price, out price); string imageUrl = ""; if (uploadImage.HasFiles) { var uploadFile = uploadImage.PostedFile; string _filename = listingCode.ToString(); string path = System.IO.Path.Combine(Server.MapPath("~/data/"), _filename + uploadFile.FileName); uploadFile.SaveAs(path); var fileUrl = _filename + uploadFile.FileName; imageUrl = fileUrl; } var description = txtDescripiton.Text; var location = txtLocation.Text; var _lastDate = txtLastDate.Text; DateTime lastDate; lastDate = Convert.ToDateTime(_lastDate); Listings Listing = new Listings(listingCode, title, categoryId, User.Id, price, description, location, lastDate, imageUrl); Listing.Add(); Session["listingAdded"] = "New listing successfully added"; Response.Redirect("AddNew.aspx"); }
public async Task PopulateListings(HtmlNode individualClassNode) { var children = individualClassNode.ChildNodes.Where(x => x.Name == "td").ToList(); if (children.Count != 9) { return; } var enrollRegex = new Regex("\\d+"); var matches = enrollRegex.Matches(children[5].ChildNodes[0].Attributes.First(x => x.Name == "title").Value); string enroll, maxEnroll, crn; if (matches.Count != 2) { enroll = "CLOSED"; maxEnroll = "FULL"; crn = children[5].ChildNodes[0].InnerText; } else { enroll = matches[1].Value; maxEnroll = matches[0].Value; crn = children[5].InnerText; } var listing = new Listing() { Subject = children[0].InnerText.Trim(), CourseNumber = children[1].InnerText.Trim(), InstructionType = children[2].InnerText.Trim().Replace("amp;", ""), InstructionMethod = children[3].InnerText.Trim(), Section = children[4].InnerText.Trim(), CRN = crn.Trim(), MaxEnroll = maxEnroll.Trim(), Enroll = enroll.Trim(), CourseTitle = children[6].InnerText.Trim().Replace("amp;", ""), Times = children[7].InnerText.Trim().Replace("\r", "").Replace("\t", ""), Instructor = children[8].InnerText.Trim(), Term = LastTerm, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; Listings.Add(listing); }
internal S_SHOW_PARTY_MATCH_INFO(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); PageCurrent = reader.ReadUInt16(); PageCount = reader.ReadUInt16(); for (var i = 1; i <= count; i++) { reader.BaseStream.Position = offset - 4; var pointer = reader.ReadUInt16(); Trace.Assert(pointer == offset);//should be the same var nextOffset = reader.ReadUInt16(); var messageoffset = reader.ReadUInt16(); var leaderoffset = reader.ReadUInt16(); var leaderId = reader.ReadUInt32(); var isRaid = reader.ReadBoolean(); var playerCount = reader.ReadUInt16(); reader.BaseStream.Position = messageoffset - 4; var message = reader.ReadTeraString(); reader.BaseStream.Position = leaderoffset - 4; var leaderName = reader.ReadTeraString(); offset = nextOffset; Listings.Add(new LfgListing() { Message = message, LeaderName = leaderName, LeaderId = leaderId, IsRaid = isRaid, PlayerCount = playerCount, }); } }
public S_SHOW_PARTY_MATCH_INFO(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); var page = reader.ReadInt16(); var pages = reader.ReadInt16(); if (page == 0) { Listings.Clear(); } if (count == 0) { Listings.Clear(); IsLast = true; return; } reader.BaseStream.Position = offset - 4; for (var i = 0; i < count; i++) { var l = new Listing(); reader.Skip(2); // var curr = reader.ReadUInt16(); var next = reader.ReadUInt16(); var msgOffset = reader.ReadUInt16(); var leaderNameOffset = reader.ReadUInt16(); var leaderId = reader.ReadUInt32(); var isRaid = reader.ReadBoolean(); var playerCount = reader.ReadInt16(); reader.BaseStream.Position = msgOffset - 4; var msg = reader.ReadTeraString(); try { reader.BaseStream.Position = leaderNameOffset - 4; } catch { if (next != 0) { reader.BaseStream.Position = next - 4; } continue; } var leaderName = reader.ReadTeraString(); l.LeaderName = leaderName; l.LeaderId = leaderId; l.IsRaid = isRaid; l.Message = msg; l.PlayerCount = playerCount; if (!(l.IsTrade && !Settings.ShowTradeLfg)) { Listings.Add(l); } if (next != 0) { reader.BaseStream.Position = next - 4; } } if (page < pages) { if (Settings.LfgEnabled && Proxy.IsConnected) { Proxy.RequestNextLfgPage(page + 1); } } if (page == pages) { IsLast = true; } }
public void Add(Listing listing) => Listings.Add(listing);