diff --git a/Minutes.sln b/Minutes.sln index 7bd4aa1..ae685ac 100644 --- a/Minutes.sln +++ b/Minutes.sln @@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.8.34511.84 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Minutes", "Minutes.csproj", "{F321B42E-11CB-4273-9098-49131F8A0218}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Minutes", "Minutes\Minutes.csproj", "{1C650548-4AE1-4D71-AB1F-B025A8427713}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Storage", "Storage\Storage.csproj", "{8DC74F45-E20E-4B8D-A46C-715C0235AF19}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,10 +13,14 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F321B42E-11CB-4273-9098-49131F8A0218}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F321B42E-11CB-4273-9098-49131F8A0218}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F321B42E-11CB-4273-9098-49131F8A0218}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F321B42E-11CB-4273-9098-49131F8A0218}.Release|Any CPU.Build.0 = Release|Any CPU + {1C650548-4AE1-4D71-AB1F-B025A8427713}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C650548-4AE1-4D71-AB1F-B025A8427713}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C650548-4AE1-4D71-AB1F-B025A8427713}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C650548-4AE1-4D71-AB1F-B025A8427713}.Release|Any CPU.Build.0 = Release|Any CPU + {8DC74F45-E20E-4B8D-A46C-715C0235AF19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DC74F45-E20E-4B8D-A46C-715C0235AF19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DC74F45-E20E-4B8D-A46C-715C0235AF19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DC74F45-E20E-4B8D-A46C-715C0235AF19}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/App.xaml b/Minutes/App.xaml similarity index 100% rename from App.xaml rename to Minutes/App.xaml diff --git a/App.xaml.cs b/Minutes/App.xaml.cs similarity index 100% rename from App.xaml.cs rename to Minutes/App.xaml.cs diff --git a/AssemblyInfo.cs b/Minutes/AssemblyInfo.cs similarity index 100% rename from AssemblyInfo.cs rename to Minutes/AssemblyInfo.cs diff --git a/AudioVisualizerControl.xaml b/Minutes/AudioVisualizerControl.xaml similarity index 100% rename from AudioVisualizerControl.xaml rename to Minutes/AudioVisualizerControl.xaml diff --git a/AudioVisualizerControl.xaml.cs b/Minutes/AudioVisualizerControl.xaml.cs similarity index 100% rename from AudioVisualizerControl.xaml.cs rename to Minutes/AudioVisualizerControl.xaml.cs diff --git a/Core/RecordingDeviceType.cs b/Minutes/Core/RecordingDeviceType.cs similarity index 100% rename from Core/RecordingDeviceType.cs rename to Minutes/Core/RecordingDeviceType.cs diff --git a/Core/ViewModel.cs b/Minutes/Core/ViewModel.cs similarity index 100% rename from Core/ViewModel.cs rename to Minutes/Core/ViewModel.cs diff --git a/Docs/Modules/ModelsFolderREADME.md b/Minutes/Docs/Modules/ModelsFolderREADME.md similarity index 100% rename from Docs/Modules/ModelsFolderREADME.md rename to Minutes/Docs/Modules/ModelsFolderREADME.md diff --git a/Docs/Modules/ProjectStructureREADME.md b/Minutes/Docs/Modules/ProjectStructureREADME.md similarity index 100% rename from Docs/Modules/ProjectStructureREADME.md rename to Minutes/Docs/Modules/ProjectStructureREADME.md diff --git a/Docs/Patterns/DependencyInjectionREADME.md b/Minutes/Docs/Patterns/DependencyInjectionREADME.md similarity index 100% rename from Docs/Patterns/DependencyInjectionREADME.md rename to Minutes/Docs/Patterns/DependencyInjectionREADME.md diff --git a/Docs/Patterns/MediatorREADME.md b/Minutes/Docs/Patterns/MediatorREADME.md similarity index 100% rename from Docs/Patterns/MediatorREADME.md rename to Minutes/Docs/Patterns/MediatorREADME.md diff --git a/Docs/ServicesOverview.md b/Minutes/Docs/ServicesOverview.md similarity index 100% rename from Docs/ServicesOverview.md rename to Minutes/Docs/ServicesOverview.md diff --git a/Fonts/AntipastoPro-Bold_trial.ttf b/Minutes/Fonts/AntipastoPro-Bold_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Bold_trial.ttf rename to Minutes/Fonts/AntipastoPro-Bold_trial.ttf diff --git a/Fonts/AntipastoPro-DemiBold_trial.ttf b/Minutes/Fonts/AntipastoPro-DemiBold_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-DemiBold_trial.ttf rename to Minutes/Fonts/AntipastoPro-DemiBold_trial.ttf diff --git a/Fonts/AntipastoPro-ExtraBold_trial.ttf b/Minutes/Fonts/AntipastoPro-ExtraBold_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-ExtraBold_trial.ttf rename to Minutes/Fonts/AntipastoPro-ExtraBold_trial.ttf diff --git a/Fonts/AntipastoPro-Extralight_trial.ttf b/Minutes/Fonts/AntipastoPro-Extralight_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Extralight_trial.ttf rename to Minutes/Fonts/AntipastoPro-Extralight_trial.ttf diff --git a/Fonts/AntipastoPro-Hairline_trial.ttf b/Minutes/Fonts/AntipastoPro-Hairline_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Hairline_trial.ttf rename to Minutes/Fonts/AntipastoPro-Hairline_trial.ttf diff --git a/Fonts/AntipastoPro-Light_trial.ttf b/Minutes/Fonts/AntipastoPro-Light_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Light_trial.ttf rename to Minutes/Fonts/AntipastoPro-Light_trial.ttf diff --git a/Fonts/AntipastoPro-Medium_trial.ttf b/Minutes/Fonts/AntipastoPro-Medium_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Medium_trial.ttf rename to Minutes/Fonts/AntipastoPro-Medium_trial.ttf diff --git a/Fonts/AntipastoPro-Thin_trial 2.ttf b/Minutes/Fonts/AntipastoPro-Thin_trial 2.ttf similarity index 100% rename from Fonts/AntipastoPro-Thin_trial 2.ttf rename to Minutes/Fonts/AntipastoPro-Thin_trial 2.ttf diff --git a/Fonts/AntipastoPro-Thin_trial.ttf b/Minutes/Fonts/AntipastoPro-Thin_trial.ttf similarity index 100% rename from Fonts/AntipastoPro-Thin_trial.ttf rename to Minutes/Fonts/AntipastoPro-Thin_trial.ttf diff --git a/Fonts/AntipastoPro_trial.ttf b/Minutes/Fonts/AntipastoPro_trial.ttf similarity index 100% rename from Fonts/AntipastoPro_trial.ttf rename to Minutes/Fonts/AntipastoPro_trial.ttf diff --git a/Fonts/Inter-Black.ttf b/Minutes/Fonts/Inter-Black.ttf similarity index 100% rename from Fonts/Inter-Black.ttf rename to Minutes/Fonts/Inter-Black.ttf diff --git a/Fonts/Inter-Bold.ttf b/Minutes/Fonts/Inter-Bold.ttf similarity index 100% rename from Fonts/Inter-Bold.ttf rename to Minutes/Fonts/Inter-Bold.ttf diff --git a/Fonts/Inter-ExtraBold.ttf b/Minutes/Fonts/Inter-ExtraBold.ttf similarity index 100% rename from Fonts/Inter-ExtraBold.ttf rename to Minutes/Fonts/Inter-ExtraBold.ttf diff --git a/Fonts/Inter-ExtraLight.ttf b/Minutes/Fonts/Inter-ExtraLight.ttf similarity index 100% rename from Fonts/Inter-ExtraLight.ttf rename to Minutes/Fonts/Inter-ExtraLight.ttf diff --git a/Fonts/Inter-Light.ttf b/Minutes/Fonts/Inter-Light.ttf similarity index 100% rename from Fonts/Inter-Light.ttf rename to Minutes/Fonts/Inter-Light.ttf diff --git a/Fonts/Inter-Medium.ttf b/Minutes/Fonts/Inter-Medium.ttf similarity index 100% rename from Fonts/Inter-Medium.ttf rename to Minutes/Fonts/Inter-Medium.ttf diff --git a/Fonts/Inter-Regular.ttf b/Minutes/Fonts/Inter-Regular.ttf similarity index 100% rename from Fonts/Inter-Regular.ttf rename to Minutes/Fonts/Inter-Regular.ttf diff --git a/Fonts/Inter-SemiBold.ttf b/Minutes/Fonts/Inter-SemiBold.ttf similarity index 100% rename from Fonts/Inter-SemiBold.ttf rename to Minutes/Fonts/Inter-SemiBold.ttf diff --git a/Fonts/Inter-Thin.ttf b/Minutes/Fonts/Inter-Thin.ttf similarity index 100% rename from Fonts/Inter-Thin.ttf rename to Minutes/Fonts/Inter-Thin.ttf diff --git a/Icons/EnchTrans.png b/Minutes/Icons/EnchTrans.png similarity index 100% rename from Icons/EnchTrans.png rename to Minutes/Icons/EnchTrans.png diff --git a/Icons/Maximize.png b/Minutes/Icons/Maximize.png similarity index 100% rename from Icons/Maximize.png rename to Minutes/Icons/Maximize.png diff --git a/Icons/MaximizeIcon.png b/Minutes/Icons/MaximizeIcon.png similarity index 100% rename from Icons/MaximizeIcon.png rename to Minutes/Icons/MaximizeIcon.png diff --git a/Icons/Microphone.png b/Minutes/Icons/Microphone.png similarity index 100% rename from Icons/Microphone.png rename to Minutes/Icons/Microphone.png diff --git a/Icons/MicrophoneCrossed.png b/Minutes/Icons/MicrophoneCrossed.png similarity index 100% rename from Icons/MicrophoneCrossed.png rename to Minutes/Icons/MicrophoneCrossed.png diff --git a/Icons/Options.png b/Minutes/Icons/Options.png similarity index 100% rename from Icons/Options.png rename to Minutes/Icons/Options.png diff --git a/Icons/PlusIcon.png b/Minutes/Icons/PlusIcon.png similarity index 100% rename from Icons/PlusIcon.png rename to Minutes/Icons/PlusIcon.png diff --git a/Icons/Summ.png b/Minutes/Icons/Summ.png similarity index 100% rename from Icons/Summ.png rename to Minutes/Icons/Summ.png diff --git a/Icons/Trans.png b/Minutes/Icons/Trans.png similarity index 100% rename from Icons/Trans.png rename to Minutes/Icons/Trans.png diff --git a/Icons/UserIcon.png b/Minutes/Icons/UserIcon.png similarity index 100% rename from Icons/UserIcon.png rename to Minutes/Icons/UserIcon.png diff --git a/Icons/WinSize.png b/Minutes/Icons/WinSize.png similarity index 100% rename from Icons/WinSize.png rename to Minutes/Icons/WinSize.png diff --git a/MVVM/Models/AudioRecorder.cs b/Minutes/MVVM/Models/AudioRecorder.cs similarity index 100% rename from MVVM/Models/AudioRecorder.cs rename to Minutes/MVVM/Models/AudioRecorder.cs diff --git a/MVVM/Models/FftAudioTransformer.cs b/Minutes/MVVM/Models/FftAudioTransformer.cs similarity index 100% rename from MVVM/Models/FftAudioTransformer.cs rename to Minutes/MVVM/Models/FftAudioTransformer.cs diff --git a/MVVM/Models/WebsocketManager.cs b/Minutes/MVVM/Models/WebsocketManager.cs similarity index 100% rename from MVVM/Models/WebsocketManager.cs rename to Minutes/MVVM/Models/WebsocketManager.cs diff --git a/MVVM/ViewModels/AlwaysTopWidgetHomeViewModel.cs b/Minutes/MVVM/ViewModels/AlwaysTopWidgetHomeViewModel.cs similarity index 100% rename from MVVM/ViewModels/AlwaysTopWidgetHomeViewModel.cs rename to Minutes/MVVM/ViewModels/AlwaysTopWidgetHomeViewModel.cs diff --git a/MVVM/ViewModels/AlwaysTopWidgetMainViewModel.cs b/Minutes/MVVM/ViewModels/AlwaysTopWidgetMainViewModel.cs similarity index 100% rename from MVVM/ViewModels/AlwaysTopWidgetMainViewModel.cs rename to Minutes/MVVM/ViewModels/AlwaysTopWidgetMainViewModel.cs diff --git a/MVVM/ViewModels/EnhancedTranscriptionTextViewModel.cs b/Minutes/MVVM/ViewModels/EnhancedTranscriptionTextViewModel.cs similarity index 100% rename from MVVM/ViewModels/EnhancedTranscriptionTextViewModel.cs rename to Minutes/MVVM/ViewModels/EnhancedTranscriptionTextViewModel.cs diff --git a/MVVM/ViewModels/HomeViewModel.cs b/Minutes/MVVM/ViewModels/HomeViewModel.cs similarity index 100% rename from MVVM/ViewModels/HomeViewModel.cs rename to Minutes/MVVM/ViewModels/HomeViewModel.cs diff --git a/MVVM/ViewModels/LoginViewModel.cs b/Minutes/MVVM/ViewModels/LoginViewModel.cs similarity index 97% rename from MVVM/ViewModels/LoginViewModel.cs rename to Minutes/MVVM/ViewModels/LoginViewModel.cs index c231dc6..5c41aa4 100644 --- a/MVVM/ViewModels/LoginViewModel.cs +++ b/Minutes/MVVM/ViewModels/LoginViewModel.cs @@ -45,6 +45,7 @@ public async void RegisterUser(object o) } try { + Message = "Creating account..."; using var httpClient = new HttpClient(); var jsonContent = new StringContent( JsonConvert.SerializeObject(new { email = Mail, password = new System.Net.NetworkCredential(string.Empty, password).Password }), @@ -84,6 +85,7 @@ public async void LoginUser(object o) } try { + Message = "Logging in..."; using var httpClient = new HttpClient(); var jsonContent = new StringContent(JsonConvert.SerializeObject( new { email = Mail, password = new System.Net.NetworkCredential(string.Empty, password).Password }), Encoding.UTF8, "application/json"); diff --git a/MVVM/ViewModels/MainViewModel.cs b/Minutes/MVVM/ViewModels/MainViewModel.cs similarity index 100% rename from MVVM/ViewModels/MainViewModel.cs rename to Minutes/MVVM/ViewModels/MainViewModel.cs diff --git a/MVVM/ViewModels/SummaryTextViewModel.cs b/Minutes/MVVM/ViewModels/SummaryTextViewModel.cs similarity index 100% rename from MVVM/ViewModels/SummaryTextViewModel.cs rename to Minutes/MVVM/ViewModels/SummaryTextViewModel.cs diff --git a/MVVM/ViewModels/TranscriptionTextViewModel.cs b/Minutes/MVVM/ViewModels/TranscriptionTextViewModel.cs similarity index 100% rename from MVVM/ViewModels/TranscriptionTextViewModel.cs rename to Minutes/MVVM/ViewModels/TranscriptionTextViewModel.cs diff --git a/MVVM/Views/AlwaysTopWidgetView.xaml b/Minutes/MVVM/Views/AlwaysTopWidgetView.xaml similarity index 100% rename from MVVM/Views/AlwaysTopWidgetView.xaml rename to Minutes/MVVM/Views/AlwaysTopWidgetView.xaml diff --git a/MVVM/Views/AlwaysTopWidgetView.xaml.cs b/Minutes/MVVM/Views/AlwaysTopWidgetView.xaml.cs similarity index 100% rename from MVVM/Views/AlwaysTopWidgetView.xaml.cs rename to Minutes/MVVM/Views/AlwaysTopWidgetView.xaml.cs diff --git a/MVVM/Views/EnhancedTranscriptionTextView.xaml b/Minutes/MVVM/Views/EnhancedTranscriptionTextView.xaml similarity index 100% rename from MVVM/Views/EnhancedTranscriptionTextView.xaml rename to Minutes/MVVM/Views/EnhancedTranscriptionTextView.xaml diff --git a/MVVM/Views/EnhancedTranscriptionTextView.xaml.cs b/Minutes/MVVM/Views/EnhancedTranscriptionTextView.xaml.cs similarity index 100% rename from MVVM/Views/EnhancedTranscriptionTextView.xaml.cs rename to Minutes/MVVM/Views/EnhancedTranscriptionTextView.xaml.cs diff --git a/MVVM/Views/HomeView.xaml b/Minutes/MVVM/Views/HomeView.xaml similarity index 100% rename from MVVM/Views/HomeView.xaml rename to Minutes/MVVM/Views/HomeView.xaml diff --git a/MVVM/Views/HomeView.xaml.cs b/Minutes/MVVM/Views/HomeView.xaml.cs similarity index 100% rename from MVVM/Views/HomeView.xaml.cs rename to Minutes/MVVM/Views/HomeView.xaml.cs diff --git a/MVVM/Views/LoginView.xaml b/Minutes/MVVM/Views/LoginView.xaml similarity index 100% rename from MVVM/Views/LoginView.xaml rename to Minutes/MVVM/Views/LoginView.xaml diff --git a/MVVM/Views/LoginView.xaml.cs b/Minutes/MVVM/Views/LoginView.xaml.cs similarity index 100% rename from MVVM/Views/LoginView.xaml.cs rename to Minutes/MVVM/Views/LoginView.xaml.cs diff --git a/MVVM/Views/SummaryTextView.xaml b/Minutes/MVVM/Views/SummaryTextView.xaml similarity index 100% rename from MVVM/Views/SummaryTextView.xaml rename to Minutes/MVVM/Views/SummaryTextView.xaml diff --git a/MVVM/Views/SummaryTextView.xaml.cs b/Minutes/MVVM/Views/SummaryTextView.xaml.cs similarity index 100% rename from MVVM/Views/SummaryTextView.xaml.cs rename to Minutes/MVVM/Views/SummaryTextView.xaml.cs diff --git a/MVVM/Views/TranscriptionTextView.xaml b/Minutes/MVVM/Views/TranscriptionTextView.xaml similarity index 100% rename from MVVM/Views/TranscriptionTextView.xaml rename to Minutes/MVVM/Views/TranscriptionTextView.xaml diff --git a/MVVM/Views/TranscriptionTextView.xaml.cs b/Minutes/MVVM/Views/TranscriptionTextView.xaml.cs similarity index 100% rename from MVVM/Views/TranscriptionTextView.xaml.cs rename to Minutes/MVVM/Views/TranscriptionTextView.xaml.cs diff --git a/Minutes.csproj b/Minutes/Minutes.csproj similarity index 98% rename from Minutes.csproj rename to Minutes/Minutes.csproj index 7daa2a8..5cace6b 100644 --- a/Minutes.csproj +++ b/Minutes/Minutes.csproj @@ -156,4 +156,8 @@ + + + + diff --git a/Resources/Colors.xaml b/Minutes/Resources/Colors.xaml similarity index 100% rename from Resources/Colors.xaml rename to Minutes/Resources/Colors.xaml diff --git a/Resources/Styles.xaml b/Minutes/Resources/Styles.xaml similarity index 100% rename from Resources/Styles.xaml rename to Minutes/Resources/Styles.xaml diff --git a/Services/INavigationService.cs b/Minutes/Services/INavigationService.cs similarity index 100% rename from Services/INavigationService.cs rename to Minutes/Services/INavigationService.cs diff --git a/Services/IPasswordContainer.cs b/Minutes/Services/IPasswordContainer.cs similarity index 100% rename from Services/IPasswordContainer.cs rename to Minutes/Services/IPasswordContainer.cs diff --git a/Services/IRecordingDevice.cs b/Minutes/Services/IRecordingDevice.cs similarity index 100% rename from Services/IRecordingDevice.cs rename to Minutes/Services/IRecordingDevice.cs diff --git a/Services/IRecordingService.cs b/Minutes/Services/IRecordingService.cs similarity index 100% rename from Services/IRecordingService.cs rename to Minutes/Services/IRecordingService.cs diff --git a/Services/ITimerService.cs b/Minutes/Services/ITimerService.cs similarity index 100% rename from Services/ITimerService.cs rename to Minutes/Services/ITimerService.cs diff --git a/Services/ITranscriptionService.cs b/Minutes/Services/ITranscriptionService.cs similarity index 100% rename from Services/ITranscriptionService.cs rename to Minutes/Services/ITranscriptionService.cs diff --git a/Services/IWindowNavigationService.cs b/Minutes/Services/IWindowNavigationService.cs similarity index 100% rename from Services/IWindowNavigationService.cs rename to Minutes/Services/IWindowNavigationService.cs diff --git a/Services/NavServiceInterfaces.cs b/Minutes/Services/NavServiceInterfaces.cs similarity index 100% rename from Services/NavServiceInterfaces.cs rename to Minutes/Services/NavServiceInterfaces.cs diff --git a/Services/NavigationService.cs b/Minutes/Services/NavigationService.cs similarity index 100% rename from Services/NavigationService.cs rename to Minutes/Services/NavigationService.cs diff --git a/Services/RecordingService.cs b/Minutes/Services/RecordingService.cs similarity index 100% rename from Services/RecordingService.cs rename to Minutes/Services/RecordingService.cs diff --git a/Services/TimerService.cs b/Minutes/Services/TimerService.cs similarity index 100% rename from Services/TimerService.cs rename to Minutes/Services/TimerService.cs diff --git a/Services/TranscriptionService.cs b/Minutes/Services/TranscriptionService.cs similarity index 100% rename from Services/TranscriptionService.cs rename to Minutes/Services/TranscriptionService.cs diff --git a/Services/WasapiLoopBackCaptureRecordingDevice.cs b/Minutes/Services/WasapiLoopBackCaptureRecordingDevice.cs similarity index 100% rename from Services/WasapiLoopBackCaptureRecordingDevice.cs rename to Minutes/Services/WasapiLoopBackCaptureRecordingDevice.cs diff --git a/Services/WaveInEventRecordingDevice.cs b/Minutes/Services/WaveInEventRecordingDevice.cs similarity index 100% rename from Services/WaveInEventRecordingDevice.cs rename to Minutes/Services/WaveInEventRecordingDevice.cs diff --git a/Services/WindowNavigationService.cs b/Minutes/Services/WindowNavigationService.cs similarity index 100% rename from Services/WindowNavigationService.cs rename to Minutes/Services/WindowNavigationService.cs diff --git a/Utils/Mediator.cs b/Minutes/Utils/Mediator.cs similarity index 100% rename from Utils/Mediator.cs rename to Minutes/Utils/Mediator.cs diff --git a/Windows/AlwaysTopWidgetWindow.xaml b/Minutes/Windows/AlwaysTopWidgetWindow.xaml similarity index 100% rename from Windows/AlwaysTopWidgetWindow.xaml rename to Minutes/Windows/AlwaysTopWidgetWindow.xaml diff --git a/Windows/AlwaysTopWidgetWindow.xaml.cs b/Minutes/Windows/AlwaysTopWidgetWindow.xaml.cs similarity index 100% rename from Windows/AlwaysTopWidgetWindow.xaml.cs rename to Minutes/Windows/AlwaysTopWidgetWindow.xaml.cs diff --git a/Windows/MainWindow.xaml b/Minutes/Windows/MainWindow.xaml similarity index 100% rename from Windows/MainWindow.xaml rename to Minutes/Windows/MainWindow.xaml diff --git a/Windows/MainWindow.xaml.cs b/Minutes/Windows/MainWindow.xaml.cs similarity index 100% rename from Windows/MainWindow.xaml.cs rename to Minutes/Windows/MainWindow.xaml.cs diff --git a/Storage/IStore.cs b/Storage/IStore.cs new file mode 100644 index 0000000..b867aa5 --- /dev/null +++ b/Storage/IStore.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Storage; +public interface IStore +{ + // Yes, this could be a property. + // No, it will not be a property. + // Why? Because you don't want to set it willy-nilly, + // so you will have to suffer whenever you want to change it. + public string GetLocation(); + public void SetLocation(string location); + public IWriter CreateWriter(string identity); + public IReader CreateReader(string identity); +} diff --git a/Storage/Reader/IReader.cs b/Storage/Reader/IReader.cs new file mode 100644 index 0000000..dc5c5b8 --- /dev/null +++ b/Storage/Reader/IReader.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Storage; +public interface IReader +{ + public void Read(); + public DateTime Created(); + public TimeOnly Duration(); + public string Summary(); + public string FullText(); +} diff --git a/Storage/Reader/SimpleReader.cs b/Storage/Reader/SimpleReader.cs new file mode 100644 index 0000000..252318f --- /dev/null +++ b/Storage/Reader/SimpleReader.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Storage.Reader; +public class SimpleReader : IReader +{ + string _path; + string _identity; + DateTime _created; + TimeOnly _duration; + string _summary; + string _fulltext; + public SimpleReader(string path, string identity) + { + _path = path; + _identity = identity; + _created = DateTime.MinValue; + _duration = new TimeOnly(); + _summary = string.Empty; + _fulltext = string.Empty; + } + + public void Read() + { + string contents; + using (StreamReader reader = new StreamReader(Path.Combine(_path,_identity))) + { + contents = reader.ReadToEnd(); + } + contents.ReplaceLineEndings(); + var parts = contents.Split(new string[] {"###CONFIG###","###SUMMARY###","###FULLTEXT###" }, StringSplitOptions.TrimEntries); + Dictionary dict = new Dictionary(); + foreach (var assignment in parts[1].Split(Environment.NewLine)) { + var temp = assignment.Split('=', StringSplitOptions.TrimEntries); + dict[temp[0]] = temp[1]; + } + _created = DateTime.Parse(dict["created"]); + _duration = TimeOnly.Parse(dict["duration"]); + _summary = parts[2]; + _fulltext = parts[3]; + } + public DateTime Created() => _created; + public TimeOnly Duration() => _duration; + public string Summary() => _summary; + public string FullText() => _fulltext; +} diff --git a/Storage/Storage.csproj b/Storage/Storage.csproj new file mode 100644 index 0000000..37a1c9f --- /dev/null +++ b/Storage/Storage.csproj @@ -0,0 +1,10 @@ + + + + net8.0 + enable + enable + Library + + + diff --git a/Storage/Store.cs b/Storage/Store.cs new file mode 100644 index 0000000..78c6d2c --- /dev/null +++ b/Storage/Store.cs @@ -0,0 +1,16 @@ +using Microsoft.Win32; +using Storage.Reader; +using Storage.Writer; + +namespace Storage; + +public class Store : IStore +{ + private static readonly string _key= "HKEY_CURRENT_USER\\Software\\TGC"; + + private static readonly string _valueName = "DaWae"; + public string GetLocation() => (string)Registry.GetValue(_key, _valueName, ""); + public void SetLocation(string location) => Registry.SetValue(_key, _valueName, location); + public IWriter CreateWriter(string identity) => new SimpleWriter(GetLocation(),identity); + public IReader CreateReader(string identity) => new SimpleReader(GetLocation(), identity); +} diff --git a/Storage/Writer/IWriter.cs b/Storage/Writer/IWriter.cs new file mode 100644 index 0000000..62bb58c --- /dev/null +++ b/Storage/Writer/IWriter.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Storage; +public interface IWriter +{ + public void Created(DateTime started); + public void Duration(TimeOnly duration); + + + // We are using "in string" to avoid excessive copying. + // There may be better ways to do it, + // depending on how those are handled in the main implementation. + public void Summary(in string summary); + public void FullText(in string text); + + public void Write(); +} diff --git a/Storage/Writer/SimpleWriter.cs b/Storage/Writer/SimpleWriter.cs new file mode 100644 index 0000000..e9918dd --- /dev/null +++ b/Storage/Writer/SimpleWriter.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Storage.Writer; +internal class SimpleWriter : IWriter +{ + string _path; + string _identity; + + public SimpleWriter(string path, string identity) + { + _path = path; + _identity = identity; + } + + DateTime _created; + TimeOnly _duration; + string _summary = string.Empty; + string _fulltext = string.Empty; + public void Created(DateTime started) => _created = started; + public void Duration(TimeOnly duration) => _duration = duration; + public void FullText(in string text) => _fulltext = text; + public void Summary(in string summary) => _summary = summary; + public void Write() + { + using var writer = new StreamWriter(Path.Combine(_path,_identity)); + writer.Write("###CONFIG###"); + writer.Write("\nname="); + writer.Write(_identity); + writer.Write("\ncreated="); + writer.Write(_created.ToString()); + writer.Write("\nduration="); + writer.Write(_duration.ToString()); + writer.Write("\n###SUMMARY###\n"); + writer.Write(_summary); + writer.Write("\n###FULLTEXT###\n"); + writer.Write(_fulltext); + + } +}