void ProcessResultPhotos(string content, long length) { if (length <= 0) { return; } List<PPhoto> pp = new List<PPhoto>(); //process history data string s = content; string[] sl; PPhoto p; if (s != null && s.Length != 0) { try { using (StringReader reader = new StringReader(s)) { string line; while ((line = reader.ReadLine()) != null) { if (line.Length == 0) { continue; } try { sl = line.Split('|'); if (sl.Length != 4) continue; p = new PPhoto(); p.Time = new DateTime(Int64.Parse(sl[1])); p.URL = sl[0]; p.Smile = Int32.Parse(sl[2]); p.Note = sl[3]; p.Station = null; pp.Add(p); } catch (Exception exp) { } } } App.ViewModel.PhotosDetailsStation = pp; } catch (Exception exp) { } } }
/// <summary> /// Tato metoda zpracuje data přijatá ve stringu fotografií. /// </summary> /// <param name="content"></param> public void ProcessDonwloadedPhotos(string content) { //pravděpodobně preventivní vymazání předchozích fotek App.ViewModel.PhotosGlobal = null; //pokud je string nulový, tak fotky zůstanou prázdné if (content.Length == 0) { App.ViewModel.PhotosGlobal = null; } else { //vytvoření seznamu fotografií List<PPhoto> pPhotos = new List<PPhoto>(); string contentString = content; string[] contentStringList; PPhoto pPhoto; //pokud je string neprázdný if (contentString != null && contentString.Length != 0) { try { //zajištění, že se StringReader disposne ihned po ukončení bloku a zároveň čtení stringu using (StringReader reader = new StringReader(contentString)) { string line; //čtení až do konce stringu while ((line = reader.ReadLine()) != null) { //vynechání všech prázdných řádků if (line.Length == 0) { continue; } try { //rozdělení řádků dle znaků contentStringList = line.Split('|'); //přeskočení neúplných řádků if (contentStringList.Length != 5) continue; //naparsování dat na objekt fotky pPhoto = new PPhoto(); pPhoto.Time = new DateTime(Int64.Parse(contentStringList[1])); pPhoto.URL = contentStringList[0]; pPhoto.Smile = Int32.Parse(contentStringList[2]); pPhoto.Note = contentStringList[3]; pPhoto.StationCode = contentStringList[4]; //unable to set Station, list is not ready - dřívější koment pPhotos.Add(pPhoto); } catch (Exception exp) { } } } //vložení všech fot do view modelu App.ViewModel.PhotosGlobal = pPhotos; } catch (Exception exp) { } } /* //je velice pravděpodobné, že následující if není v nové aplikaci použit, jelikož vypočítává nové fotky a jejich počet zobrazuje na nevyužitý setting //pokud byly vloženy nějaké fotky if (App.ViewModel.PhotosGlobal != null) { //vytvoření data DateTime d = DateTime.MinValue; //pokus o získání posledního data //IsolatedStorageSettings.ApplicationSettings.TryGetValue("lastPhotoTime", out d); object obj; localSettings.Containers["AppSettings"].Values.TryGetValue("lastPhotoTime", out obj); d = DateTime.Parse(obj.ToString()); //sečtení všech fotek starších než datum poslední aktualizace?? int c = 0; foreach (PPhoto photo in App.ViewModel.PhotosGlobal) { if (photo.Time > d) c++; } //pokud nejsou žádné starší fotky, načte se do titulku fotek něco?? if (c == 0) { //App.ViewModel.PivotPhotosHeader = AppResources.AppPhotos; App.ViewModel.PivotPhotosHeader = _myResourceLoader.GetString("AppPhotos"); } else { //pokud je čas poslední fotky větší než aktuální if (App.ViewModel.PhotosGlobal[App.ViewModel.PhotosGlobal.Count - 1].Time > d) { //všechny načtené jsou novější //App.ViewModel.PivotPhotosHeader = AppResources.AppPhotos + " (+" + App.ViewModel.PhotosGlobal.Count + ")"; App.ViewModel.PivotPhotosHeader = _myResourceLoader.GetString("AppPhotos") + " (+" + App.ViewModel.PhotosGlobal.Count + ")"; } else { //App.ViewModel.PivotPhotosHeader = AppResources.AppPhotos + " (" + c + ")"; App.ViewModel.PivotPhotosHeader = _myResourceLoader.GetString("AppPhotos") + " (" + c + ")"; } } }*/ } }