Esempio n. 1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, new string[] { "get", "post" }, Route = null)]
            GetComicsRequest Request,
            ILogger log
            )
        {
            string       Error   = "";
            string       Content = "";
            List <Comic> Comics  = null;

            try
            {
                if (Request == null)
                {
                    return(new JsonResult(new ComicResponse()
                    {
                        Date = DateTime.Now,
                        Comics = new List <Comic>(),
                        Error = "Not a post request"
                    }));
                }
                // For error testing
                //Content = await new StreamReader(req.Body).ReadToEndAsync();
                //GetComicsRequest Request = JsonConvert.DeserializeObject<GetComicsRequest>(Content);

                Comics = ComicRepository.GetComics(Request).ToList();

                var Response = new ComicResponse()
                {
                    Date   = (Comics.Count > 0 ? Comics[0].Date : Request.Date != DateTime.MinValue ? Request.Date : DateTime.Now),
                    Comics = Comics
                };
                return(new JsonResult(Response));
            }
            catch (UnsupportedMediaTypeException ex)
            {
                log.LogError(ex, "Unsupported media type returned");
                Error = "Unsupported Media Type: " + ex.Message + "|" + ex.StackTrace;
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
                Error = "Error.  Content: " + Content + ", " + ex.Message + "|" + ex.StackTrace;
            }

            var ErrorResponse = new ComicResponse()
            {
                Date   = DateTime.Now,
                Comics = Comics,
                Error  = Error
            };

            return(new JsonResult(ErrorResponse));
        }
Esempio n. 2
0
        public JsonResult GetComics(int id, int page)
        {
            List <ComicResponse> response = new List <ComicResponse>();
            int offset = (page * 6) - 1;

            foreach (Comic item in MarvelAPIUtil.GetComics(id, 6, offset))
            {
                ComicResponse responseItem = new ComicResponse();

                responseItem.Comic      = item;
                responseItem.Total      = 6;
                responseItem.ItemNumber = 1;

                response.Add(responseItem);
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public async Task <ServiceResponse <ComicResponse> > GetComicsById(int?characterId)
        {
            ServiceResponse <ComicResponse> serviceResponse = new ServiceResponse <ComicResponse>();
            DataResponse <ComicResponse>    dataResponse    = new DataResponse <ComicResponse>();

            try
            {
                this.QueryDataId(Convert.ToInt32(characterId));

                List <ComicResponse> comicResponses = new List <ComicResponse>();

                foreach (var itemComic in comics)
                {
                    ComicResponse comicResponse = new ComicResponse();
                    comicResponse.id                 = itemComic.Id;
                    comicResponse.digitalId          = Convert.ToInt32(itemComic.DigitalId);
                    comicResponse.title              = itemComic.Title;
                    comicResponse.issueNumber        = Convert.ToDecimal(itemComic.IssueNumber);
                    comicResponse.variantDescription = itemComic.VariantDescription;
                    comicResponse.description        = itemComic.Description;
                    comicResponse.modified           = Convert.ToDateTime(itemComic.Modified);
                    comicResponse.isbn               = itemComic.Isbn;
                    comicResponse.upc                = itemComic.Upc;
                    comicResponse.diamondCode        = itemComic.DiamondCode;
                    comicResponse.ean                = itemComic.Ean;
                    comicResponse.issn               = itemComic.Issn;
                    comicResponse.format             = itemComic.Format;
                    comicResponse.pageCount          = itemComic.PageCount;
                    comicResponse.resourceURI        = itemComic.ResourceUri;
                    comicResponses.Add(comicResponse);
                }

                dataResponse.Results = comicResponses;
                serviceResponse.data = dataResponse;

                return(serviceResponse);
            }
            catch (Exception)
            {
                return(serviceResponse);
            }
        }