public ActionResult Sell(ListItemRequest request) { if (ModelState.IsValid) { var auction = Mapper.DynamicMap <Auction>(request); if (request.Image != null) { string imageUrl, thumbnailUrl; new ImageRepository(Server.MapPath(AuctionImagesFolder), Url.Content(AuctionImagesFolder)) .SaveImage(request.Image.FileName, request.Image.InputStream, out imageUrl, out thumbnailUrl); auction.ImageUrl = imageUrl; auction.ThumbnailUrl = thumbnailUrl; } _repository.Add(auction); _repository.SaveChanges(); TempData.SuccessMessage("Congratulations, your item has been listed for auction!"); return(RedirectToAction("Details", "Auctions", new { id = auction.Id })); } TempData.ErrorMessage("Error listing item - please make sure that you've filled in everything correctly! "); return(View("Sell", request)); }
public static async Task <StockXApiResult <ListItemResponse> > MakeListing(this StockXAccount stockAuth, string RefUrl, string skuUuid, int Amount, string ExpiresDate) { using (var httpClient = stockAuth.GetHttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://stockx.com/api/portfolio?a=ask")) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("origin", "https://stockx.com"); request.Headers.TryAddWithoutValidation("authorization", "Bearer " + stockAuth.Token); request.Headers.TryAddWithoutValidation("content-type", "application/json"); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", RefUrl.Replace("//stockx.com/", "//stockx.com/sell/")); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var NewListing = new ListItemRequest() { Action = "ask", PortfolioItem = new ListItemRequestPortfolioItem() { LocalAmount = Amount, ExpiresAt = ExpiresDate, SkuUuid = skuUuid, LocalCurrency = stockAuth.Currency, Meta = new ListItemRequestMeta { DiscountCode = "", } } }; var PostJson = JsonConvert.SerializeObject(NewListing); request.Content = new StringContent(PostJson); request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode > 399) { return(new StockXApiResult <ListItemResponse>() { Code = response.StatusCode, ResultText = txt }); } var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(new StockXApiResult <ListItemResponse>() { RO = JsonConvert.DeserializeObject <ListItemResponse>(txt, settings), Code = response.StatusCode, ResultText = txt }); } } }