public Picture(StorageFolder _rootFolder, StorageFolder _currentFolder, StorageFile _file) { PictureInfos = new PlaceInfos(); _fileHandler = _file; PathFolder = _currentFolder.Path; Name = _file.DisplayName; Extension = _file.FileType.ToLower(); }
public Album(int _id, String _path, String _root) { Pictures = new List <Picture>(); AlbumInfos = new PlaceInfos(); Summary = new AlbumSummary(); Position = new GpsLocation(); Id = _id.ToString(); PathAlbum = _path.Replace(_root + "\\", ""); PathRoot = _root; // download at first import _requestLocationUpdate = true; _requestThumbnailUpdate = true; }
public async Task <Boolean> UpdatePosition() { int _connectionFailedStatus = 0; int CONNECTION_FAIL_MAX = 3; Boolean _first = true; DateArrival = Pictures.First <Picture>().Date; DateDeparture = Pictures.Last <Picture>().Date; // download only if requested before foreach (Picture _picture in Pictures) { // stop try downloading if 3 fails before if ((_picture.PositionPresent) && (_requestLocationUpdate) && (_connectionFailedStatus < CONNECTION_FAIL_MAX)) { // update album position from first valid picture only if (_first) { Position = new GpsLocation(_picture.Position); _first = false; } if (await _picture.Download()) { if (_picture.PictureInfos.InfoPresent) { if (_picture.PictureInfos.City != null) { DisplayName = _picture.PictureInfos.City + ", " + _picture.PictureInfos.Country; } else if (_picture.PictureInfos.Region != null) { DisplayName = _picture.PictureInfos.Region + ", " + _picture.PictureInfos.Country; } else if (_picture.PictureInfos.Establishment != null) { DisplayName = _picture.PictureInfos.Establishment; } else { DisplayName = _picture.PictureInfos.Country; } AlbumInfos = _picture.PictureInfos; _requestLocationUpdate = false; } else { _connectionFailedStatus++; } } else { _connectionFailedStatus++; } } } if ((DisplayName == null) && (!AlbumInfos.InfoPresent)) { DisplayName = PathAlbum.Remove(0, PathAlbum.LastIndexOf("\\") + 1); } Summary.Id = Id; Summary.Name = DisplayName; if (AlbumInfos.InfoPresent) { Summary.StrLocationShort = AlbumInfos.Region; if ((AlbumInfos.City == null) && (AlbumInfos.Region != null)) { Summary.StrLocationShort = AlbumInfos.Region; Summary.StrLocation = AlbumInfos.Region; } else if ((AlbumInfos.City != null) && (AlbumInfos.Region == null)) { Summary.StrLocationShort = AlbumInfos.City; Summary.StrLocation = AlbumInfos.City; } else if ((AlbumInfos.City != null) && (AlbumInfos.Region != null)) { Summary.StrLocationShort = AlbumInfos.City; Summary.StrLocation = AlbumInfos.City + ", " + AlbumInfos.Region; } else { Summary.StrLocationShort = DisplayName; Summary.StrLocation = DisplayName; } } else { Summary.StrLocationShort = DisplayName; Summary.StrLocation = DisplayName; } return(true); }