Skip to content

Commit 458e39a

Browse files
committed
2 parents c42469c + e8a40fc commit 458e39a

204 files changed

Lines changed: 72636 additions & 35112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Take a look at the Issues.
2+
For some code guidelines - It was entirely build with WPF and MVVM (DevExpress.Mvvm from NuGet).
3+
The Project is separated at 4 layers - View - ViewModel - Business Logic - Data Access. All of them use entities which are avaibale everywhere (you might konw them as "model" as well. I prefer the term entity)
4+
Database access goes through simple ADO.NET and SQL. The used database system is System.Data.SQLite3

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
# SmartVocabulary
2-
Short: Dictionary, filled with your own words and phrases, for many languages. Uses a SQLite DB.
2+
This C# project is a vocabulary storage, where a user can enter all words he wants to memorize in any language he wants.
3+
It is like a self builiding vocabulary, where you can store for example, new words you learned in a language you are about to master.
4+
You can add Synonyms, Opposites and Examples to the words, and a simple text-to-speech mechanism let you listen to how to speak out the word.
5+
You have some limited possibilities to cusomize the Interface.
6+
And a simple Search Mchenism helps you to find words in your list.
37

4-
5-
Long: This C# project is a vocabulary storage, where a user can enter all words he wants to memorize in any language he wants.
6-
It has options to customize the appearance of the UI.
78
The Code is builded up on the MVVM (Model View ViewModel) Pattern (Provided by the free NuGet Package DevExpress.Mvvm)
8-
It's planned to create options for Import and Export.
9-
The storage is realized through SQLite.
9+
It's planned to create options for Import and Export in Excel, PDF, CSV, Text and other formats and to add prin functionalitites.
10+
The storage is realized through SQLite 3.
1011

11-
It uses the .NET Framework 4.6 and C# 6.0 (Roslyn).
12+
It uses the .NET Framework 4.6 and C# 6.0.
1213
3rd Party Libraries are:
1314
- DevExpress.Mvvm
1415
- Spreadsheet Light & OpenXML 2.5 (DocumentFormat.OpenXml)

SmartVocabulary/App.config

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,6 @@
1414
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
1515
</providers>
1616
</entityFramework>
17-
<system.data>
18-
<DbProviderFactories>
19-
<remove invariant="System.Data.SQLite.EF6" />
20-
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
21-
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
22-
</system.data>
2317
<runtime>
2418
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
2519
<dependentAssembly>
@@ -28,4 +22,10 @@
2822
</dependentAssembly>
2923
</assemblyBinding>
3024
</runtime>
25+
<system.data>
26+
<DbProviderFactories>
27+
<remove invariant="System.Data.SQLite.EF6" />
28+
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
29+
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
30+
</system.data>
3131
</configuration>

SmartVocabulary/FodyWeavers.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Weavers>
3-
<Costura/>
43

54
</Weavers>

