public ActionResult GetComplete(string id) { var resultado = new FilmeIMDBJsonResult(); var filme = new Imdb(true); filme.FilmePorId(id); if (filme != null) { resultado.IDImdb = id; resultado.Titulo = filme.Nome; resultado.URLPoster = filme.PosterURL; resultado.URLImdb = filme.URLFilme; resultado.AnoLancamento = filme.AnoLancamento; resultado.Diretor = filme.Diretor; resultado.Generos = filme.Generos; resultado.Sinopse = filme.Sinopse; resultado.Duracao = filme.Duracao; resultado.ListaAtores = new List <AtorIMDBJsonResult>(); foreach (var ator in filme.Atores) { resultado.ListaAtores.Add(new AtorIMDBJsonResult() { URLImdb = ator.URLImdb, IDImdb = ator.IdImdb, Nome = ator.Nome, Papel = ator.Papel, URLFoto = ator.URLFoto }); } } return(this.Jsonp(resultado)); }
/// <summary> /// Carrega dados do IMDB de um filme via serviço REST /// </summary> /// <param name="id">ID do Imdb do filme</param> private FilmeIMDBJsonResult CarregarFilmeImdb(string id) { var filme = new FilmeIMDBJsonResult(); try { var request = WebRequest.Create(String.Format("http://www.bit-share-rest.net/Movies/GetComplete/?id={0}&JsonCallback=callback", id)) as HttpWebRequest; using (var response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { throw new Exception(String.Format( "Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription)); } JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); using (var streamReader = new StreamReader(response.GetResponseStream())) { var responseText = streamReader.ReadToEnd(); filme = jsonSerializer.Deserialize <FilmeIMDBJsonResult>(responseText.Replace("callback(", "").Replace(");", "")); } } } catch (Exception) { throw; } return(filme); }
public ActionResult Get(string id) { var resultado = new FilmeIMDBJsonResult(); var filme = new Imdb(false); filme.FilmePorId(id); if (filme != null) { resultado.IDImdb = id; resultado.Titulo = filme.Nome; resultado.URLPoster = filme.PosterURL; resultado.URLImdb = filme.URLFilme; resultado.AnoLancamento = filme.AnoLancamento; resultado.Diretor = filme.Diretor; resultado.Generos = filme.Generos; resultado.Sinopse = filme.Sinopse; resultado.Duracao = filme.Duracao; foreach (var ator in filme.Atores) { resultado.Cast += ator.ToString() + "<br />"; } } return(this.Jsonp(resultado)); }
/// <summary> /// Insere um novo filme na base de dados, com base nas informações do IMDB e inseridas pelo usuário /// </summary> /// <param name="repositorioFilme">Repositório da base de dados com contexto já criado</param> /// <param name="filmeImdb">Informações do IMDB para o filme especificado</param> /// <param name="model">Informações inseridas pelo usuário para o lançamento do torrent</param> /// <returns>Filme criado na base de dados</returns> private Filme CriarNovoFilme(DataRepository <Filme> repositorioFilme, FilmeIMDBJsonResult filmeImdb, TorrentUploadModel model) { var filme = new Filme(); filme.IdFilme = 0; filme.IdImdb = filmeImdb.IDImdb; filme.Nome = filmeImdb.Titulo; filme.Diretor = filmeImdb.Diretor; filme.AnoLancamento = filmeImdb.AnoLancamento; filme.Sinopse = filmeImdb.Sinopse; filme.URLPoster = filmeImdb.URLPoster; filme.Generos = filmeImdb.Generos; filme.TrailerYoutube = model.TrailerYoutube == null ? "" : model.TrailerYoutube; filme.ScreenShots = ""; //TODO filme.Duracao = filmeImdb.Duracao; foreach (var atorImdb in filmeImdb.ListaAtores) { var repositorioAtor = new DataRepository <Ator>(repositorioFilme.Context); var atores = from item in repositorioAtor.Fetch() where item.IdImdb == atorImdb.IDImdb select item; Ator atorAtual; if (atores.Count() > 0) { atorAtual = atores.First(); } else { atorAtual = new Ator(); atorAtual.IdAtor = 0; atorAtual.Nome = atorImdb.Nome; atorAtual.IdImdb = atorImdb.IDImdb; atorAtual.URLFoto = atorImdb.URLFoto == null ? "" : atorImdb.URLFoto; repositorioAtor.Add(atorAtual); } filme.Papels.Add(new Papel() { Ator = atorAtual, IdPapel = 0, NomePersonagem = atorImdb.Papel }); } return(filme); }