예제 #1
0
        public FlickrImagesCollection GetImagesByTags(string tags)
        {
            var nodes  = LoadData(tags);
            var images = new List <FlickrImage>();

            foreach (XmlNode item in nodes)
            {
                var image = new FlickrImage {
                    Title = item.FirstChild.InnerText
                };
                var xmlAttributeCollection = item.ChildNodes[9].Attributes;
                if (xmlAttributeCollection != null)
                {
                    image.ImageUrl = xmlAttributeCollection["href"].Value;
                }
                if (!image.ImageUrl.Contains("creativecommons"))
                {
                    images.Add(image);
                }
            }

            return(new FlickrImagesCollection {
                Images = images, ResultIsGettedFromCache = false
            });
        }
        private async void appBarButton_Click(object sender, EventArgs e)
        {
            // Get a list of selected images
            List <FlickrImage> imgs = new List <FlickrImage>();

            foreach (object item in PhotosForLockscreen.SelectedItems)
            {
                FlickrImage img = item as FlickrImage;

                if (img != null)
                {
                    imgs.Add(img);
                }
            }

            // Clean out / remove all images currently in IsolatedStorage
            LockScreenHelpers.CleanStorage();

            // Save this new list of selected images to IsolatedStorage
            LockScreenHelpers.SaveSelectedBackgroundScreens(imgs);

            // Randomly select one item and set it as the lockscreen
            await LockScreenHelpers.SetRandomImageFromLocalStorage();

            // Test by hitting F12 twice in the emulator

            MessageBox.Show("You have a new background!", "Set!", MessageBoxButton.OK);
        }
        protected async void SearchResults_Loaded(object sender, RoutedEventArgs e)
        {
            Overlay.Visibility = Visibility.Visible;
            OverlayProgressBar.IsIndeterminate = true;

            var images = await FlickrImage.GetFlickrImages(
                FlickrApiKey,
                _topic,
                _latitude,
                _longitude,
                _radius
                );

            DataContext = images;

            if (images.Count == 0)
            {
                NoPhotosFound.Visibility = Visibility.Visible;
            }
            else
            {
                NoPhotosFound.Visibility = Visibility.Collapsed;
            }

            Overlay.Visibility = Visibility.Collapsed;
            OverlayProgressBar.IsIndeterminate = false;
        }
예제 #4
0
        private static string FormatDataRow(FlickrImage image)
        {
            string output = string.Empty;

            string additionalTagLines = string.Empty;

            string ImageURL = image.ThumbnailUrl.Replace("_t.", ".");

            if (!string.IsNullOrEmpty(image.Tags))
            {
                string[] tags = image.Tags.Split(',');
                additionalTagLines = "<div style='word-wrap:break-word'> Tags: ";
                foreach (string tag in tags)
                {
                    if (!string.IsNullOrEmpty(tag))
                    {
                        additionalTagLines += tag + ",";
                    }
                }
                additionalTagLines += "</div>";
                additionalTagLines  = additionalTagLines.Replace("\n", "\n\n");
            }

            string line1  = "<section data-padding='bottom'>";
            string line2  = "<article class='rectangle-element--article--inline--boxed--shadow' data-padding>";
            string line3  = "<div class='info'>";
            string line4  = "<div class='image'>";
            string line5  = "<a class='example-image-link' href='" + ImageURL + "' data-lightbox='example-set'><img class='example-image' src='" + ImageURL + "' alt='" + image.Title + "' /></a>";
            string line6  = "</div>";
            string line7  = "<div class='text'>";
            string line8  = "<div class='meta'>";
            string line9  = "<div class='tags'>";
            string line10 = "<time class='e-date' datetime='2020-07-05T07:55:21+02:00'>" + image.DatePosted + "</time>";
            string line11 = "<ul class='categories'>";
            string line12 = "<li>" + image.Region_Description + "</li>";
            string line13 = "";
            string line14 = "</ul>";
            string line15 = "</div>";
            string line16 = "</div>";
            string line17 = "<h3>" + image.Description + "</h3>";

            if (line17.Length > 200)
            {
                line17  = line17.Substring(0, 200);
                line17 += "<h4> <a href='" + image.WebUrl + "' target='_blank'>Read More </a></h4>";
            }
            string line18 = additionalTagLines;
            string line19 = "</div>";
            string line20 = "</div>";
            string line21 = "</article>";
            string line22 = "</section>";

            output = line1 + line2 + line3 + line4 + line5 + line6 + line7 + line8 + line9 + line10 + line11 + line12 + line13 + line14 + line15 + line16 + line17 + line18 + line19 + line20 + line21 + line22;

            return(output);
        }
