コード例 #1
0
        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)
                {
                }
            }
        }
コード例 #2
0
        /// <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 + ")";
                        }
                    }
                }*/
            }


        }