Skip to content

Commit 2f3dafa

Browse files
authored
Merge pull request #152 from thomasramm/develop
Release 1.2.33
2 parents 9e3487d + 7d80a90 commit 2f3dafa

91 files changed

Lines changed: 760 additions & 511 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.

Changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
### Version 1.2.33 (30.09.2023) ###
2+
* Vorträge 112 und 131 gesperrt
3+
* Vorträge 104,107,111 aktualisiert
4+
* Programmeinstellungen wurden bei bestimmten Windows-Konfigurationen bei jedem Update zurückgesetzt und mussten neu vorgenommen werden. Dies ist nun behoben (erst ab dem nächsten Update wirksam, diesmal müssen diese evtl. nochmal neu eingestellt werden.).
5+
* Excel Aushang Template: Bug bei Platzhalter Auswärts_Nr. behoben.
6+
* Erweiterte Prüfung bei Programmstart: Ist die Vortragsmanager Datei nicht vorhanden wird das letzte Backup (sofern vorhanden) geöffnet.
7+
* In der Verwaltung ist die Liste der Redner im Dropdown für das Auswahlfeld nicht mehr auf 10 beschränkt.
8+
* Prozess für Erstbenutzer verbessert, Wizard aus den Einstellungen heraus aufrufbar
9+
* Kleine Fehler behoben (Zugriffsprobleme beim lesen der Einstellungen)
10+
* Unter Mein Plan - Redner Suchen wird der DropDown für die Termine auf die max Monate für die Rednersuche in den Einstellungen gefiltert.
11+
112
### Version 1.2.32 (11.04.2023) ###
213
* Excel Aushang Template: Neuer Platzhalter Auswärts_Nr. Siehe Handbuch unter [Einstellungen]
314

MSIX Installer/Package.appxmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Identity
1010
Name="35915ThomasRamm.VortragsmanagerDeLuxe"
1111
Publisher="CN=3F6D9573-0790-40CA-9158-85C9F4F3D092"
12-
Version="1.2.32.0" />
12+
Version="1.2.33.0" />
1313

1414
<Properties>
1515
<DisplayName>Vortragsmanager DeLuxe</DisplayName>

Vortragsmanager/App.xaml.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System.Windows;
2-
using Vortragsmanager.Datamodels;
2+
using Vortragsmanager.DataModels;
33
using Vortragsmanager.Module;
4-
using Vortragsmanager.Properties;
54

65
namespace Vortragsmanager
76
{
@@ -15,12 +14,12 @@ private void Application_Exit(object sender, ExitEventArgs e)
1514
if (DataContainer.IsInitialized)
1615
{
1716
Log.Info("ApplicationExit", "Save");
18-
var file = IoSqlite.SaveContainer(Settings.Default.sqlite, Settings.Default.SaveBackups);
19-
Settings.Default.sqlite = file;
17+
var file = IoSqlite.SaveContainer(Helper.Helper.GlobalSettings.sqlite, Helper.Helper.GlobalSettings.SaveBackups);
18+
Helper.Helper.GlobalSettings.sqlite = file;
2019
}
2120

2221
//Alle Programm-Einstellungen die irgendwann gemacht wurden, bei Programmende speichern
23-
Settings.Default.Save();
22+
Helper.Helper.GlobalSettings.Save();
2423
}
2524
}
2625
}

Vortragsmanager/DataModels/Anfrage.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Collections.ObjectModel;
33
using DevExpress.Mvvm;
4-
using Vortragsmanager.Datamodels;
54
using Vortragsmanager.Helper;
65
using Vortragsmanager.UserControls;
76
using Vortragsmanager.Windows;

