コード例 #1
0
        public void LoadNewPhotos()
        {
            if (NewTravelPhotos.Count != 0)
            {
                return;  // already loaded
            }
            LoadNewFiles();

            if (NewPhotoFiles.Count == 0)
            {
                return;
            }

            CreateNewPhotos(NewPhotoFiles);

            _photoRepo.Save();
        }
コード例 #2
0
        public void CreateNewPhotos(bool stopOnFirstTravelPhoto = false)
        {
            var excludedfilesKey = _photoRepo.Content.ExcludedFileKeys;

            DateTime lastFileDetectedTime = DateTime.MinValue;

            foreach (var file in  _fileFolder.GetFiles(_photoRepo.Content.LastFileDetectionTime))
            {
                lastFileDetectedTime = file.DetectedTime;

                if (excludedfilesKey.Any(x => file.FileKey == x))
                {
                    continue;
                }

                if (_photoRepo.Content.Photos.Exists(p => p.FileKey == file.FileKey))
                {
                    continue;
                }

                var photo = CreatePhoto(file);

                AddPhoto(photo);

                if (stopOnFirstTravelPhoto && photo.IsTravelCandidate)
                {
                    break;
                }
            }

            if (lastFileDetectedTime > _photoRepo.Content.LastFileDetectionTime)
            {
                _photoRepo.Content.LastFileDetectionTime = lastFileDetectedTime;
            }
            _photoRepo.Save();
        }