public BerryContext() { if (VM_Berry == null) { VM_Berry = new BerryViewModel(); } if (VM_Item == null) { VM_Item = new ItemViewModel(); } if (VM_Type == null) { VM_Type = new TypeViewModel(); } if (VM_Category == null) { VM_Category = new CategoryViewModel(); } if (VM_Pocket == null) { VM_Pocket = new PocketViewModel(); } if (VM_Generation == null) { VM_Generation = new GenerationViewModel(); } if (VM_Region == null) { VM_Region = new RegionViewModel(); } if (VM_DamageClass == null) { VM_DamageClass = new DamageClassViewModel(); } if (VM_Language == null) { VM_Language = new LanguageViewModel(); } if (VM_ContestType == null) { VM_ContestType = new ContestTypeViewModel(); } }
public async Task <RequestResult> RenameAsync([FromBody] PocketViewModel pocket) { if (!ModelState.IsValid) { return(GetModelStateErrorsRequestResult()); } return(await _pocketService.RenameAsync(pocket.Id, pocket.Name, UserId)); }
public async Task <ActionResult <object> > PostAsync([FromForm] PocketViewModel model) { var userAccount = await _userAccountRepository.FindOrCreateAsync(User); if (!userAccount.HasPocketAccessToken) { return new { saved = false, reason = "Your account is not connected to Pocket." } } ; var article = await _articleRepository.GetByIdAsync(model.ArticleId.GetValueOrDefault()); if (article == null) { return new { saved = false, reason = "Could not find article with id " + model.ArticleId } } ; var requestJson = JsonSerializer.Serialize(new { consumer_key = ManageController.PocketConsumerKey, access_token = userAccount.PocketAccessToken, url = HttpUtility.UrlPathEncode(article.Url), title = HttpUtility.UrlEncode(article.Heading ?? string.Empty) }); var webClient = new WebClient(); webClient.Headers.Add(HttpRequestHeader.ContentType, "application/json; charset=UTF-8"); webClient.Headers.Add("X-Accept", "application/json"); var result = await webClient.UploadStringTaskAsync("https://getpocket.com/v3/add", requestJson); if (!result.TryParseJson(out AddResponse addResult, _logger)) { return new { saved = false } } ; // TODO: handle response and return appropriate json response to client return(new { saved = true }); }