Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 3
0
        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");
    }
Esempio n. 5
0
        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,
                });
            }
        }
Esempio n. 7
0
        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;
            }
        }
Esempio n. 8
0
 public void Add(Listing listing) => Listings.Add(listing);