SmartVocabulary/SmartVocabulary.csproj

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,26 @@
4949
<AssemblyOriginatorKeyFile>smartvoc.snk</AssemblyOriginatorKeyFile>
5050
</PropertyGroup>
5151
<ItemGroup>
52-
<Reference Include="DevExpress.Mvvm, Version=16.1.0.0, Culture=neutral, PublicKeyToken=382ad28f6ae31f30, processorArchitecture=MSIL">
53-
<HintPath>..\packages\DevExpressMvvm.16.1.4.0\lib\net40-client\DevExpress.Mvvm.dll</HintPath>
52+
<Reference Include="DevExpress.Mvvm, Version=17.1.0.0, Culture=neutral, PublicKeyToken=382ad28f6ae31f30, processorArchitecture=MSIL">
53+
<HintPath>..\packages\DevExpressMvvm.17.1.6.0\lib\net40-client\DevExpress.Mvvm.dll</HintPath>
5454
<Private>True</Private>
5555
</Reference>
56-
<Reference Include="DevExpress.Mvvm.UI, Version=16.1.0.0, Culture=neutral, PublicKeyToken=382ad28f6ae31f30, processorArchitecture=MSIL">
57-
<HintPath>..\packages\DevExpressMvvm.16.1.4.0\lib\net40-client\DevExpress.Mvvm.UI.dll</HintPath>
56+
<Reference Include="DevExpress.Mvvm.UI, Version=17.1.0.0, Culture=neutral, PublicKeyToken=382ad28f6ae31f30, processorArchitecture=MSIL">
57+
<HintPath>..\packages\DevExpressMvvm.17.1.6.0\lib\net40-client\DevExpress.Mvvm.UI.dll</HintPath>
5858
<Private>True</Private>
5959
</Reference>
6060
<Reference Include="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
6161
<HintPath>..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll</HintPath>
6262
<Private>True</Private>
6363
</Reference>
64+
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
65+
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
66+
<Private>True</Private>
67+
</Reference>
68+
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
69+
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
70+
<Private>True</Private>
71+
</Reference>
6472
<Reference Include="MigraDoc.DocumentObjectModel-WPF, Version=1.32.3885.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
6573
<HintPath>..\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\MigraDoc.DocumentObjectModel-WPF.dll</HintPath>
6674
<Private>True</Private>
@@ -81,26 +89,27 @@
8189
<HintPath>..\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\PdfSharp.Charting-WPF.dll</HintPath>
8290
<Private>True</Private>
8391
</Reference>
84-
<Reference Include="SpreadsheetLight, Version=3.4.8.0, Culture=neutral, PublicKeyToken=32fbb46dc1730c57, processorArchitecture=MSIL">
85-
<HintPath>..\packages\SpreadsheetLight.3.4.8\lib\SpreadsheetLight.dll</HintPath>
92+
<Reference Include="SpreadsheetLight, Version=3.4.9.0, Culture=neutral, PublicKeyToken=32fbb46dc1730c57, processorArchitecture=MSIL">
93+
<HintPath>..\packages\SpreadsheetLight.3.4.9\lib\SpreadsheetLight.dll</HintPath>
8694
<Private>True</Private>
8795
</Reference>
8896
<Reference Include="System" />
8997
<Reference Include="System.ComponentModel.DataAnnotations" />
9098
<Reference Include="System.Data" />
91-
<Reference Include="System.Data.SQLite, Version=1.0.103.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
92-
<HintPath>..\packages\System.Data.SQLite.Core.MSIL.1.0.103\lib\net45\System.Data.SQLite.dll</HintPath>
99+
<Reference Include="System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
100+
<HintPath>..\packages\System.Data.SQLite.Core.MSIL.1.0.108.0\lib\net45\System.Data.SQLite.dll</HintPath>
93101
<Private>True</Private>
94102
</Reference>
95-
<Reference Include="System.Data.SQLite.EF6, Version=1.0.103.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
96-
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.103\lib\net45\System.Data.SQLite.EF6.dll</HintPath>
103+
<Reference Include="System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
104+
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.108.0\lib\net45\System.Data.SQLite.EF6.dll</HintPath>
97105
<Private>True</Private>
98106
</Reference>
99-
<Reference Include="System.Data.SQLite.Linq, Version=1.0.103.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
100-
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.103\lib\net45\System.Data.SQLite.Linq.dll</HintPath>
107+
<Reference Include="System.Data.SQLite.Linq, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
108+
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.108.0\lib\net45\System.Data.SQLite.Linq.dll</HintPath>
101109
<Private>True</Private>
102110
</Reference>
103111
<Reference Include="System.Drawing" />
112+
<Reference Include="System.Runtime.Serialization" />
104113
<Reference Include="System.Speech" />
105114
<Reference Include="System.Windows" />
106115
<Reference Include="System.Windows.Controls.Input.Toolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -130,12 +139,28 @@
130139
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll</HintPath>
131140
<Private>True</Private>
132141
</Reference>
133-
<Reference Include="Xceed.Wpf.DataGrid, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
134-
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
142+
<Reference Include="Xceed.Wpf.AvalonDock, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
143+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
144+
<Private>True</Private>
145+
</Reference>
146+
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
147+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
148+
<Private>True</Private>
149+
</Reference>
150+
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
151+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
152+
<Private>True</Private>
153+
</Reference>
154+
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
155+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
156+
<Private>True</Private>
157+
</Reference>
158+
<Reference Include="Xceed.Wpf.DataGrid, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
159+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
135160
<Private>True</Private>
136161
</Reference>
137-
<Reference Include="Xceed.Wpf.Toolkit, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
138-
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
162+
<Reference Include="Xceed.Wpf.Toolkit, Version=3.3.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
163+
<HintPath>..\packages\Extended.Wpf.Toolkit.3.3.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
139164
<Private>True</Private>
140165
</Reference>
141166
</ItemGroup>
@@ -341,15 +366,17 @@
341366
</ItemGroup>
342367
<ItemGroup />
343368
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
344-
<Import Project="..\packages\Fody.1.29.4\build\dotnet\Fody.targets" Condition="Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" />
345369
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
346370
<PropertyGroup>
347371
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
348372
</PropertyGroup>
349-
<Error Condition="!Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.29.4\build\dotnet\Fody.targets'))" />
350-
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.103\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.103\build\net45\System.Data.SQLite.Core.targets'))" />
373+
<Error Condition="!Exists('..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets'))" />
374+
<Error Condition="!Exists('..\packages\Fody.3.0.3\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.3.0.3\build\Fody.targets'))" />
375+
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.108.0\build\net45\System.Data.SQLite.Core.targets'))" />
351376
</Target>
352-
<Import Project="..\packages\System.Data.SQLite.Core.1.0.103\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.103\build\net45\System.Data.SQLite.Core.targets')" />
377+
<Import Project="..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets" Condition="Exists('..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets')" />
378+
<Import Project="..\packages\Fody.3.0.3\build\Fody.targets" Condition="Exists('..\packages\Fody.3.0.3\build\Fody.targets')" />
379+
<Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net45\System.Data.SQLite.Core.targets')" />
353380
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
354381
Other similar extension points exist, see Microsoft.Common.targets.
355382
<Target Name="BeforeBuild">