예제 #5
0
        public void insertImage(FlickrImage image)
        {
            FlickrDataEntities dbContext = new FlickrDataEntities();

            if (!CheckImageExists(image.PhotoId))
            {
                dbContext.FlickrImages.Add(image);
                dbContext.SaveChanges();
            }
        }
예제 #6
0
        static void Main(string[] args)
        {
            System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
            _flickrApiKey              = configurationAppSettings.GetValue("FlickrApiKey", typeof(System.String)).ToString();
            _foursquareClientId        = configurationAppSettings.GetValue("FourSquareClientID", typeof(System.String)).ToString();
            _foursquareClientSecretKey = configurationAppSettings.GetValue("FourSquareClientSecretKey", typeof(System.String)).ToString();

            var foursquare = new Foursquare(_foursquareClientId, _foursquareClientSecretKey);

            FoursquareApi.Models.FoursquareBaseModel <FoursquareApi.Models.Venues.SearchVenuesResponse> listOfVenues = foursquare.Venues.SearchVenues("Mauritius");

            Flickr flickr = new Flickr();

            flickr.ApiKey = _flickrApiKey;

            foreach (FoursquareApi.Models.Common.Venue.CompactVenue v in listOfVenues.Response.Venues)
            {
                var options = new PhotoSearchOptions {
                    PerPage = 100, Page = 1, Latitude = v.Location.Lat, Longitude = v.Location.Lng
                };
                PhotoCollection photos = flickr.PhotosSearch(options);

                foreach (FlickrNet.Photo photo in photos)
                {
                    PhotoInfo pi = flickr.PhotosGetInfo(photo.PhotoId);

                    FlickrImage image = new FlickrImage();

                    image.DatePosted           = pi.DatePosted;
                    image.DateTaken            = pi.DateTaken;
                    image.Description          = pi.Description;
                    image.Latitude             = pi.Location.Latitude;
                    image.Longitude            = pi.Location.Longitude;
                    image.OwnerUserId          = pi.OwnerUserId;
                    image.PhotoId              = pi.PhotoId;
                    image.Region_Description   = retrieveRegionDescription(pi.Location);
                    image.Locality_Description = retrieveLocalityDescription(pi.Location);
                    image.Tags         = retrieveTags(pi.Tags);
                    image.ThumbnailUrl = pi.ThumbnailUrl;
                    image.Title        = pi.Title;
                    image.WebUrl       = pi.WebUrl;

                    ImageManager.Instance.insertImage(image);
                }
            }
        }
예제 #7
0
        // To see the raw data, have a look at
        // http://api.flickr.com/services/feeds/photos_public.gne?tags=cats


        /// <summary>
        /// Returns the image
        /// </summary>
        /// <param name="tags"></param>
        /// <returns></returns>
        public List <FlickrImage> GetImagesByTags(string tags)
        {
            var nodes  = LoadData(tags);
            var images = new List <FlickrImage>();

            foreach (XmlNode item in nodes)
            {
                var image = new FlickrImage();
                image.Title    = item.FirstChild.InnerText;
                image.ImageUrl = item.ChildNodes[9].Attributes["href"].Value;
                if (!image.ImageUrl.Contains("creativecommons"))
                {
                    images.Add(image);
                }
            }

            return(images);
        }
