Example #1
0
 /// <summary>
 /// Single conv object is serialized to file
 /// </summary>
 /// <param name="obj"></param>
 public static void saveConvObject(ConversationListObject obj, string msisdn)
 {
     lock (readWriteLock)
     {
         string FileName = CONVERSATIONS_DIRECTORY + "\\" + msisdn;
         using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) // grab the storage
         {
             using (var file = store.OpenFile(FileName, FileMode.Create, FileAccess.Write))
             {
                 using (var writer = new BinaryWriter(file))
                 {
                     writer.Seek(0, SeekOrigin.Begin);
                     obj.Write(writer);
                 }
             }
         }
     }
 }
Example #2
0
        public static void saveNewConv(ConversationListObject obj)
        {
            int       convs = 0;
            Stopwatch st    = Stopwatch.StartNew();
            Dictionary <string, ConversationListObject> convMap = App.ViewModel.ConvMap;

            lock (readWriteLock)
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) // grab the storage
                {
                    string FileName = CONVERSATIONS_DIRECTORY + "\\" + "_Convs";
                    using (var file = store.OpenFile(FileName, FileMode.Create, FileAccess.Write))
                    {
                        using (var writer = new BinaryWriter(file))
                        {
                            int count = (convMap == null ? 0 : convMap.Count) + 1;
                            writer.Write(count);
                            obj.Write(writer);
                            if (convMap != null && convMap.Count > 0)
                            {
                                foreach (ConversationListObject item in convMap.Values)
                                {
                                    item.Write(writer);
                                    convs++;
                                }
                            }
                        }
                    }
                    store.DeleteFile(CONVERSATIONS_DIRECTORY + "\\" + "Convs");
                    store.MoveFile(CONVERSATIONS_DIRECTORY + "\\" + "_Convs", CONVERSATIONS_DIRECTORY + "\\" + "Convs");
                }
            }
            st.Stop();
            long mSec = st.ElapsedMilliseconds;

            Debug.WriteLine("Time to save {0} conversations : {1}", convs, mSec);
        }