using Microsoft.Win32; using SignalsMVVM.HelperClasses; using SignalsMVVM.Interfaces; using System; using System.Collections.Generic; using System.IO; using System.Windows; namespace SignalsMVVM.Models { public class SignalController : ISignalLoader, ISignalSaver { public IList LoadSignals() { OpenFileDialog dialog = new OpenFileDialog(); IList signalList = new List(); if (dialog.ShowDialog() == true) try { var byteArray = File.ReadAllBytes(dialog.FileName); signalList = BinaryFormatterSerialization.DeserializeBinaryFormatter>(byteArray); } catch (Exception ex) { MessageBox.Show(ex.Message); } return signalList; } public void SaveSignals(IList signals) { SaveFileDialog dialog = new SaveFileDialog(); if (dialog.ShowDialog() != true) return; try { File.WriteAllBytes(dialog.FileName, BinaryFormatterSerialization.SerializeBinaryFormatter(signals)); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }