public void saveUserDetails(User user)
        {
            XmlWriterSettings x_W_Settings = new XmlWriterSettings();
            x_W_Settings.Indent = true;
            using (IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!ISF.FileExists("userDetails.xml"))
                {

                    using (IsolatedStorageFileStream stream = ISF.OpenFile("userDetails.xml", FileMode.CreateNew))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(User));
                        using (XmlWriter xmlWriter = XmlWriter.Create(stream, x_W_Settings))
                        {

                            serializer.Serialize(xmlWriter, user);

                        }
                        stream.Close();
                    }

                }
                else
                {
                    XDocument loadedData;

                    if (user != null)
                    {
                        User usr = user;
                        using (Stream stream = ISF.OpenFile("userDetails.xml", FileMode.Open, FileAccess.ReadWrite))
                        {

                            loadedData = XDocument.Load(stream);

                            loadedData.Descendants("User").Single().SetElementValue("userName", usr.userName);
                            loadedData.Descendants("User").Single().SetElementValue("Latitude", usr.location.Latitude);
                            loadedData.Descendants("User").Single().SetElementValue("Longitude", usr.location.Longitude);
                            loadedData.Descendants("User").Single().SetElementValue("LastUpdatedOn", usr.LastSubmittedDateTime);

                            stream.Close();

                        }

                        // Save To ISOconfig.xml File
                        using (IsolatedStorageFileStream newStream = new IsolatedStorageFileStream("userDetails.xml", FileMode.Create, ISF))
                        {
                            loadedData.Save(newStream);
                            newStream.Close();
                        }

                    }

                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Function to fetch userSavedData from the IsolatedStorageSettings
        /// </summary>
        /// <returns></returns>
        public User GetUserSavedData()
        {
            if(userSettings.Count > 0)
               {
               if(userSettings.Contains("NewUser"))
               {
                   newUser = (User)userSettings["NewUser"];
                   return newUser;
               }

               }

               return null;
        }
        public User readUserDetails()
        {
            User newUser = null;
            using (IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (ISF.FileExists("userDetails.xml"))
                {
                    newUser = new User();
                    using (IsolatedStorageFileStream str = ISF.OpenFile("userDetails.xml", FileMode.Open))
                    {

                        XmlSerializer serializer = new XmlSerializer(typeof(User));
                        newUser = (User)serializer.Deserialize(str);
                        str.Close();
                    }
                }
            }

            return newUser;
        }
Exemplo n.º 4
0
 /// <summary>
 /// Function to save userData to the IsolatedStorageSettings
 /// </summary>
 /// <param name="saveNewUser"></param>
 public void saveUserData(User saveNewUser)
 {
     newUser = saveNewUser;
     if (userSettings.Contains("NewUser"))
     {
         userSettings["NewUser"] = saveNewUser;
     }
     else
     {
         userSettings.Add("NewUser", saveNewUser);
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Save User info present on screen
        /// </summary>
        private void saveUserInfo()
        {
            User newUser = new User();
            newUser.userName = LocationUserName.Text;
            newUser.location.Longitude = Long.Text;
            newUser.location.Latitude = Lat.Text;
            newUser.lastUpdatedOn = lastSubmitted_txt_blk.Text;
            newUser.LastSubmittedDateTime = lastSubmittedDateTime;

            viewModel.saveUserData(newUser);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Event when page is Navigated To from App.xaml page
        /// </summary>
        /// <param name="e"></param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
          //  if (alreadyInStack)
           // {
                newUser = viewModel.GetUserSavedData();
                DateTime defaultDT = new DateTime();

                if (newUser != null)
                {
                    //this implies it is not the first time of app
                    //Hence read the saved data and display on Screen
                    isFirstTime = false;
                    Lat.Text = newUser.location.Latitude;
                    Long.Text = newUser.location.Longitude;
                    fetchLocation(isFirstTime);

                    //Calc relative time from last Submitted date and time, that was saved in the IsolatedStorage file
                    DateTime backgroundSubmissionDT = new DateTime();
                    backgroundSubmissionDT = viewModel.getLastSubmittedTimeInBackground();
                    if (backgroundSubmissionDT.Equals(defaultDT))
                    {
                        lastSubmittedDateTime = newUser.LastSubmittedDateTime;
                    }
                    else
                    {
                        lastSubmittedDateTime = backgroundSubmissionDT;
                    }
                    getRelativeLastSubmittedTime(lastSubmittedDateTime);
                    LocationUserName.Text = newUser.userName;

                }
                else
                {
                    Lat.Text = Constants.DEFAULT_COORDINATE;
                    Long.Text = Constants.DEFAULT_COORDINATE;
                    fetchLocation(isFirstTime);

                }           
          //  }
          //  alreadyInStack = false;
           
            
        }