private static void Artist_GetInfo(XDocument xd, ClassArtist ca) { ca.name = ""; ca.picurl = ""; //az artist beolvasása if ((xd != null) && CheckXml(xd) == true) { var res = (from artist in xd.Descendants("artist") select new { name = artist.Element("name").Value, image_ = (from p in artist.Elements("image") where p.Attribute("size").Value == "large" select p.Value).FirstOrDefault() }).FirstOrDefault(); ca.name = res.name; ca.picurl = res.image_; // a similar artistok beolvasása ca.similar.Clear(); XElement x = xd.Element("lfm").Element("artist").Element("similar"); var res2 = from artist in x.Descendants("artist") select new { name = artist.Element("name").Value, image_ = (from p in artist.Elements("image") where p.Attribute("size").Value == "large" select p.Value).FirstOrDefault() }; ClassArtist a; foreach (var r in res2) { a = new ClassArtist(); a.name = r.name; a.picurl = r.image_; ca.similar.Add(a); } //tagek beolvasása ca.tags.Clear(); ca.tags = (from tag in xd.Descendants("tag").Descendants("name") select tag.Value.ToString()).ToList(); ca.summary = (from summ in xd.Descendants("summary") select summ.Value.ToString()).FirstOrDefault(); ca.summary = Methods.StripTags(ca.summary); } }
private static void Artist_GetEvents(XDocument xd, ClassArtist ca) { ca.Events.Clear(); if ((xd != null) && CheckXml(xd) == true) { XNamespace geo = "http://www.w3.org/2003/01/geo/wgs84_pos#"; var res = from event_ in xd.Descendants("event") select new ClassEvent { Id = event_.Element("id").Value.ToString(), Artists = (from e in event_.Element("artists").Descendants("artist") select e.Value.ToString()).ToList(), Description = event_.Element("description").Value.ToString(), Headliner = (from e in event_.Element("artists").Descendants("headliner") select e.Value.ToString()).FirstOrDefault(), Images = (from e in event_.Descendants("image") select e.Value.ToString()).ToList(), StartDate = event_.Element("startDate").Value.ToString(), Title = event_.Element("title").Value.ToString(), Venue = (from v in event_.Descendants("venue") select new ClassVenue { Name = v.Element("name").Value.ToString(), Location = (from l in v.Descendants("location") select new ClassLocation { City = l.Element("city").Value.ToString(), Country = l.Element("country").Value.ToString(), Street = l.Element("street").Value.ToString(), GeoPoint = (from g in l.Descendants(geo + "point") select new ClassGeoPoint { Lat = g.Element(geo + "lat").Value.ToString() == "" ? 0 : double.Parse(g.Element(geo + "lat").Value.ToString(), CultureInfo.InvariantCulture), Long = g.Element(geo + "long").Value.ToString() == "" ? 0: double.Parse(g.Element(geo + "long").Value.ToString(), CultureInfo.InvariantCulture), }).FirstOrDefault() }).FirstOrDefault() }).FirstOrDefault() }; //ca.EventsPage.Page = int.Parse(xd.Element("lfm").Element("events").Attribute("page").Value.ToString()); //ca.EventsPage.TotalPage = int.Parse(xd.Element("lfm").Element("events").Attribute("totalpages").Value.ToString()); ca.EventsPage.Total = int.Parse(xd.Element("lfm").Element("events").Attribute("total").Value.ToString()); ca.Events = res.ToList(); } }
private static void Artist_GetTopAlbums(XDocument xd, ClassArtist ca) { ca.TopAlbums.Clear(); if ((xd != null) && CheckXml(xd) == true) { var res = from album in xd.Descendants("album") select new { name = album.Element("name").Value }; foreach (var r in res) { ca.TopAlbums.Add(r.name.ToString()); } } }
public JsonResult Info(string name) { XDocument xdoc = new XDocument(); DownLoadMethod dmArtisitInfo = new DownLoadMethod(); try { xdoc = dmArtisitInfo.GetData(MethodArtist.GetInfo(name)); XmlProcessing.Process("GetInfo", xdoc, ca); } catch (Exception) { ca = new ClassArtist(); } return(Json(ca)); }
private static void Artist_GetImages(XDocument xd, ClassArtist ca) { ca.Images.Clear(); if ((xd != null) && CheckXml(xd) == true) { var res = from image in xd.Descendants("image") select new { image_url = (from i in image.Element("sizes").Descendants("size") where i.Attribute("name").Value == "largesquare" select i.Value).FirstOrDefault() }; foreach (var i in res) { ca.Images.Add(i.image_url.ToString()); } } }
public JsonResult Events(int?page, string sort, string sortdir, string name) { XDocument xdoc4 = new XDocument(); DownLoadMethod dmArtisitEvents = new DownLoadMethod(); try { xdoc4 = dmArtisitEvents.GetData(MethodArtist.GetEvents(name)); XmlProcessing.Process("GetEvents", xdoc4, ca); } catch (Exception) { ca = new ClassArtist(); } var grid = new WebGrid(ca.Events, rowsPerPage: 5, selectionFieldName: "selectedRow"); IHtmlString html = grid.GetHtml(tableStyle: "webGrid", headerStyle: "header", alternatingRowStyle: "alt", selectedRowStyle: "webgrid-selected-row", columns: grid.Columns( grid.Column("StartDate", "Date"), grid.Column("Title", header: null, format: (item) => item.GetSelectLink(item.Title)), grid.Column("Venue", "Venue", format: (item) => item.Venue.Name), grid.Column("Address", "Address", format: (item) => item.Venue.Location.Country + ", " + item.Venue.Location.City + ", " + item.Venue.Location.Street) ), htmlAttributes: new { id = "EventsTable" }); //get selected row value ClassGeoPoint point = null; if (grid.SelectedRow != null) { point = Methods.GetGeopointFromEvent(ca.Events, grid.SelectedRow.Value.Id); } return(Json(new { Data = html.ToHtmlString(), GeoPoint = point }, JsonRequestBehavior.AllowGet)); }
public static void Process(string parameter, XDocument x, ClassArtist ca) { switch (parameter) { case "GetInfo": Artist_GetInfo(x, ca); break; case "GetTopAlbums": Artist_GetTopAlbums(x, ca); break; case "GetImages": Artist_GetImages(x, ca); break; case "GetEvents": Artist_GetEvents(x, ca); break; default: break; } }