예제 #1
0
        public ActionResult Index(int?page)
        {
            if (!page.HasValue)
            {
                page = 1;
            }

            int offset = 10 * (page.Value - 1);

            MarvelClient           marvel      = new MarvelClient(SessionContext.PublicKey, SessionContext.PrivateKey);
            MarvelRoot <Character> personagens = marvel.Characters.FindAll(10, offset);

            int qtdPaginas = personagens.Data.Total / personagens.Data.Limit;

            if ((personagens.Data.Total % personagens.Data.Limit) > 0)
            {
                qtdPaginas = qtdPaginas + 1;
            }

            int pagAtual = page.Value;
            int pPaginaInicial, pPaginaFinal;

            Paginacao.ObterPaginacao(pagAtual, qtdPaginas, out pPaginaInicial, out pPaginaFinal);

            ViewBag.PagInicial = pPaginaInicial;
            ViewBag.PagFinal   = pPaginaFinal;
            ViewBag.PagAtual   = pagAtual;

            return(View(personagens.Data.Results));
        }
예제 #2
0
        public async Task TesteMarvelRefitClient()
        {
            IMarvelClient client = new MarvelClient("", "");

            var result = await client.GetCharacters();

            var readAsStringAsync = result.Content.ReadAsStringAsync();

            Assert.IsNotNull(readAsStringAsync);
        }
