private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args)
 {
     if (InstagramModel != null)
     {
         InstagramModel.GetShareContent(args.Request);
     }
 }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            _navigationHelper.OnNavigatedTo(e);
            await InstagramModel.LoadItemsAsync();

            DataContext = this;
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            _dataTransferManager = DataTransferManager.GetForCurrentView();
            _dataTransferManager.DataRequested += OnDataRequested;

            _navigationHelper.OnNavigatedTo(e);

            if (InstagramModel != null)
            {
                await InstagramModel.LoadItemsAsync();

                InstagramModel.SelectItem(e.Parameter);

                InstagramModel.ViewType = ViewTypes.Detail;
            }
            DataContext = this;

            // Allow this page to rotate
            _currentOrientations = DisplayInformation.AutoRotationPreferences;
            DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait
                                                         | DisplayOrientations.Landscape
                                                         | DisplayOrientations.LandscapeFlipped
                                                         | DisplayOrientations.PortraitFlipped;

            // Handle orientation changes
            DisplayInformation.GetForCurrentView().OrientationChanged += this.OnOrientationChanged;
            this.TransitionStoryboardState();
        }
        /// <summary>
        /// Saves Instagram photos to specified directory
        /// </summary>
        /// <param name="instagram"></param>
        /// <param name="dir"></param>
        private static void DownloadInstagramPhotos(InstagramModel instagram, string dir)
        {
            if (instagram != null)
            {
                Directory.CreateDirectory(dir + IG_PHOTOS);

                string instaDir = dir + IG_PHOTOS;
                Parallel.ForEach(instagram.InstagramPhotos, photo =>
                {
                    string fileName = instaDir + photo.Link.Substring(28, photo.Link.Length - 28 - 2) + ".jpg";

                    // Downloads only if the file does not yet exist
                    if (!File.Exists(instaDir + fileName))
                    {
                        try
                        {
                            if (!File.Exists(fileName))
                            {
                                new WebClient().DownloadFile(new Uri(photo.Image), fileName);
                            }
                        }
                        catch
                        {
                            // In case we also get 403 here, we just skip those pics who cares
                        }
                    }
                });
            }
        }
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            _dataTransferManager = DataTransferManager.GetForCurrentView();
            _dataTransferManager.DataRequested += OnDataRequested;

            _navigationHelper.OnNavigatedTo(e);
            await InstagramModel.LoadItemsAsync();
        }
 /// <summary>
 /// Load ViewModel items asynchronous
 /// </summary>
 public async Task LoadDataAsync(bool forceRefresh = false)
 {
     var loadTasks = new Task[]
     {
         AboutMeModel.LoadItemsAsync(forceRefresh),
         TwitterModel.LoadItemsAsync(forceRefresh),
         InstagramModel.LoadItemsAsync(forceRefresh),
         MyBlogModel.LoadItemsAsync(forceRefresh),
         MyVideosModel.LoadItemsAsync(forceRefresh),
         MyFavoriteMusicModel.LoadItemsAsync(forceRefresh),
     };
     await Task.WhenAll(loadTasks);
 }
Beispiel #7
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            _dataTransferManager = DataTransferManager.GetForCurrentView();
            _dataTransferManager.DataRequested += OnDataRequested;

            _navigationHelper.OnNavigatedTo(e);

            await InstagramModel.LoadItemsAsync();

            InstagramModel.SelectItem(e.Parameter);

            if (InstagramModel != null)
            {
                InstagramModel.ViewType = ViewTypes.Detail;
            }
            DataContext = this;
        }
