using System; using System.IO; using System.IO.IsolatedStorage; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Threading; using System.Xml; using System.Xml.Serialization; namespace Juick.Classes { public class AccountManager { const string FileName = "account.xml"; public NetworkCredential Credentials { get { return new NetworkCredential { UserName = IsolatedStorageSettings.ApplicationSettings.Contains("user") ? IsolatedStorageSettings.ApplicationSettings["user"] as string : null, Password = IsolatedStorageSettings.ApplicationSettings.Contains("password") ? IsolatedStorageSettings.ApplicationSettings["password"] as string : null, }; } set { var creds = value; if (creds != null) { IsolatedStorageSettings.ApplicationSettings["user"] = value.UserName; IsolatedStorageSettings.ApplicationSettings["password"] = value.Password; } else { IsolatedStorageSettings.ApplicationSettings["user"] = null; IsolatedStorageSettings.ApplicationSettings["password"] = null; } } } public void SignIn(Page page, string login, string pass) { Credentials = new NetworkCredential(login, pass); page.NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); page.Dispatcher.BeginInvoke(() => page.NavigationService.RemoveBackEntry()); } public void SignOut(Page page) { Credentials = null; page.NavigationService.Navigate(new Uri("/LoginView.xaml", UriKind.Relative)); page.Dispatcher.BeginInvoke(() => page.NavigationService.RemoveBackEntry()); } } }