Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5cbad9a195 | |||
| 4e027a9add | |||
| f32ff945ec | |||
| ba3f66591e | |||
| 3f65b2350b | |||
| 7a6a77419b | |||
| 7a993585c3 | |||
| d0ce377d92 | |||
| f8b3147c72 | |||
| b4ab8349b4 | |||
| 5db5876905 | |||
| 0617726139 |
@@ -7,3 +7,4 @@ Tests/Resources/Sql/Create.sql
|
||||
*.exe
|
||||
!WinziPrint.exe
|
||||
*.sqlite3
|
||||
*.zip
|
||||
|
||||
@@ -2,6 +2,53 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
[v1.0.5.5][v1.0.5.5] (2026-06-24) {#v1.0.5.5}
|
||||
---------------------------------------------
|
||||
|
||||
### Behobene Fehler {#v1.0.5.5-bugfixes}
|
||||
|
||||
* Beim Exportieren der Überweisungsdaten (EBICS) im Auszahlungsvarianten-Fenster (`PaymentVariantsWindow`) kam es zu einem Absturz. (3f65b2350b)
|
||||
* Einige Einstellungen einer Auszahlungsvariante wurden vom Auszahlungsvariante-Fenster (`ChartWindow`) beim Speichern überschrieben. (f32ff945ec)
|
||||
|
||||
### Sonstiges {#v1.0.5.5-misc}
|
||||
|
||||
* Traubengutschriften mit negativem Betrag sind nun wieder möglich. (ba3f66591e)
|
||||
* Abhängigkeiten aktualisiert. (4e027a9add)
|
||||
|
||||
[v1.0.5.5]: https://git.necronda.net/winzer/elwig/releases/tag/v1.0.5.5
|
||||
|
||||
|
||||
|
||||
|
||||
[v1.0.5.4][v1.0.5.4] (2026-06-22) {#v1.0.5.4}
|
||||
---------------------------------------------
|
||||
|
||||
### Behobene Fehler {#v1.0.5.4-bugfixes}
|
||||
|
||||
* Seit [v1.0.5.0](#v1.0.5.0) (2026-04-08) war es bei nicht-aktiven Mitgliedern nicht möglich Lieferungen oder Flächenbindungen anzusehen. (d0ce377d92)
|
||||
|
||||
### Sonstiges {#v1.0.5.4-misc}
|
||||
|
||||
* Bei der Installation wird nun auch der Quellcode mit ausgeliefert. (5db5876905)
|
||||
* Abhängigkeiten aktualisiert. (b4ab8349b4, f8b3147c72, 7a993585c3)
|
||||
|
||||
[v1.0.5.4]: https://git.necronda.net/winzer/elwig/releases/tag/v1.0.5.4
|
||||
|
||||
|
||||
|
||||
|
||||
[v1.0.5.3][v1.0.5.3] (2026-04-29) {#v1.0.5.3}
|
||||
---------------------------------------------
|
||||
|
||||
### Behobene Fehler {#v1.0.5.3-bugfixes}
|
||||
|
||||
* Manche Anlieferungsbestätigungen und Traubengutschriften konnten nicht angezeigt werden. Dies lag an einem internen Fehler, der manchmal bei Zu-/Abschlägen auftrat. (72155fc54e, 9dfe71d6d0)
|
||||
|
||||
[v1.0.5.3]: https://git.necronda.net/winzer/elwig/releases/tag/v1.0.5.3
|
||||
|
||||
|
||||
|
||||
|
||||
[v1.0.5.2][v1.0.5.2] (2026-04-24) {#v1.0.5.2}
|
||||
---------------------------------------------
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Elwig.Documents {
|
||||
|
||||
public static async Task<MemberDataSheet> Initialize(int mgnr) {
|
||||
using var ctx = new AppDbContext();
|
||||
return new MemberDataSheet(await ctx.FetchMembers(mgnr, true, true).SingleAsync());
|
||||
return new MemberDataSheet(await ctx.FetchMembers(mgnr, includeContactInfo: true).SingleAsync());
|
||||
}
|
||||
|
||||
protected override async Task LoadData(AppDbContext ctx) {
|
||||
|
||||
+11
-11
@@ -9,7 +9,7 @@
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
<ApplicationIcon>Resources\Images\Elwig.ico</ApplicationIcon>
|
||||
<Version>1.0.5.2</Version>
|
||||
<Version>1.0.5.5</Version>
|
||||
<SatelliteResourceLanguages>de-AT</SatelliteResourceLanguages>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
@@ -23,21 +23,21 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="bblanchon.PDFium.Win32" Version="149.0.7802" />
|
||||
<PackageReference Include="bblanchon.PDFium.Win32" Version="151.0.7906" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.2" />
|
||||
<PackageReference Include="itext" Version="9.6.0" />
|
||||
<PackageReference Include="itext.bouncy-castle-adapter" Version="9.6.0" />
|
||||
<PackageReference Include="LinqKit" Version="1.3.11" />
|
||||
<PackageReference Include="MailKit" Version="4.16.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.7" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="10.0.7" />
|
||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3912.50" />
|
||||
<PackageReference Include="MailKit" Version="4.17.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="10.0.9" />
|
||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.4022.49" />
|
||||
<PackageReference Include="NJsonSchema" Version="11.6.1" />
|
||||
<PackageReference Include="ScottPlot.WPF" Version="5.1.58" />
|
||||
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.2" />
|
||||
<PackageReference Include="System.IO.Hashing" Version="10.0.7" />
|
||||
<PackageReference Include="System.IO.Ports" Version="10.0.7" />
|
||||
<PackageReference Include="System.Management" Version="10.0.7" />
|
||||
<PackageReference Include="ScottPlot.WPF" Version="5.1.59" />
|
||||
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.3" />
|
||||
<PackageReference Include="System.IO.Hashing" Version="10.0.9" />
|
||||
<PackageReference Include="System.IO.Ports" Version="10.0.9" />
|
||||
<PackageReference Include="System.Management" Version="10.0.9" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -338,9 +338,9 @@ namespace Elwig.Helpers {
|
||||
|
||||
public IAsyncEnumerable<Member> FetchMembers(int? mgnr = null, bool includeNotActive = false, bool includeContactInfo = false) {
|
||||
if (includeContactInfo) {
|
||||
return _compiledQueryMembersContactInfo.Invoke(this, mgnr, includeNotActive);
|
||||
return _compiledQueryMembersContactInfo.Invoke(this, mgnr, mgnr != null || includeNotActive);
|
||||
} else {
|
||||
return _compiledQueryMembers.Invoke(this, mgnr, includeNotActive);
|
||||
return _compiledQueryMembers.Invoke(this, mgnr, mgnr != null || includeNotActive);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -92,6 +93,14 @@ namespace Elwig.Helpers.Billing {
|
||||
Mode = (mode == "elwig") ? CalculationMode.Elwig : CalculationMode.WgMaster;
|
||||
}
|
||||
|
||||
public BillingData() {
|
||||
Data = new JsonObject {
|
||||
["mode"] = "elwig",
|
||||
["version"] = 1,
|
||||
};
|
||||
Mode = CalculationMode.Elwig;
|
||||
}
|
||||
|
||||
protected static JsonObject ParseJson(string json) {
|
||||
if (Schema == null) throw new InvalidOperationException("Schema has to be initialized first");
|
||||
try {
|
||||
@@ -107,6 +116,10 @@ namespace Elwig.Helpers.Billing {
|
||||
return new(ParseJson(json));
|
||||
}
|
||||
|
||||
public string ToJsonString(JsonSerializerOptions? options = null) {
|
||||
return Data.ToJsonString(options);
|
||||
}
|
||||
|
||||
protected JsonArray GetCurvesEntry() {
|
||||
return Data[Mode == CalculationMode.Elwig ? "curves" : "Kurven"]?.AsArray() ?? throw new InvalidOperationException();
|
||||
}
|
||||
@@ -412,7 +425,7 @@ namespace Elwig.Helpers.Billing {
|
||||
}
|
||||
}
|
||||
|
||||
public static JsonObject FromGraphEntries(
|
||||
public static BillingData FromGraphEntries(
|
||||
IEnumerable<GraphEntry> graphEntries,
|
||||
BillingData? origData = null,
|
||||
IEnumerable<RawVaribute>? vaributes = null,
|
||||
@@ -449,37 +462,30 @@ namespace Elwig.Helpers.Billing {
|
||||
CollapsePaymentData(payment, payment.DeepClone().AsObject(), vaributes ?? payment.Select(e => new RawVaribute(e.Key)).ToList(), useDefaultPayment);
|
||||
CollapsePaymentData(qualityWei, qualityWei.DeepClone().AsObject(), vaributes ?? qualityWei.Select(e => new RawVaribute(e.Key)).ToList(), useDefaultQuality);
|
||||
|
||||
var data = new JsonObject {
|
||||
["mode"] = "elwig",
|
||||
["version"] = 1,
|
||||
};
|
||||
|
||||
if (origData?.ConsiderDelieryModifiers == true)
|
||||
data["consider_delivery_modifiers"] = true;
|
||||
if (origData?.ConsiderContractPenalties == true)
|
||||
data["consider_contract_penalties"] = true;
|
||||
if (origData?.ConsiderTotalPenalty == true)
|
||||
data["consider_total_penalty"] = true;
|
||||
if (origData?.ConsiderAutoBusinessShares == true)
|
||||
data["consider_auto_business_shares"] = true;
|
||||
BillingData data;
|
||||
if (origData != null && origData.Mode == CalculationMode.Elwig) {
|
||||
data = new BillingData((JsonObject)origData.Data.DeepClone());
|
||||
} else {
|
||||
data = new BillingData();
|
||||
}
|
||||
|
||||
if (payment.Count == 0) {
|
||||
data["payment"] = 0;
|
||||
data.Data["payment"] = 0;
|
||||
} else if (payment.Count == 1 && payment.First().Key == "default") {
|
||||
data["payment"] = payment.Single().Value?.DeepClone();
|
||||
data.Data["payment"] = payment.Single().Value?.DeepClone();
|
||||
} else {
|
||||
data["payment"] = payment;
|
||||
data.Data["payment"] = payment;
|
||||
}
|
||||
if (qualityWei.Count == 1 && qualityWei.First().Key == "default") {
|
||||
data["quality"] = new JsonObject() {
|
||||
data.Data["quality"] = new JsonObject() {
|
||||
["WEI"] = qualityWei.Single().Value?.DeepClone()
|
||||
};
|
||||
} else if (qualityWei.Count >= 1) {
|
||||
data["quality"] = new JsonObject() {
|
||||
data.Data["quality"] = new JsonObject() {
|
||||
["WEI"] = qualityWei
|
||||
};
|
||||
}
|
||||
data["curves"] = curves;
|
||||
data.Data["curves"] = curves;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace Elwig.Helpers.Billing {
|
||||
LEFT JOIN v_penalty_area_commitments u ON (u.year, u.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN v_auto_business_shares a ON (a.year, a.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN payment_custom x ON (x.year, x.mgnr) = (s.year, m.mgnr)
|
||||
WHERE s.year = {Year} AND v.avnr = {AvNr} AND p.amount > COALESCE(lp.amount, 0);
|
||||
WHERE s.year = {Year} AND v.avnr = {AvNr} AND p.amount != COALESCE(lp.amount, 0);
|
||||
""");
|
||||
await cnx.ExecuteBatch($"""
|
||||
UPDATE payment_variant SET test_variant = FALSE WHERE (year, avnr) = ({Year}, {AvNr});
|
||||
|
||||
@@ -8,6 +8,7 @@ using Elwig.ViewModels;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
@@ -142,7 +143,7 @@ namespace Elwig.Services {
|
||||
});
|
||||
|
||||
var credits = ctx.Credits.Where(c => c.Year == v.Year && c.AvNr == v.AvNr);
|
||||
if (!credits.Any()) {
|
||||
if (!(await credits.AnyAsync())) {
|
||||
long lastTotalSum = 0;
|
||||
decimal vatSum = 0;
|
||||
var currentPayments = await ctx.MemberPayments
|
||||
@@ -150,8 +151,7 @@ namespace Elwig.Services {
|
||||
.ToDictionaryAsync(p => p.MgNr);
|
||||
var lastV = await ctx.PaymentVariants
|
||||
.Where(l => l.Year == v.Year && !l.TestVariant)
|
||||
.OrderByDescending(l => l.TransferDateString ?? l.DateString)
|
||||
.ThenByDescending(l => l.AvNr)
|
||||
.OrderByDescending(l => l.TransferDateString ?? l.DateString).ThenByDescending(l => l.AvNr)
|
||||
.FirstOrDefaultAsync();
|
||||
if (lastV != null) {
|
||||
var lastPayments = await ctx.MemberPayments
|
||||
@@ -160,8 +160,8 @@ namespace Elwig.Services {
|
||||
lastTotalSum = lastPayments.Sum(e => e.Value.AmountValue);
|
||||
foreach (int mgnr in currentPayments.Keys) {
|
||||
var c = currentPayments[mgnr];
|
||||
var l = lastPayments[mgnr];
|
||||
vatSum += (c.Amount - l.Amount) * (decimal)(c.Member.IsBuchführend ? v.Season.VatNormal : v.Season.VatFlatrate);
|
||||
var l = lastPayments.GetValueOrDefault(mgnr);
|
||||
vatSum += (c.Amount - (l?.Amount ?? 0)) * (decimal)(c.Member.IsBuchführend ? v.Season.VatNormal : v.Season.VatFlatrate);
|
||||
}
|
||||
} else {
|
||||
vatSum = currentPayments.Sum(e => e.Value.Amount * (decimal)(e.Value.Member.IsBuchführend ? v.Season.VatNormal : v.Season.VatFlatrate));
|
||||
@@ -226,7 +226,7 @@ namespace Elwig.Services {
|
||||
|
||||
public static async Task GenerateEbics(int year, int avnr) {
|
||||
using var ctx = new AppDbContext();
|
||||
var v = (await ctx.PaymentVariants.FindAsync(year, avnr))!;
|
||||
var v = await ctx.PaymentVariants.Include(v => v.Credits).Where(v => v.Year == year && v.AvNr == avnr).SingleAsync();
|
||||
|
||||
var withoutIban = v.Credits.Count(c => c.Member.Iban == null);
|
||||
if (withoutIban > 0) {
|
||||
@@ -369,10 +369,42 @@ namespace Elwig.Services {
|
||||
}
|
||||
|
||||
public static async Task Commit(int year, int avnr) {
|
||||
List<Member> membersLess = [];
|
||||
using (var ctx = new AppDbContext()) {
|
||||
var lastAvNr = await ctx.PaymentVariants
|
||||
.Where(v => v.Year == year && !v.TestVariant)
|
||||
.OrderByDescending(v => v.TransferDateString ?? v.DateString).ThenByDescending(v => v.AvNr)
|
||||
.Select(v => v.AvNr)
|
||||
.FirstOrDefaultAsync();
|
||||
if (lastAvNr != 0) {
|
||||
var cur = await ctx.MemberPayments.Include(p => p.Member).Where(p => p.Year == year && p.AvNr == avnr).ToDictionaryAsync(p => p.Member.MgNr, p => p);
|
||||
var last = await ctx.MemberPayments.Include(p => p.Member).Where(p => p.Year == year && p.AvNr == lastAvNr).ToDictionaryAsync(p => p.Member.MgNr, p => p);
|
||||
membersLess = [.. last.Where(p => (cur.TryGetValue(p.Key, out var c) ? c.Amount : 0) < p.Value.Amount).Select(p => p.Value.Member)];
|
||||
}
|
||||
}
|
||||
if (membersLess.Count > 0) {
|
||||
var res = MessageBox.Show($"Achtung: Bei {membersLess.Count:N0} Mitglied(ern) ist der Soll-Betrag der Auszahlung (\"Gesamtbetrag\") kleiner als bei der letzten Auszahlung. Das sollte nicht vorkommen!\n\n" +
|
||||
$"{string.Join(", ", membersLess.Select(m => $"{m.AdministrativeName} ({m.MgNr})"))}\n\n" +
|
||||
"Soll trotzdem forgefahren werden?",
|
||||
"Kleinerer Gesamtbetrag", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (res != MessageBoxResult.OK)
|
||||
return;
|
||||
}
|
||||
|
||||
await Task.Run(async () => {
|
||||
var b = await BillingVariant.Create(year, avnr);
|
||||
await b.Commit();
|
||||
});
|
||||
|
||||
List<Member> membersNeg = [];
|
||||
using (var ctx = new AppDbContext()) {
|
||||
membersNeg = await ctx.Credits.Where(c => c.Year == year && c.AvNr == avnr && c.AmountValue < 0).Select(c => c.Member).ToListAsync();
|
||||
}
|
||||
if (membersNeg.Count > 0) {
|
||||
var res = MessageBox.Show($"Achtung: Bei {membersNeg.Count:N0} Mitglied(ern) ist der Auszahlungsbetrag negativ!\n\n" +
|
||||
$"{string.Join(", ", membersNeg.Select(m => $"{m.AdministrativeName} ({m.MgNr})"))}",
|
||||
"Negativer Auszahlungsbetrag", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task Revert(int year, int avnr) {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Bold>Website:</Bold> <Hyperlink NavigateUri="https://elwig.at/" RequestNavigate="Hyperlink_RequestNavigate">https://elwig.at/</Hyperlink><LineBreak/>
|
||||
<Bold>Entwickler:</Bold> Lorenz Stechauner, Thomas Hilscher<LineBreak/>
|
||||
<Bold>Kontakt:</Bold> <Hyperlink NavigateUri="mailto:lorenz.stechauner@necronda.net" RequestNavigate="Hyperlink_RequestNavigate">lorenz.stechauner@necronda.net</Hyperlink>, <Hyperlink NavigateUri="mailto:thomas.hilscher@gmail.com" RequestNavigate="Hyperlink_RequestNavigate">thomas.hilscher@gmail.com</Hyperlink><LineBreak/>
|
||||
<Bold>Quellcode:</Bold> <Hyperlink NavigateUri="https://git.necronda.net/winzer/elwig" RequestNavigate="Hyperlink_RequestNavigate">https://git.necronda.net/winzer/elwig</Hyperlink><LineBreak/>
|
||||
<Bold>Quellcode:</Bold> <Hyperlink NavigateUri="C:\Program Files\Elwig\src" RequestNavigate="Hyperlink_RequestNavigate_Explorer">C:\Program Files\Elwig\src</Hyperlink>, <Hyperlink NavigateUri="https://git.necronda.net/winzer/elwig" RequestNavigate="Hyperlink_RequestNavigate">https://git.necronda.net/winzer/elwig</Hyperlink><LineBreak/>
|
||||
<Bold>Entwicklungszeitraum:</Bold> 2022–2026<LineBreak/>
|
||||
<LineBreak/>
|
||||
<Bold>Verwendete Technologien:</Bold><LineBreak/>
|
||||
|
||||
@@ -11,7 +11,15 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) {
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri) { UseShellExecute = true });
|
||||
try {
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri) { UseShellExecute = true });
|
||||
} catch { }
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate_Explorer(object sender, RequestNavigateEventArgs e) {
|
||||
try {
|
||||
Process.Start("explorer.exe", e.Uri.AbsoluteUri);
|
||||
} catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
Elwig
|
||||
=====
|
||||
|
||||
Source code
|
||||
C:\Program Files\Elwig\src\
|
||||
https://git.necronda.net/winzer/elwig
|
||||
|
||||
Installation folder
|
||||
C:\Program Files\Elwig\
|
||||
|
||||
Data and configuration folder
|
||||
C:\ProgramData\Elwig\
|
||||
- config.ini : main configuration file
|
||||
- database.sqlite3 : stores all data
|
||||
- imported.txt : list of all imported *.elwig.zip files to not automatically import them again
|
||||
- mails\ : sent/outgoing email log
|
||||
@@ -3,7 +3,9 @@
|
||||
<Fragment>
|
||||
<!-- C:\Program Files (x86)\Elwig or C:\Program Files\Elwig -->
|
||||
<StandardDirectory Id="ProgramFiles64Folder">
|
||||
<Directory Id="InstallFolder" Name="!(bind.Property.ProductName)" />
|
||||
<Directory Id="InstallFolder" Name="!(bind.Property.ProductName)">
|
||||
<Directory Id="SourceFolder" Name="src"/>
|
||||
</Directory>
|
||||
</StandardDirectory>
|
||||
|
||||
<!-- C:\ProgramData\Elwig -->
|
||||
|
||||
@@ -34,7 +34,11 @@
|
||||
<DefineConstants>ProductVersion=$(ElwigFileVersion);BuildPath=..\Elwig\bin\Publish;ElwigProjectDir=..\Elwig</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
<Target Name="CreateSourceArchive" BeforeTargets="BeforeBuild">
|
||||
<Exec Command="git -C .. archive -o $(ProjectDir)\Files\elwig.zip HEAD" />
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<None Include="Files\config.ini" />
|
||||
<None Include="Files\README.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -4,9 +4,15 @@
|
||||
<Component Directory="InstallFolder">
|
||||
<File Source="$(var.ElwigProjectDir)\bin\Publish\Elwig.exe" Id="Elwig.exe"/>
|
||||
</Component>
|
||||
<Component Directory="SourceFolder">
|
||||
<File Source="$(ProjectDir)\Files\elwig.zip" Id="elwig.zip"/>
|
||||
</Component>
|
||||
<Component Directory="ConfigFolder" Permanent="true" NeverOverwrite="true">
|
||||
<File Source="$(ProjectDir)\Files\config.ini" Id="config.ini"/>
|
||||
</Component>
|
||||
<Component Directory="ConfigFolder">
|
||||
<File Source="$(ProjectDir)\Files\README.txt" Id="README.txt"/>
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
||||
@@ -13,7 +13,7 @@ About
|
||||
**Product:** Elwig
|
||||
**Description:** Electronic Management for Vintners' Cooperatives
|
||||
**Type:** ERP system
|
||||
**Version:** 1.0.5.2 ([Changelog](./CHANGELOG.md))
|
||||
**Version:** 1.0.5.5 ([Changelog](./CHANGELOG.md))
|
||||
**License:** [GNU General Public License 3.0 (GPLv3)](./LICENSE)
|
||||
**Website:** https://elwig.at/
|
||||
**Source code:** https://git.necronda.net/winzer/elwig
|
||||
@@ -33,7 +33,7 @@ Packaging: [WiX Toolset](https://www.firegiant.com/wixtoolset/)
|
||||
**Produkt:** Elwig
|
||||
**Beschreibung:** Elektronische Winzergenossenschaftsverwaltung
|
||||
**Typ:** Warenwirtschaftssystem (ERP-System)
|
||||
**Version:** 1.0.5.2 ([Änderungsprotokoll](./CHANGELOG.md))
|
||||
**Version:** 1.0.5.5 ([Änderungsprotokoll](./CHANGELOG.md))
|
||||
**Lizenz:** [GNU General Public License 3.0 (GPLv3)](./LICENSE)
|
||||
**Website:** https://elwig.at/
|
||||
**Quellcode:** https://git.necronda.net/winzer/elwig
|
||||
|
||||
+4
-4
@@ -19,16 +19,16 @@
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.6.0" />
|
||||
<PackageReference Include="Appium.WebDriver" Version="4.4.5" />
|
||||
<PackageReference Include="NReco.PdfRenderer" Version="1.6.0" />
|
||||
<PackageReference Include="NUnit" Version="4.5.1" />
|
||||
<PackageReference Include="NUnit" Version="4.6.1" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="6.2.0" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.12.0">
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.14.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="10.0.0">
|
||||
<PackageReference Include="coverlet.collector" Version="10.0.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
Reference in New Issue
Block a user