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());
                }
            }
        }
Exemple #4
0
        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());
                }
            }
        }
Exemple #6
0
        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;
            }
        }