You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
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<BaseSignal> LoadSignals()
|
|
{
|
|
OpenFileDialog dialog = new OpenFileDialog();
|
|
IList<BaseSignal> signalList = new List<BaseSignal>();
|
|
if (dialog.ShowDialog() == true)
|
|
try
|
|
{
|
|
var byteArray = File.ReadAllBytes(dialog.FileName);
|
|
signalList = BinaryFormatterSerialization.DeserializeBinaryFormatter<IList<BaseSignal>>(byteArray);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
return signalList;
|
|
}
|
|
|
|
public void SaveSignals(IList<BaseSignal> 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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|