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)); }
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); } }