Beispiel #8
0
        /// <summary>
        /// This is the default Action.
        /// </summary>
        public ActionResult Index()
        {
            if (SystemManager.IsDesignMode || SystemManager.IsPreviewMode)
            {
                Guid output;
                if (Guid.TryParse(instagramConfig.AccessToken, out output) || string.IsNullOrWhiteSpace(instagramConfig.AccessToken))
                {
                    return(View("Authorize"));
                }
            }

            var model = new InstagramModel();

            model.Media = GetMedia();

            return(View("Default", model));
        }
        /// <summary>
        /// This is the default Action.
        /// </summary>
        public ActionResult Index()
        {
            if (SystemManager.IsDesignMode || SystemManager.IsPreviewMode)
            {
                var  accessToken = siteSettingsHelper.GetCurrentSiteInstagramAccessToken();
                Guid output;
                if (Guid.TryParse(accessToken, out output) || string.IsNullOrWhiteSpace(accessToken))
                {
                    return(View("Authorize"));
                }
            }

            var model = new InstagramModel();

            model.Media = GetMedia();

            return(View("Default", model));
        }
        public MainWindowViewModel()
        {
            string day   = (DateTime.Now.Day < 10) ? $"0{DateTime.Now.Day}" : $"{DateTime.Now.Day}";
            string month = (DateTime.Now.Month < 10) ? $"0{DateTime.Now.Month}" : $"{DateTime.Now.Month}";

            Hashtag_1 = "#chernobylquest";
            Hashtag_2 = $"#chernobylquest{day}{month}";

            IsEnabledStartBtn = true;
            IsErrorAchived    = true;

            _model           = new InstagramModel();
            OpenPhotoCommand = new RelayCommand(OnOpenPhotoCommandExecute);
            OpenLogoCommand  = new RelayCommand(OnOpenLogoCommandExecute);
            StartCommand     = new RelayCommand(OnStartCommandExecute);
            StopCommand      = new RelayCommand(OnStopCommandExecute);
            PauseCommand     = new RelayCommand(OnPauseCommandExecute);
            ErrorCommand     = new RelayCommand(OnErrorCommandExecute);
        }
Beispiel #11
0
        /// <summary>
        /// Jsons the result.
        /// </summary>
        private async Task JsonResult()
        {
            try
            {
                Media  = new List <PinMedia>();
                client = new HttpClient();
                /// Need to use your access token
                GetRecentMediaUrl = Client.GetRecentMediaBaseUrl + "self" + Client.GetRecentMediaEndPoint + accessToken;
                uri    = new Uri(GetRecentMediaUrl);
                result = await client.GetStringAsync(uri);

                RecentMedia = JsonConvert.DeserializeObject <InstagramModel>(result);
                if (RecentMedia.data.Count == 0)
                {
                    ShowErrorPage();
                }
                foreach (var item in RecentMedia.data)
                {
                    PinMedia cada = new PinMedia();
                    if (item.images.standard_resolution.url != null)
                    {
                        cada.ImageUrl = item.images.standard_resolution.url;
                    }
                    if (item.location != null)
                    {
                        cada.Latitude     = item.location.latitude;
                        cada.Longitude    = item.location.longitude;
                        cada.LocationName = item.location.name;
                        if (item.caption.text != null)
                        {
                            cada.CaptionText = item.caption.text;
                        }
                        Media.Add(cada);
                    }
                }
                FillMap();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                ShowErrorPage();
            }
        }
        private void OnStartCommandExecute(object obj)
        {
            if (_hashtag1.Length == 0 && _hashtag2.Length == 0)
            {
                MessageBox.Show("Не определены значения хештегов", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                IsEnabledStartBtn   = false;
                IsEnabledPauseBtn   = true;
                IsEnabledStopButton = true;

                if (_model.IsPrintAll)
                {
                    _model = new InstagramModel();
                }

                _model.IsWorking    = true;
                _model.IsError_Need = !IsErrorAchived;

                if (Hashtag_1.Contains("#"))
                {
                    _model.Hashtag_1 = Hashtag_1.Remove(0, 1);
                }
                else
                {
                    _model.Hashtag_1 = Hashtag_1;
                }
                if (Hashtag_2.Contains("#"))
                {
                    _model.Hashtag_2 = Hashtag_2.Remove(0, 1);
                }
                else
                {
                    _model.Hashtag_2 = Hashtag_2;
                }
                _model.Start();
                _model.CreatePhoto();
                CheckPosses();
            }
        }
 protected override async void OnNavigatedTo(NavigationEventArgs e)
 {
     _navigationHelper.OnNavigatedTo(e);
     await InstagramModel.LoadItemsAsync();
 }