public static async Task <Boolean> Save(List <TripSummary> _listSummaryLocal) { List <TripSummary> _listSummarySave = new List <TripSummary>(); foreach (TripSummary _summary in _listSummaryLocal) { if (!_summary.Sample) { _listSummarySave.Add(_summary); } } return(await Serialization.SerializeToXmlFile <List <TripSummary> >("TripList.desc", _listSummarySave)); }
public async Task Update(Boolean _reorganizeAlt, Boolean _downloadAlt, Trip.Callback _callbackPosition, Trip.Callback _callbackItinerary, Trip.Callback _callbackEnd, Page _parentLoc) { int _count = 1; _parent = _parentLoc; try { if (_downloadAlt) { // set albums positions and download foreach (Album _album in Albums) { await _album.UpdatePosition(); ProgressUpdate(_res.GetString("DownloadPosition") + " " + _count + " " + _res.GetString("Of") + " " + Albums.Count + "...", 100 * _count / Albums.Count); _count++; } if (_callbackPosition != null) { _callbackPosition(); } } // merge albums for (int _idx = Albums.Count - 2; _idx >= 0; _idx--) { if (Albums[_idx].Merge(Albums[_idx + 1], false)) { Albums.RemoveAt(_idx + 1); } } // merge force if ((_albumMergeForceDest != null) && (_albumMergeForceSrc != null) && (_albumMergeForceDest.Merge(_albumMergeForceSrc, true))) { foreach (Album _albumDelete in Albums) { if (_albumDelete.Id == _albumMergeForceSrc.Id) { Albums.Remove(_albumDelete); _albumMergeForceDest = null; _albumMergeForceSrc = null; break; } } } if (_downloadAlt) { // create itineraries ItinerariesCreate(); // create itineraries await ItinerariesDownload(); if (_callbackItinerary != null) { _callbackItinerary(); } } // reorganize folders _count = 1; if (Reorganize && _reorganizeAlt) { foreach (Album _album in Albums) { await _album.ReorganizeAlbums(GetPath()); ProgressUpdate(_res.GetString("Reorganize") + " " + _count + " " + _res.GetString("Of") + " " + Albums.Count + "...", 100 * _count / Albums.Count); _count++; } } if (_downloadAlt) { // update trip infos UpdateData(); } // rename top folders and sub-paths if (Reorganize && _reorganizeAlt) { if (Summary.SyncDropbox.InProgress) { Summary.SyncDropbox.PreviousName = GetPath(); } await RenameTopFolder(); } // CreateThumbnails await CreateThumbnails(); // Force resynchronize Summary.SyncDropbox.Finished = false; // save to file await Serialization.SerializeToXmlFile <Trip>(Id + ".trip", this); ProgressFinished(""); if (_callbackEnd != null) { _callbackEnd(); } } catch (Exception e) { Debug.WriteLine(e.Message); } }