using System;
using System.Windows;
using System.IO.IsolatedStorage;
using System.IO;

namespace SavingUserData
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void OpenFile_Click(object sender, RoutedEventArgs e)
        {
            //obiekt OpenFileDialog
            Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
            //filtr po rozszerzeniach
            openFileDialog.Filter = "Wszystkie pliki (*.*)|*.*";
            //aktulane lokalizacja pobrana z uzupełnionego textBoxa
            openFileDialog.FileName = textBlock.Text;
            //wywołanie okna
            Nullable<bool> result = openFileDialog.ShowDialog();
            //dalsze przetwarzanie w zależności od rezultatu
            if (result == true)
            {
                textBlock.Text = openFileDialog.FileName;
            }

        }
        protected override void OnClosed(EventArgs e)
        {
            base.OnClosed(e);
            // W momencie zamknięcia aplikacji dane są zapisywane 
            IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
            IsolatedStorageFileStream stream =
            new IsolatedStorageFileStream("infoFile2", FileMode.Create, f);
            StreamWriter writer = new StreamWriter(stream);
            writer.WriteLine(textBlock.Text);
        }
        protected override void OnInitialized(EventArgs e)
        {
            base.OnInitialized(e);
            //w momencie inicjalizacji dane są odczytywane
            IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
            IsolatedStorageFileStream stream =
            new IsolatedStorageFileStream("infoFile2", FileMode.OpenOrCreate, f);
            StreamReader reader = new StreamReader(stream);
            string info = reader.ReadLine();
            if (info != null) { textBlock.Text = info; }
        }
    }
}