예제 #8
0
 private void nextButton_Click(object sender, EventArgs e)
 {
     if (jsonObject == null)//the search yeilded 0 results -> can't call Next();
     {
         EnglishDefinitionTextBox.Text = "No results for search";
         return;
     }
     else
     {
         jsonController.nextResult();
         UpdateText();
         if (flickrImageSearch.onButtonChecked())
         {
             flickrImageSearch.SetImageSearchText(suggestedSearch);
             FlickrImage.SearchImage(suggestedSearch);
         }
     }
 }
예제 #9
0
        /// <summary>
        /// Returns the images based on Search Tags
        /// </summary>
        /// <param name="tags"></param>
        /// <returns></returns>
        public List <FlickrImage> GetImagesByTags(string tags)
        {
            var images = new List <FlickrImage>();

            //Testing code Starts
            //var im = new FlickrImage
            //{
            //    Title = "test",
            //    ImageUrl = "http://www.dailydesigninspiration.com/diverse/3d/rodriguepralier/A-dude.jpg"
            //};

            //images.Add(im);

            ////Testing code Starts
            //var im1 = new FlickrImage
            //{
            //    Title = "test",
            //    ImageUrl = "http://www.bloomfield.k12.nj.us/Portals/Bloomfield/District/new.png"
            //};

            //images.Add(im1);

            //return images;
            //Testind Code Ends

            var nodes = LoadData(tags);

            foreach (XmlNode item in nodes)
            {
                var image = new FlickrImage {
                    Title = item.FirstChild.InnerText
                };
                var xmlAttributeCollection = item.ChildNodes[9].Attributes;
                if (xmlAttributeCollection != null)
                {
                    image.ImageUrl = xmlAttributeCollection["href"].Value;
                }
                if (!image.ImageUrl.Contains("creativecommons"))
                {
                    images.Add(image);
                }
            }
            return(images);
        }
    public async Task <ActionResult> Index(string keyword, int z = 2)
    {
        var allPhotos = from a in db.Photos
                        select a;

        var abc = allPhotos.Any(x => x.keyword == keyword);


        if (abc)
        {
            var selectedPhotos = from x in allPhotos
                                 where x.keyword == keyword
                                 select x;

            //<a href= @(string.Format(
            //     "http://farm{0}.staticflickr.com/{1}/{2}_{3}.jpg",	 item.farm,item.server, item.id, item.secret).ToString()) > <img src= @(string.Format(
            //         "http://farm{0}.staticflickr.com/{1}/{2}_{3}_n.jpg",	 item.farm,item.server, item.id, item.secret).ToString()) /> </a>@*
            List <FlickrImage> images = new List <FlickrImage>();
            foreach (var p in selectedPhotos)
            {
                FlickrImage obj = new FlickrImage();
                obj.Image1024 = (new Uri(string.Format(
                                             "http://farm{0}.staticflickr.com/{1}/{2}_{3}.jpg", p.farm, p.server, p.id, p.secret)));
                obj.Image320 = new Uri(string.Format(
                                           "http://farm{0}.staticflickr.com/{1}/{2}_{3}_n.jpg", p.farm, p.server, p.id, p.secret));
                obj.ImagePage = new Uri(string.Format("http://www.flickr.com/photos/{0}/{1}", p.owner, p.id));
                images.Add(obj);
            }
            return(View(images));
        }
        List <Photo>       photos = new List <Photo>();
        List <FlickrImage> imgs   = await FlickrImage.GetFlickrImages(keyword);

        foreach (var p in imgs)
        {
            photos.Add(p.photo);
        }

        Create(photos);
        return(View(imgs));
    }
예제 #11
0
 //Search using jisho.org & flickr apis
 public void Search(string searchText)
 {
     jsonObject = jsonController.setJson(searchText);
     FlickrImage.SearchImage(searchText);
 }
예제 #12
0
 private void OnFlickrImageSearchButton_Click(object sender, EventArgs e)
 {
     FlickrImage.SearchImage(flickrImageSearch.GetImageSearchText());
 }