예제 #3
0
        public async void Comics_Gets_Find_Request_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            await marvel.Comics.FindAsync(123);

            Assert.AreEqual("comics/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
        public async void Character_Gets_Default_FindAll_Request_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            await marvel.Characters.FindAllAsync();

            Assert.AreEqual("characters", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
        public void Creators_Gets_Find_Request()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            marvel.Creators.Find(123);

            Assert.AreEqual("creators/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
예제 #6
0
        public void Comics_Gets_Default_FindAll_Request()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private", client);
            marvel.Comics.FindAll();

            Assert.AreEqual("comics", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
예제 #7
0
        public async void Comics_Gets_Find_Request_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            await marvel.Comics.FindAsync(123);

            Assert.AreEqual("comics/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
예제 #8
0
        public void Creators_Gets_Find_Request()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            marvel.Creators.Find(123);

            Assert.AreEqual("creators/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
예제 #9
0
        public async void Character_Gets_Default_FindAll_Request_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            await marvel.Characters.FindAllAsync();

            Assert.AreEqual("characters", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
예제 #10
0
        public void Comics_Gets_Default_FindAll_Request()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private", client);

            marvel.Comics.FindAll();

            Assert.AreEqual("comics", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
예제 #11
0
        public JsonResult GetStoriesByCharacterId(string characterId)
        {
            var model = new List <StoryViewModel>();

            var client = new MarvelClient();

            var characters = client.FindStoriesByCharacters(characterId);

            if (characters.Any())
            {
                model = characters.Select(x => (StoryViewModel)x).ToList();
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
예제 #12
0
        public void Stories_Gets_Default_FindAll_Request()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            marvel.Series.FindAll();

            Assert.AreEqual("series", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
예제 #13
0
        public void Comics_Gets_Find_Request()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };
            marvel.Characters.Comics(12345);
            marvel.Comics.Find(123);

            Assert.AreEqual("comics/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
예제 #14
0
        public async void Events_Gets_Find_Request_Async()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            await marvel.Events.FindAsync(123);

            Assert.AreEqual("events/{id}", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual("123", client.Request.Parameters[2].Value);
        }
예제 #15
0
        public async void Events_Gets_Default_FindAll_Request_Async()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            await marvel.Events.FindAllAsync();

            Assert.AreEqual("events", client.Request.Resource);
            Assert.AreEqual("20", client.Request.Parameters[0].Value);
            Assert.AreEqual("0", client.Request.Parameters[1].Value);
            Assert.AreEqual(5, client.Request.Parameters.Count);
        }
예제 #16
0
        public JsonResult GetCharactersById(string characterId)
        {
            var model = new CharacterViewModel();

            var client = new MarvelClient();

            var characters = client.FindCharacters(new Dictionary <string, string>()
            {
                { "id", characterId }
            });

            if (characters.Any())
            {
                model = characters.Select(x => (CharacterViewModel)x).FirstOrDefault();
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
예제 #17
0
        public IEnumerable <Hero> GetHeroes(string letter)
        {
            var marvel     = new MarvelClient(API_KEY, ConfigurationManager.AppSettings.Get("PrivateMarvel"));
            var list       = new List <Hero>();
            var characters = marvel.Characters.FindAll(20, 0, new NameValueCollection {
                { "nameStartsWith", letter }
            });

            ((Newtonsoft.Json.Linq.JArray)characters.data.results).ToList().ForEach(c => list.Add(new Hero {
                Id = (int)c["id"], Name = (string)c["name"], Description = (string)c["description"], Thumbnail = c["thumbnail"].HasValues? (string)c["thumbnail"]["path"] + "." + (string)c["thumbnail"]["extension"]: "http://i.annihil.us/u/prod/marvel/i/mg/b/40/image_not_available.jpg"
            }));
            return(list);
            //            var url = $"{SERVICE_URL}characters?nameStartsWith={letter}{API_KEY}";
            //            var request = (HttpWebRequest)HttpWebRequest.Create(url);
            //            request.ContentType = "application/json; charset=utf-8";
            ////            request.Accept = "application/json, text/javascript, */*";
            //            request.Method = "GET";
            //            request.ContentLength = 0;
            //
            //            WebResponse response = request.GetResponse();
            //            Stream stream = response.GetResponseStream();
            //            string json = "";
            //
            //            using (var reader = new StreamReader(stream))
            //            {
            //                while (!reader.EndOfStream)
            //                {
            //                    json = reader.ReadToEnd();
            //                    var parsed = JsonConvert.DeserializeObject<dynamic>(json);
            ////                    parsed.data.results.Select(
            ////                        s =>
            ////                        {
            ////                            return new Hero
            ////                            {
            ////                                Name = s.name,
            ////                                Description = s.description,
            ////                                Thumbnail = s.thumbnail.path + "." + s.thumbnail.extension
            ////                            }
            ////                        });
            //                }
            //            }
            //            return new List<Hero>();
        }
        public void Character_Gets_Parametarized_FindAll_Request()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            var parametrs = new NameValueCollection
            {
                {"name", "Thor"},
                {"orderBy", "modified"}
            };
            marvel.Characters.FindAll(3, 4, parametrs);

            Assert.AreEqual("characters", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("3", client.Request.Parameters[2].Value);
            Assert.AreEqual("4", client.Request.Parameters[3].Value);
            Assert.AreEqual(7, client.Request.Parameters.Count);
        }
예제 #19
0
        public async void Character_Gets_Parametarized_FindAll_Request_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            var parametrs = new NameValueCollection
            {
                { "name", "Thor" },
                { "orderBy", "modified" }
            };

            await marvel.Characters.FindAllAsync(3, 4, parametrs);

            Assert.AreEqual("characters", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("3", client.Request.Parameters[2].Value);
            Assert.AreEqual("4", client.Request.Parameters[3].Value);
            Assert.AreEqual(7, client.Request.Parameters.Count);
        }
예제 #20
0
        public async void Characters_Gets_Associated_Stories_Async()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            var parametrs = new NameValueCollection
            {
                { "name", "Thor" },
                { "orderBy", "modified" }
            };

            await marvel.Characters.StoriesAsync(123, 2, 3, parametrs);

            Assert.AreEqual("characters/{id}/stories", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("2", client.Request.Parameters[2].Value);
            Assert.AreEqual("3", client.Request.Parameters[3].Value);
            Assert.AreEqual(8, client.Request.Parameters.Count);
        }
예제 #21
0
        public void Comics_Gets_Associated_Creators()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            var parametrs = new NameValueCollection
            {
                { "name", "Thor" },
                { "orderBy", "modified" }
            };

            marvel.Comics.Creators(123, 2, 3, parametrs);

            Assert.AreEqual("comics/{id}/creators", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("2", client.Request.Parameters[2].Value);
            Assert.AreEqual("3", client.Request.Parameters[3].Value);
            Assert.AreEqual(8, client.Request.Parameters.Count);
        }
예제 #22
0
        public JsonResult GetCharactersByName(string term)
        {
            var model = new List <Select2ViewModel>();

            var client = new MarvelClient();

            var characters = client.FindCharacters(new Dictionary <string, string>()
            {
                { "nameStartsWith", term }
            });

            if (characters.Any())
            {
                model = characters.Select(ch => new Select2ViewModel()
                {
                    id = ch.Id.ToString(), text = ch.Name
                }).ToList();
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
예제 #23
0
        public async Task <ActionResult> Consultar(int id, int?page)
        {
            MarvelClient           marvel      = new MarvelClient(SessionContext.PublicKey, SessionContext.PrivateKey);
            MarvelRoot <Character> personagens = marvel.Characters.Find(id);

            ViewBag.Id        = id;
            ViewBag.Name      = personagens.Data.Results[0].Name;
            ViewBag.Descricao = personagens.Data.Results[0].Description;
            ViewBag.ImageUrl  = personagens.Data.Results[0].Thumbnail.ToString(Image.PortraitSmall);

            if (!page.HasValue)
            {
                page = 1;
            }

            int offset = 10 * (page.Value - 1);

            MarvelRoot <Comic> comics = await marvel.CharactersComics.ComicsAsync(id, 10, offset);

            int qtdPaginas = comics.Data.Total / comics.Data.Limit;

            if ((comics.Data.Total % comics.Data.Limit) > 0)
            {
                qtdPaginas = qtdPaginas + 1;
            }

            int pagAtual = page.Value;
            int pPaginaInicial, pPaginaFinal;

            Paginacao.ObterPaginacao(pagAtual, qtdPaginas, out pPaginaInicial, out pPaginaFinal);

            ViewBag.PagInicial = pPaginaInicial;
            ViewBag.PagFinal   = pPaginaFinal;
            ViewBag.PagAtual   = pagAtual;

            return(View(comics.Data.Results));
        }
        public void Characters_Gets_Associated_Stories()
        {
            var client = new FakeRquestClient();
            var marvel = new MarvelClient("public", "private", client);

            var parametrs = new NameValueCollection
            {
                {"name", "Thor"},
                {"orderBy", "modified"}
            };

            marvel.Characters.Stories(123, 2, 3, parametrs);

            Assert.AreEqual("characters/{id}/stories", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("2", client.Request.Parameters[2].Value);
            Assert.AreEqual("3", client.Request.Parameters[3].Value);
            Assert.AreEqual(8, client.Request.Parameters.Count);
        }
예제 #25
0
        public void Events_Gets_Associated_Creators()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            var parametrs = new NameValueCollection
            {
                {"name", "Thor"},
                {"orderBy", "modified"}
            };

            marvel.Events.Creators(123, 2, 3, parametrs);

            Assert.AreEqual("events/{id}/creators", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("2", client.Request.Parameters[2].Value);
            Assert.AreEqual("3", client.Request.Parameters[3].Value);
            Assert.AreEqual(8, client.Request.Parameters.Count);
        }
예제 #26
0
        public async void Comics_Gets_Parametarized_FindAll_Request_Async()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            var parametrs = new NameValueCollection
            {
                {"name", "Thor"},
                {"orderBy", "modified"}
            };

            await marvel.Comics.FindAllAsync(3, 4, parametrs);

            Assert.AreEqual("comics", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("3", client.Request.Parameters[2].Value);
            Assert.AreEqual("4", client.Request.Parameters[3].Value);
            Assert.AreEqual(7, client.Request.Parameters.Count);
        }
예제 #27
0
        public async void Comics_Gets_Associated_Stories_Async()
        {
            var client = new FakeRquestClient();

            var marvel = new MarvelClient("public", "private")
            {
                CreateRequestClient = () => client
            };

            var parametrs = new NameValueCollection
            {
                {"name", "Thor"},
                {"orderBy", "modified"}
            };

            await marvel.Comics.StoriesAsync(123, 2, 3, parametrs);

            Assert.AreEqual("comics/{id}/stories", client.Request.Resource);
            Assert.AreEqual("Thor", client.Request.Parameters[0].Value);
            Assert.AreEqual("modified", client.Request.Parameters[1].Value);
            Assert.AreEqual("2", client.Request.Parameters[2].Value);
            Assert.AreEqual("3", client.Request.Parameters[3].Value);
            Assert.AreEqual(8, client.Request.Parameters.Count);
        }