public string Ask(ArtistTitle kind, string path, string tag) { tblQuestion.Text += kind.ToString(); tblPath.Text += path; tblTag.Text += tag; ShowDialog(); return(result); }
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); }
private string AskPathOrTag(ArtistTitle kind, string path, string tag) { return(new AskPathOrTagWindow().Ask(kind, path, tag)); }