public static Collection <AlloCine> ArtistToCollection(XElement objRest) { Collection <AlloCine> lstResults = new Collection <AlloCine>(); var query = from item in objRest.Elements() where item.Name.LocalName == "person" select item; XElement[] nodes = query.ToArray(); foreach (XElement node in nodes) { XElement objTemp = node; AlloCine objItem = new AlloCine(); objItem.Title = Util.GetElementValue(objTemp, @"{http://www.allocine.net/v6/ns/}name"); objItem.Id = Util.GetAttributValue(objTemp, "code"); objItem.PosterOriginal = Util.GetAttributValue(objTemp, @"{http://www.allocine.net/v6/ns/}picture", "href"); lstResults.Add(objItem); } return(lstResults); }
public static Collection <AlloCine> ArtistToCollection(JObject objRest) { Collection <AlloCine> lstResults = new Collection <AlloCine>(); JArray nodes = (JArray)objRest["feed"]["person"]; //Fix Since 2.6.7.0 if (nodes != null) { foreach (JObject node in nodes) { AlloCine objItem = new AlloCine(); objItem.Title = (string)node["name"]; objItem.Id = (string)node["code"]; if (node["picture"] != null) { objItem.PosterOriginal = (string)node["picture"]["href"]; } lstResults.Add(objItem); } } return(lstResults); }
public static AlloCine MovieToObject(XElement objRest) { AlloCine objItem = null; if (objRest != null) { objItem = new AlloCine(); objItem.OriginalTitle = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}originalTitle"); objItem.Country = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}nationality"); objItem.Id = Util.GetAttributValue(objRest, "code"); objItem.Description = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}synopsis"); objItem.Tagline = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}synopsisShort"); objItem.PosterOriginal = Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}poster", "href"); objItem.Title = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}title"); objItem.Url = @"http://www.allocine.fr/film/fichefilm_gen_cfilm=" + objItem.Id + ".html"; objItem.Trailer = Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}trailer", "href"); string runtime = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}runtime"); int intRunTime; if (int.TryParse(runtime, out intRunTime)) { objItem.Runtime = (int?)new TimeSpan(0, 0, intRunTime).TotalMinutes; } var released = from item in objRest.Elements() where item.Name.LocalName == "release" select((XElement)item.FirstNode).Value; IEnumerable <string> enumerable = released as IList <string> ?? released.ToList(); if (enumerable.Any()) { string relased = enumerable.First(); if (string.IsNullOrWhiteSpace(relased) == false) { DateTime date; if (DateTime.TryParse(relased, out date) == true) { objItem.Released = date; } } } var cast = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}castMember") select item; XElement[] artists = cast.ToArray(); objItem.Cast = new List <Artist>(); objItem.Directors = new List <Artist>(); foreach (XElement item in artists) { string picture = Util.GetAttributValue(item, @"{http://www.allocine.net/v6/ns/}picture", "href"); string name = Util.GetElementValue(item, @"{http://www.allocine.net/v6/ns/}person"); string job = Util.GetAttributValue(item, @"{http://www.allocine.net/v6/ns/}activity", "code"); if (string.IsNullOrWhiteSpace(name) == false) { bool isNew; Artist artist = (ArtistServices.Get(name, out isNew)); if (string.IsNullOrWhiteSpace(picture) == false && MySettings.FastSearch == false) { artist.Picture = Util.GetImage(picture); } if (job == "8002") { objItem.Directors.Add(artist); } else if (job == "8001") { objItem.Cast.Add(artist); } } } var genres = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}genre") select item.Value; objItem.Genres = new List <string>(genres.ToArray()); var imagesUrl = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}media") let xElement = item.Element("{http://www.allocine.net/v6/ns/}type") where xElement != null && xElement.Value == "Photo" select item; Collection <XElement> images = new Collection <XElement>(imagesUrl.ToArray()); if (images.Count > 0) { objItem.BackdropOriginal = Util.GetAttributValue(images[0], @"{http://www.allocine.net/v6/ns/}thumbnail", "href"); } var studio = from item in objRest.Elements() where item.Name.LocalName == "release" select item; Collection <XElement> studios = new Collection <XElement>(studio.ToArray()); if (studios.Count > 0) { objItem.Studio = Util.GetAttributValue(studios[0], @"{http://www.allocine.net/v6/ns/}distributor", "name"); } var rating = from item in objRest.Elements() where item.Name.LocalName == "statistics" select item; Collection <XElement> lstRating = new Collection <XElement>(rating.ToArray()); if (lstRating.Count > 0) { string strrating = Util.GetElementValue(lstRating[0], "{http://www.allocine.net/v6/ns/}userRating"); double value; CultureInfo cultureInfo = new CultureInfo("en-US", true); if (double.TryParse(strrating, NumberStyles.Any, cultureInfo.NumberFormat, out value) == true) { objItem.Rating = value.ToString("F"); } else if (double.TryParse(strrating.Replace(',', '.'), out value) == true) { objItem.Rating = value.ToString(CultureInfo.InvariantCulture); } else { objItem.Rating = strrating; } } } return(objItem); }
public static AlloCine SerieToObject(JObject objRest, string seasonNumber, LanguageType languageType) { AlloCine objItem = null; if (objRest != null) { objItem = new AlloCine(); objItem.Id = (string)objRest["tvseries"]["code"]; objItem.OriginalTitle = (string)objRest["tvseries"]["originalTitle"]; objItem.Title = (string)objRest["tvseries"]["title"]; string relased = string.Empty; if (objRest["tvseries"]["originalBroadcast"]["dateStart"] != null) { relased = (string)objRest["tvseries"]["originalBroadcast"]["dateStart"]; } if (string.IsNullOrWhiteSpace(relased) == false) { DateTime date; if (DateTime.TryParse(relased, out date) == true) { objItem.Released = date; } } objItem.Runtime = (int)objRest["tvseries"]["formatTime"]; string inProduction = (string)objRest["tvseries"]["productionStatus"]["code"]; if (inProduction == "122004") { objItem.IsInProduction = true; } objItem.NumberOfSeason = (string)objRest["tvseries"]["seasonCount"]; objItem.NumberOfEpisodes = (string)objRest["tvseries"]["episodeCount"]; objItem.Country = (string)objRest["tvseries"]["nationality"][0]["$"]; JArray genre = (JArray)objRest["tvseries"]["genre"]; objItem.Genres = new List <string>(); foreach (JObject item in genre) { objItem.Genres.Add((string)item["$"]); } objItem.Tagline = (string)objRest["tvseries"]["synopsisShort"]; objItem.Description = (string)objRest["tvseries"]["synopsis"]; JArray cast = (JArray)objRest["tvseries"]["castMember"]; objItem.Cast = new List <Artist>(); objItem.Directors = new List <Artist>(); foreach (JObject item in cast) { string picture = string.Empty; if (item["picture"] != null) { picture = (string)item["picture"]["href"]; } string name = (string)item["person"]["name"]; string job = (string)item["activity"]["code"]; if (string.IsNullOrWhiteSpace(name) == false) { bool isNew; Artist artist = (ArtistServices.Get(name, out isNew)); if (string.IsNullOrWhiteSpace(picture) == false && MySettings.FastSearch == false) { artist.Picture = Util.GetImage(picture); } if (job == "8002") { objItem.Directors.Add(artist); } else if (job == "8001") { objItem.Cast.Add(artist); } } } //FIX 2.8.0.0 if (objRest["tvseries"]["poster"] != null) { objItem.PosterOriginal = (string)objRest["tvseries"]["poster"]["href"]; } switch (languageType) { case LanguageType.BR: case LanguageType.PT: objItem.Url = @"http://www.adorocinema.com/filmes/filme-" + objItem.Id; break; default: objItem.Url = @"http://www.allocine.fr/series/ficheserie_gen_cserie=" + objItem.Id + ".html"; break; } //FIX 2.8.0.0 if (objRest["tvseries"]["trailer"] != null) { objItem.Trailer = (string)objRest["tvseries"]["trailer"]["href"]; } JArray media = (JArray)objRest["tvseries"]["media"]; //FIX 2.8.9.0 if (media != null) { foreach (JObject item in media) { if ((string)item["type"]["$"] == "Photo") { objItem.BackdropOriginal = (string)item["thumbnail"]["href"]; break; } } } objItem.Studio = (string)objRest["tvseries"]["originalChannel"]["$"]; string strrating = (string)objRest["tvseries"]["statistics"]["userRating"]; double value; CultureInfo cultureInfo = new CultureInfo("en-US", true); if (double.TryParse(strrating, NumberStyles.Any, cultureInfo.NumberFormat, out value) == true) { objItem.SerieRating = (long)(value * 4); } else if (double.TryParse(strrating.Replace(',', '.'), out value) == true) { objItem.SerieRating = (long)(value * 4); } } return(objItem); }
public static AlloCine SerieToObject(XElement objRest, string seasonNumber) { AlloCine objItem = null; if (objRest != null) { objItem = new AlloCine(); objItem.Id = Util.GetAttributValue(objRest, "code"); objItem.OriginalTitle = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}originalTitle"); objItem.Title = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}title"); DateTime date; if (DateTime.TryParse(Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}originalBroadcast", "dateStart"), out date) == true) { objItem.Released = date; } string runtime = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}formatTime"); int intRunTime; if (int.TryParse(runtime, out intRunTime)) { objItem.Runtime = intRunTime; } string inProduction = Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}productionStatus", "code"); if (inProduction == "122004") { objItem.IsInProduction = true; } objItem.NumberOfSeason = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}seasonCount"); objItem.NumberOfEpisodes = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}episodeCount"); objItem.Country = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}nationalityList", @"{http://www.allocine.net/v6/ns/}nationality"); var genres = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}genre") select item.Value; objItem.Genres = new List <string>(genres.ToArray()); objItem.Tagline = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}synopsisShort"); objItem.Description = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}synopsis"); var cast = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}castMember") select item; XElement[] artists = cast.ToArray(); objItem.Cast = new List <Artist>(); objItem.Directors = new List <Artist>(); foreach (XElement item in artists) { string picture = Util.GetAttributValue(item, @"{http://www.allocine.net/v6/ns/}picture", "href"); string name = Util.GetElementValue(item, @"{http://www.allocine.net/v6/ns/}person"); string job = Util.GetAttributValue(item, @"{http://www.allocine.net/v6/ns/}activity", "code"); if (string.IsNullOrWhiteSpace(name) == false) { bool isNew; Artist artist = (ArtistServices.Get(name, out isNew)); if (string.IsNullOrWhiteSpace(picture) == false && MySettings.FastSearch == false) { artist.Picture = Util.GetImage(picture); } if (job == "8002") { objItem.Directors.Add(artist); } else if (job == "8001") { objItem.Cast.Add(artist); } } } objItem.PosterOriginal = Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}poster", "href"); objItem.Url = @"http://www.allocine.fr/series/ficheserie_gen_cserie=" + objItem.Id + ".html"; objItem.Trailer = Util.GetAttributValue(objRest, @"{http://www.allocine.net/v6/ns/}trailer", "href"); var imagesUrl = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}media") let xElement = item.Element("{http://www.allocine.net/v6/ns/}type") where xElement != null && xElement.Value == "Photo" select item; Collection <XElement> images = new Collection <XElement>(imagesUrl.ToArray()); if (images.Count > 0) { objItem.BackdropOriginal = Util.GetAttributValue(images[0], @"{http://www.allocine.net/v6/ns/}thumbnail", "href"); } objItem.Studio = Util.GetElementValue(objRest, @"{http://www.allocine.net/v6/ns/}originalChannel"); var rating = from item in objRest.Elements() where item.Name.LocalName == "statistics" select item; Collection <XElement> lstRating = new Collection <XElement>(rating.ToArray()); if (lstRating.Count > 0) { string strrating = Util.GetElementValue(lstRating[0], "{http://www.allocine.net/v6/ns/}userRating"); double value; CultureInfo cultureInfo = new CultureInfo("en-US", true); if (double.TryParse(strrating, NumberStyles.Any, cultureInfo.NumberFormat, out value) == true) { objItem.SerieRating = (long)(value * 4); } else if (double.TryParse(strrating.Replace(',', '.'), out value) == true) { objItem.SerieRating = (long)(value * 4); } } var episodes = from item in objRest.Descendants("{http://www.allocine.net/v6/ns/}season") let xElement = item.Element("{http://www.allocine.net/v6/ns/}seasonNumber") where xElement != null && xElement.Value == seasonNumber select item; Collection <XElement> seasonEp = new Collection <XElement>(episodes.ToArray()); if (seasonEp.Count > 0) { objItem.SeasonEpisodes = Util.GetElementValue(seasonEp[0], @"{http://www.allocine.net/v6/ns/}episodeCount"); } } return(objItem); }
public static AlloCine MovieToObject(JObject objRest, LanguageType languageType) { AlloCine objItem = null; if (objRest != null) { //Fix since v2.7.12.0 if (objRest["movie"] != null) { objItem = new AlloCine(); if (objRest["movie"]["originalTitle"] != null) { objItem.OriginalTitle = (string)objRest["movie"]["originalTitle"]; } if (objRest["movie"]["nationality"] != null) { objItem.Country = (string)objRest["movie"]["nationality"][0]["$"]; } objItem.Id = (string)objRest["movie"]["code"]; objItem.Description = (string)objRest["movie"]["synopsis"]; if (objRest["movie"]["synopsisShort"] != null) { objItem.Tagline = (string)objRest["movie"]["synopsisShort"]; } if (objRest["movie"]["poster"] != null) { objItem.PosterOriginal = (string)objRest["movie"]["poster"]["href"]; } objItem.Title = (string)objRest["movie"]["title"]; switch (languageType) { case LanguageType.BR: case LanguageType.PT: objItem.Url = @"http://www.adorocinema.com/filmes/filme-" + objItem.Id; break; default: objItem.Url = @"http://www.allocine.fr/film/fichefilm_gen_cfilm=" + objItem.Id + ".html"; break; } if (objRest["movie"]["trailer"] != null) { objItem.Trailer = (string)objRest["movie"]["trailer"]["href"]; } string runtime = (string)objRest["movie"]["runtime"]; int intRunTime; if (int.TryParse(runtime, out intRunTime)) { objItem.Runtime = (int?)new TimeSpan(0, 0, intRunTime).TotalMinutes; } string relased = string.Empty; if (objRest["movie"]["release"] != null) { relased = (string)objRest["movie"]["release"]["releaseDate"]; } if (string.IsNullOrWhiteSpace(relased) == false) { DateTime date; if (DateTime.TryParse(relased, out date) == true) { objItem.Released = date; } } JArray cast = (JArray)objRest["movie"]["castMember"]; //Fix since 2.6.0.0 if (cast != null) { objItem.Cast = new List <Artist>(); objItem.Directors = new List <Artist>(); foreach (JObject item in cast) { string picture = string.Empty; if (item["picture"] != null) { picture = (string)item["picture"]["href"]; } string name = (string)item["person"]["name"]; string job = (string)item["activity"]["code"]; if (string.IsNullOrWhiteSpace(name) == false) { bool isNew; Artist artist = (ArtistServices.Get(name, out isNew)); if (string.IsNullOrWhiteSpace(picture) == false && MySettings.FastSearch == false) { artist.Picture = Util.GetImage(picture); } if (job == "8002") { objItem.Directors.Add(artist); } else if (job == "8001") { objItem.Cast.Add(artist); } } } } JArray genre = (JArray)objRest["movie"]["genre"]; objItem.Genres = new List <string>(); foreach (JObject item in genre) { objItem.Genres.Add((string)item["$"]); } JArray media = (JArray)objRest["movie"]["media"]; //Fix Since version 2.5.5.0 if (media != null) { foreach (JObject item in media) { if ((string)item["type"]["$"] == "Photo") { objItem.BackdropOriginal = (string)item["thumbnail"]["href"]; break; } } } if (objRest["movie"]["release"] != null) { if (objRest["movie"]["release"]["distributor"] != null) { objItem.Studio = (string)objRest["movie"]["release"]["distributor"]["name"]; } } if (objRest["movie"]["statistics"] != null) { string strrating = (string)objRest["movie"]["statistics"]["userRating"]; if (string.IsNullOrWhiteSpace(strrating) == false) { double value; CultureInfo cultureInfo = new CultureInfo("en-US", true); if (double.TryParse(strrating, NumberStyles.Any, cultureInfo.NumberFormat, out value) == true) { objItem.Rating = value.ToString("F"); } else if (double.TryParse(strrating.Replace(',', '.'), out value) == true) { objItem.Rating = value.ToString(CultureInfo.InvariantCulture); } else { objItem.Rating = strrating; } } } } } return(objItem); }