SmartVocabulary/packages.config

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Costura.Fody" version="1.3.3.0" targetFramework="net45" developmentDependency="true" />
4-
<package id="DevExpressMvvm" version="16.1.4.0" targetFramework="net45" />
3+
<package id="Costura.Fody" version="2.0.0" targetFramework="net45" developmentDependency="true" />
4+
<package id="DevExpressMvvm" version="17.1.6.0" targetFramework="net45" />
55
<package id="DocumentFormat.OpenXml" version="2.5" targetFramework="net45" />
6-
<package id="EntityFramework" version="6.1.3" targetFramework="net45" />
7-
<package id="Extended.Wpf.Toolkit" version="2.9" targetFramework="net45" />
8-
<package id="Fody" version="1.29.4" targetFramework="net45" developmentDependency="true" />
6+
<package id="EntityFramework" version="6.2.0" targetFramework="net45" />
7+
<package id="Extended.Wpf.Toolkit" version="3.3.0" targetFramework="net45" />
8+
<package id="Fody" version="3.0.3" targetFramework="net45" developmentDependency="true" />
99
<package id="PDFsharp" version="1.32.3057.0" targetFramework="net45" />
1010
<package id="PDFsharp-MigraDoc-WPF" version="1.32.2608.0" targetFramework="net45" />
11-
<package id="SpreadsheetLight" version="3.4.8" targetFramework="net45" />
12-
<package id="System.Data.SQLite" version="1.0.103" targetFramework="net45" />
13-
<package id="System.Data.SQLite.Core" version="1.0.103" targetFramework="net45" />
14-
<package id="System.Data.SQLite.Core.MSIL" version="1.0.103" targetFramework="net45" />
15-
<package id="System.Data.SQLite.EF6" version="1.0.103" targetFramework="net45" />
16-
<package id="System.Data.SQLite.Linq" version="1.0.103" targetFramework="net45" />
11+
<package id="SpreadsheetLight" version="3.4.9" targetFramework="net45" />
12+
<package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net45" />
13+
<package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net45" />
14+
<package id="System.Data.SQLite.Core.MSIL" version="1.0.108.0" targetFramework="net45" />
15+
<package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net45" />
16+
<package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net45" />
1717
<package id="WPFToolkit" version="3.5.50211.1" targetFramework="net45" />
1818
</packages>

packages/Costura.Fody.1.3.3.0/Content/FodyWeavers.xml.install.xdt

Lines changed: 0 additions & 4 deletions
This file was deleted.

packages/Costura.Fody.1.3.3.0/Content/FodyWeavers.xml.uninstall.xdt

Lines changed: 0 additions & 4 deletions
This file was deleted.
-48.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)