Esempio n. 1
0
        public async Task DeleteInstagramItemtAsync(InstagramItem item)
        {
            var resultToDelete = await _wpbDataContext.InstagramItems.FindAsync(item.Id);

            _wpbDataContext.InstagramItems.Remove(resultToDelete);
            await _wpbDataContext.SaveChangesAsync();
        }
        public async Task <IActionResult> AddInstagramItem([Bind("Id,Date,UserId,Url,IsVideo")] InstagramItem item)
        {
            //   try parse date
            try
            {
                //item.Date = DateTime.Parse(item.Date.ToString());
                item.Date = DateTime.ParseExact(item.Date.ToString(), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
            }
            catch (FormatException exp)
            {
                var exception = exp.ToString();
                ModelState.AddModelError("", "Date in format: DD/MM/YYYY missing");
                return(View(item));
            }

            if (!ModelState.IsValid)
            {
                return(View(item));
            }
            var photoUnique = await _wpbService.InstagramPhotoUnique(item.Url);

            if (!photoUnique)
            {
                ModelState.AddModelError("", $"The photo with link: {item.Url} already added.");
                return(View(item));
            }


            //  Picture required
            if (HttpContext.Request.Form.Files.Count != 0)
            {
                var photo = HttpContext.Request.Form.Files[0];
                //  yes
                if (photo.Length > 0)
                {
                    var fileName = await _wpbService.SaveInstagramPhotooAsync(photo, item.IsVideo);

                    item.Filename = fileName;
                    await _wpbService.CreateInstagramItemAsync(item);

                    return(RedirectToAction(nameof(InstagramFavsAll)));
                }
                else
                {
                    ModelState.AddModelError("", "Image missing");
                    return(View());
                }
            }
            else
            {
                ModelState.AddModelError("", "Image required");
                return(View());
            }
        }
        private async Task InitDataAsync()
        {
            var httpClient = new HttpClient();

            var json = await httpClient.GetStringAsync(
                "https://www.instagram.com/xamarinhq/media/"
                //"https://api.instagram.com/v1/users/469744406/media/recent?client_id=88a92ed981d74235a5a2be3cf549cb59"
                );

            JObject response = JsonConvert.DeserializeObject <dynamic>(json);

            var items = response.Value <JArray>("items");

            try
            {
                var instagramItems = new List <InstagramItem>();

                foreach (var item in items)
                {
                    var instagramItem = new InstagramItem
                    {
                        UserName              = item.Value <JObject>("user").Value <string>("username"),
                        FullName              = item.Value <JObject>("user").Value <string>("full_name"),
                        ProfilePicture        = item.Value <JObject>("user").Value <string>("profile_picture"),
                        LowResolutionUrl      = item.Value <JObject>("images").Value <JObject>("low_resolution").Value <string>("url"),
                        StandardResolutionUrl = item.Value <JObject>("images").Value <JObject>("standard_resolution").Value <string>("url"),
                        ThumbnailUrl          = item.Value <JObject>("images").Value <JObject>("thumbnail").Value <string>("url"),
                        Text          = item.Value <JObject>("caption").Value <string>("text"),
                        CreatedTime   = item.Value <JObject>("caption").Value <string>("created_time"),
                        LikesCount    = item.Value <JObject>("likes").Value <int>("count"),
                        CommentsCount = item.Value <JObject>("comments").Value <int>("count"),
                    };

                    instagramItems.Add(instagramItem);
                }

                InstagramItems = instagramItems;
            }
            catch (Exception exception)
            {
            }
        }
Esempio n. 4
0
 public async Task CreateInstagramItemAsync(InstagramItem item)
 {
     _wpbDataContext.InstagramItems.Add(item);
     await _wpbDataContext.SaveChangesAsync();
 }
        public IActionResult AddInstagramItem()
        {
            var newItem = new InstagramItem();

            return(View(newItem));
        }