public string Ask(ArtistTitle kind, string path, string tag)
        {
            tblQuestion.Text += kind.ToString();
            tblPath.Text     += path;
            tblTag.Text      += tag;

            ShowDialog();

            return(result);
        }
Exemple #2
0
        private List <IOffer> ParseOffers(
            IElement parent,
            List <Category> categories,
            List <Currency> currencies,
            int localDeliveryCost)
        {
            List <IOffer> offers = new List <IOffer>();
            IOffer        offer;

            foreach (var off in parent.QuerySelectorAll("offer"))
            {
                switch (off.GetAttribute("type"))
                {
                case "vendor.model":
                    offer = new VendorModel();
                    (offer as VendorModel).TypePrefix           = off.QuerySelector("typePrefix").TextContent;
                    (offer as VendorModel).Vendor               = off.QuerySelector("vendor").TextContent;
                    (offer as VendorModel).VendorCode           = off.QuerySelector("vendorCode").TextContent;
                    (offer as VendorModel).Model                = off.QuerySelector("model").TextContent;
                    (offer as VendorModel).ManufacturerWarranty = bool.Parse(off.QuerySelector("manufacturer_warranty").TextContent);
                    (offer as VendorModel).CountryOfOrigin      = off.QuerySelector("country_of_origin").TextContent;
                    break;

                case "book":
                    offer = new Book();
                    (offer as Book).Author            = off.QuerySelector("author").TextContent;
                    (offer as Book).Name              = off.QuerySelector("name").TextContent;
                    (offer as Book).Publisher         = off.QuerySelector("publisher").TextContent;
                    (offer as Book).Series            = off.QuerySelector("series").TextContent;
                    (offer as Book).Year              = Int32.Parse(off.QuerySelector("year").TextContent);
                    (offer as Book).ISBN              = off.QuerySelector("ISBN").TextContent;
                    (offer as Book).Volume            = Int32.Parse(off.QuerySelector("volume").TextContent);
                    (offer as Book).Part              = Int32.Parse(off.QuerySelector("part").TextContent);
                    (offer as Book).Language          = off.QuerySelector("language").TextContent;
                    (offer as Book).Binding           = off.QuerySelector("binding").TextContent;
                    (offer as Book).PageExtent        = Int32.Parse(off.QuerySelector("page_extent").TextContent);
                    (offer as Book).Delivery          = bool.Parse(off.QuerySelector("delivery").TextContent);
                    (offer as Book).LocalDeliveryCost = Int32.Parse(off.QuerySelector("local_delivery_cost")?.TextContent);
                    break;

                case "audiobook":
                    offer = new Audiobook();
                    (offer as Audiobook).Author          = off.QuerySelector("author").TextContent;
                    (offer as Audiobook).Name            = off.QuerySelector("name").TextContent;
                    (offer as Audiobook).Publisher       = off.QuerySelector("publisher").TextContent;
                    (offer as Audiobook).Year            = Int32.Parse(off.QuerySelector("year").TextContent);
                    (offer as Audiobook).ISBN            = off.QuerySelector("ISBN").TextContent;
                    (offer as Audiobook).Language        = off.QuerySelector("language").TextContent;
                    (offer as Audiobook).PerformedBy     = off.QuerySelector("performed_by").TextContent;
                    (offer as Audiobook).PerformanceType = off.QuerySelector("performance_type").TextContent;
                    (offer as Audiobook).Storage         = off.QuerySelector("storage").TextContent;
                    (offer as Audiobook).Format          = off.QuerySelector("format").TextContent;
                    //  Formats for parse
                    string[] formats = new string[] { "h'h'm'm's's'", "m'm's's'" };
                    (offer as Audiobook).RecordingLength = TimeSpan.ParseExact(off.QuerySelector("recording_length").TextContent, formats, CultureInfo.InvariantCulture);
                    break;

                case "artist.title":
                    offer = new ArtistTitle();
                    (offer as ArtistTitle).Title        = off.QuerySelector("title").TextContent;
                    (offer as ArtistTitle).Year         = Int32.Parse(off.QuerySelector("year").TextContent);
                    (offer as ArtistTitle).Media        = off.QuerySelector("media").TextContent;
                    (offer as ArtistTitle).Artist       = off.QuerySelector("artist")?.TextContent;
                    (offer as ArtistTitle).Starring     = off.QuerySelector("starring")?.TextContent?.Split(',');
                    (offer as ArtistTitle).Director     = off.QuerySelector("director")?.TextContent;
                    (offer as ArtistTitle).OriginalName = off.QuerySelector("originalName")?.TextContent;
                    (offer as ArtistTitle).Country      = off.QuerySelector("country")?.TextContent;
                    break;

                case "tour":
                    offer = new Tour();
                    (offer as Tour).WorldRegion   = off.QuerySelector("worldRegion").TextContent;
                    (offer as Tour).Country       = off.QuerySelector("country").TextContent;
                    (offer as Tour).Region        = off.QuerySelector("region").TextContent;
                    (offer as Tour).Days          = Int32.Parse(off.QuerySelector("days").TextContent);
                    (offer as Tour).DataTourStart = DateTime.Parse(off.QuerySelectorAll("dataTour")[0].TextContent, CultureInfo.InvariantCulture);
                    (offer as Tour).DataTourEnd   = DateTime.Parse(off.QuerySelectorAll("dataTour")[1].TextContent, CultureInfo.InvariantCulture);
                    (offer as Tour).Name          = off.QuerySelector("name").TextContent;
                    (offer as Tour).HotelStars    = Int32.Parse(off.QuerySelector("hotel_stars").TextContent.Replace("*", string.Empty));
                    (offer as Tour).Room          = off.QuerySelector("room").TextContent;
                    (offer as Tour).Meal          = off.QuerySelector("meal").TextContent;
                    (offer as Tour).Included      = off.QuerySelector("included").TextContent.Split(',');
                    (offer as Tour).Transport     = off.QuerySelector("transport").TextContent;
                    break;

                case "event-ticket":
                    offer = new EventTicket();
                    (offer as EventTicket).Name       = off.QuerySelector("name").TextContent;
                    (offer as EventTicket).Place      = off.QuerySelector("place").TextContent;
                    (offer as EventTicket).Hall       = off.QuerySelector("hall").TextContent;
                    (offer as EventTicket).HallPart   = off.QuerySelector("hall_part").TextContent;
                    (offer as EventTicket).Date       = DateTime.Parse(off.QuerySelector("date").TextContent, CultureInfo.InvariantCulture);
                    (offer as EventTicket).IsPremiere = Convert.ToBoolean(Int32.Parse(off.QuerySelector("is_premiere").TextContent));
                    (offer as EventTicket).IsPremiere = Convert.ToBoolean(Int32.Parse(off.QuerySelector("is_kids").TextContent));
                    break;

                default:
                    offer = new BaseOffer();
                    break;
                }
                ParseBaseOffer(off, offer, categories, currencies, localDeliveryCost);
                offers.Add(offer);
            }
            return(offers);
        }
Exemple #3
0
 private string AskPathOrTag(ArtistTitle kind, string path, string tag)
 {
     return(new AskPathOrTagWindow().Ask(kind, path, tag));
 }