Vortragsmanager/DataModels/Backup.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ public static string GetBackupFile()
1616
{
1717
if (_backupFile == null)
1818
{
19-
var folder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData, Environment.SpecialFolderOption.Create) + @"\Vortragsmanager DeLuxe\";
20-
Directory.CreateDirectory(folder);
21-
_backupFile = folder + "backup.zip";
19+
20+
_backupFile = Helper.Helper.AppFolderPath + "backup.zip";
2221
}
2322
return _backupFile;
2423
}
@@ -84,7 +83,7 @@ public static bool Restore(string backupName, bool makeBackup = true)
8483
{
8584
try
8685
{
87-
var fileName = Properties.Settings.Default.sqlite;
86+
var fileName = Helper.Helper.GlobalSettings.sqlite;
8887
var newBackup = makeBackup ? Add(fileName) : "NONE";
8988
File.Delete(fileName);
9089
using (var zip = ZipFile.OpenRead(GetBackupFile()))
@@ -111,6 +110,15 @@ public static bool Restore(string backupName, bool makeBackup = true)
111110
return false;
112111
}
113112

113+
public static bool RestoreLastBackup()
114+
{
115+
var last = List().OrderByDescending(x => x.Date).FirstOrDefault();
116+
if (last == null)
117+
return false;
118+
119+
return Restore(last.FileName, false);
120+
}
121+
114122
/// <summary>
115123
/// Entfernt ein Backup
116124
/// </summary>

Vortragsmanager/DataModels/Cancelation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Vortragsmanager.Enums;
22

3-
namespace Vortragsmanager.Datamodels
3+
namespace Vortragsmanager.DataModels
44
{
55
public class Cancelation
66
{

Vortragsmanager/DataModels/GroupTalk.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Vortragsmanager.Datamodels;
2-
using Vortragsmanager.Helper;
1+
using Vortragsmanager.Helper;
32

43
namespace Vortragsmanager.DataModels
54
{

Vortragsmanager/DataModels/Inquiry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using Vortragsmanager.Enums;
55
using Vortragsmanager.Interface;
66

7-
namespace Vortragsmanager.Datamodels
7+
namespace Vortragsmanager.DataModels
88
{
99
public class Inquiry : IEvent
1010
{

Vortragsmanager/DataModels/Invitation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using Vortragsmanager.Enums;
33
using Vortragsmanager.Interface;
44

5-
namespace Vortragsmanager.Datamodels
5+
namespace Vortragsmanager.DataModels
66
{
77
public class Invitation : IEvent
88
{
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
using DevExpress.Mvvm;
2+
using System;
3+
using System.IO;
4+
using System.Linq;
5+
using System.Xml.Serialization;
6+
7+
namespace Vortragsmanager.DataModels
8+
{
9+
public class MyGloabalSettings : ViewModelBase
10+
{
11+
public MyGloabalSettings()
12+
{
13+
Titel = "vdl";
14+
Programmversion = GetVersion();
15+
}
16+
17+
private static string GetVersion()
18+
{
19+
var version = System.Reflection.Assembly.GetEntryAssembly()?.GetName().Version;
20+
if (version == null)
21+
{
22+
return "Version ist unbekannt";
23+
}
24+
25+
var v = $"Version {version.Major}.{version.Minor}.{version.Build}";
26+
return v;
27+
}
28+
29+
public void RefreshTitle()
30+
{
31+
var fi = new FileInfo(Helper.Helper.GlobalSettings.sqlite);
32+
Titel = "Vortragsmanager DeLuxe | " + fi.Name;
33+
if (DataContainer.IsDemo)
34+
Titel += " ~~~~~ DEMODATEI ~~~~~ ÄNDERUNGEN WERDEN NICHT GESPEICHERT! ~~~~~";
35+
36+
RaisePropertyChanged(nameof(Titel));
37+
}
38+
39+
[XmlIgnore]
40+
public string Programmversion { get; }
41+
42+
[XmlIgnore]
43+
public string Titel { get; set; }
44+
45+
public string ChangelogPfad { get; set; } = "https://raw.githubusercontent.com/thomasramm/Vortragsmanager/master/Changelog.md";
46+
47+
public bool DashboardShowDetails { get; set; } = true;
48+
49+
public string ExcelTemplateAushang { get; set; } = string.Empty;
50+
51+
public bool FotoExport { get; set; } = true;
52+
53+
public bool HideChangelog { get; set; } = false;
54+
55+
public string LastChangelog { get; set; } = "0";
56+
57+
public int ListAushangAnzahlWochen { get; set; } = 10;
58+
59+
public bool ListCreate_OpenFile { get; set; } = true;
60+
61+
public string LogFolder { get; set; } = "-";
62+
63+
public int LogLevel { get; set; } = 1;
64+
65+
public string NameKreisaufseher { get; set; } = "Name des Kreisaufseher";
66+
67+
public int RednerSuchenAbstandAnzahlMonate { get; set; } = 12;
68+
69+
public int RednerSuchenAnzahlMonate { get; set; } = 12;
70+
71+
public bool SaveBackups { get; set; } = true;
72+
73+
public string SearchSpeaker_Kreis { get; set; } = string.Empty;
74+
75+
public int SearchSpeaker_MaxEntfernung { get; set; } = 100;
76+
77+
public bool SearchSpeaker_OffeneAnfrage { get; set; } = false;
78+
79+
public bool SearchSpeaker_RednerCheckCancelation { get; set; } = true;
80+
81+
public bool SearchSpeaker_RednerCheckFuture { get; set; } = true;
82+
83+
public bool SearchSpeaker_RednerCheckHistory { get; set; } = true;
84+
85+
public bool SearchSpeaker_VortragCheckFuture { get; set; } = true;
86+
87+
public bool SearchSpeaker_VortragCheckHistory { get; set; } = true;
88+
89+
public bool SearchSpeaker_VortragCheckOpenRequest { get; set; } = true;
90+
91+
public bool ShowActivityButtons { get; set; } = true;
92+
93+
public int SonntagAnzeigeMonate { get; set; } = 1;
94+
95+
public string sqlite { get; set; } = "vortragsmanager.sqlite3";
96+
97+
public bool ThemeIsDark { get; set; } = true;
98+
99+
public void Read()
100+
{
101+
var configFile = Helper.Helper.AppFolderPath + "Settings.xml";
102+
if (!File.Exists(configFile))
103+
{
104+
////ToDo: 20.04.2023: Dieser Programmcode wird in ein paar Versionen entfernt.
105+
////aktuell nutze ich die Settings mit seinen default-Werten, später die default-Werte der Klasse
106+
DashboardShowDetails = Properties.Settings.Default.DashboardShowDetails;
107+
ExcelTemplateAushang = Properties.Settings.Default.ExcelTemplateAushang;
108+
FotoExport = Properties.Settings.Default.FotoExport;
109+
HideChangelog = Properties.Settings.Default.HideChangelog;
110+
LastChangelog = Properties.Settings.Default.LastChangelog;
111+
ListAushangAnzahlWochen = Properties.Settings.Default.ListAushangAnzahlWochen;
112+
ListCreate_OpenFile = Properties.Settings.Default.ListCreate_OpenFile;
113+
LogFolder= Properties.Settings.Default.LogFolder;
114+
LogLevel= Properties.Settings.Default.LogLevel;
115+
NameKreisaufseher = Properties.Settings.Default.NameKreisaufseher;
116+
RednerSuchenAbstandAnzahlMonate = Properties.Settings.Default.RednerSuchenAbstandAnzahlMonate;
117+
RednerSuchenAnzahlMonate = Properties.Settings.Default.RednerSuchenAnzahlMonate;
118+
SaveBackups = Properties.Settings.Default.SaveBackups;
119+
SearchSpeaker_Kreis = Properties.Settings.Default.SearchSpeaker_Kreis;
120+
SearchSpeaker_MaxEntfernung = Properties.Settings.Default.SearchSpeaker_MaxEntfernung;
121+
SearchSpeaker_OffeneAnfrage = Properties.Settings.Default.SearchSpeaker_OffeneAnfrage;
122+
SearchSpeaker_RednerCheckCancelation = Properties.Settings.Default.SearchSpeaker_RednerCheckCancelation;
123+
SearchSpeaker_RednerCheckFuture = Properties.Settings.Default.SearchSpeaker_RednerCheckFuture;
124+
SearchSpeaker_RednerCheckHistory = Properties.Settings.Default.SearchSpeaker_RednerCheckHistory;
125+
SearchSpeaker_VortragCheckFuture = Properties.Settings.Default.SearchSpeaker_VortragCheckFuture;
126+
SearchSpeaker_VortragCheckHistory = Properties.Settings.Default.SearchSpeaker_VortragCheckHistory;
127+
SearchSpeaker_VortragCheckOpenRequest = Properties.Settings.Default.SearchSpeaker_VortragCheckOpenRequest;
128+
ShowActivityButtons = Properties.Settings.Default.ShowActivityButtons;
129+
SonntagAnzeigeMonate = Properties.Settings.Default.SonntagAnzeigeMonate;
130+
sqlite = Properties.Settings.Default.sqlite;
131+
ThemeIsDark = Properties.Settings.Default.ThemeIsDark;
132+
133+
return;
134+
}
135+
136+
XmlSerializer xs = new XmlSerializer(typeof(MyGloabalSettings));
137+
using (var sr = new StreamReader(configFile))
138+
{
139+
Helper.Helper.GlobalSettings = (MyGloabalSettings)xs.Deserialize(sr);
140+
}
141+
}
142+
143+
public void Save()
144+
{
145+
try
146+
{
147+
XmlSerializer xs = new XmlSerializer(typeof(MyGloabalSettings));
148+
using (TextWriter tw = new StreamWriter(Helper.Helper.AppFolderPath + "Settings.xml"))
149+
{
150+
xs.Serialize(tw, Helper.Helper.GlobalSettings);
151+
}
152+
}
153+
catch(Exception ex)
154+
{
155+
Module.Log.Error("SettingsSave", ex.Message);
156+
}
157+
}
158+
}
159+
}

0 commit comments

Comments
 (0)