Ejemplo n.º 1
0
 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 });
        }