Compare commits

..
4 Commits
Author SHA1 Message Date
lorenz.stechauner f0de16ede3 [WIP] Bump version to 1.2.0.0
Test / Run tests (push) Successful in 2m9s
2026-10-02 14:58:34 +02:00
lorenz.stechauner fcdbc8ce17 Elwig: Update dependencies
Test / Run tests (push) Successful in 2m13s
2026-10-02 14:57:47 +02:00
lorenz.stechauner fa19d4dcb5 AppDbUpdater: Fix update to v42
Test / Run tests (push) Successful in 2m31s
2026-10-02 14:54:02 +02:00
lorenz.stechauner e370f949f6 MemberAdminWindow: Add pending member movement export 2026-10-02 14:53:59 +02:00
3 changed files with 37 additions and 20 deletions

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
using Elwig.Models.Dtos;
using Elwig.Models.Entities;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Elwig.Helpers.Export {
public class MemberMovement : IExporter<MemberHistory> {
public static string FileExtension => "ods";
private readonly OdsFile _ods;
public MemberMovement(string filename) {
_ods = new OdsFile(filename);
}
public void Dispose() {
GC.SuppressFinalize(this);
_ods.Dispose();
}
public async Task ExportAsync(IEnumerable<MemberHistory> data, IProgress<double>? progress = null) {
using var ctx = new AppDbContext();
var tbl = MemberMovementData.FromMemberHistory("", data, await ctx.GetMemberHistory());
await _ods.AddTable(tbl);
}
}
}
+6 -16
View File
@@ -65,22 +65,12 @@ namespace Elwig.Models.Dtos {
cat = 1;
}
Member a;
Member? b = null;
if (h.FromMember != null && h.ToMember != null) {
if (cat <= 1) {
a = h.ToMember;
b = h.FromMember;
} else {
a = h.FromMember;
b = h.ToMember;
}
} else if (h.FromMember != null) {
a = h.FromMember;
} else if (h.ToMember != null) {
a = h.ToMember;
} else {
throw new ArgumentException();
var a = h.FromMember ?? h.ToMember;
var b = (a != h.ToMember) ? h.ToMember : null;
if (a == null) throw new ArgumentException();
if (b != null && cat <= 1) {
(b, a) = (a, b);
}
var oldA = history[a.MgNr].GetValueOrDefault(h.DateNotice);
@@ -1,7 +1,6 @@
using Elwig.Helpers;
using Elwig.Helpers.Export;
using Elwig.Models;
using Elwig.Models.Dtos;
using Elwig.Models.Entities;
using Elwig.ViewModels;
using Microsoft.EntityFrameworkCore;
@@ -112,9 +111,8 @@ namespace Elwig.Services {
await Utils.RunForeground(async () => {
using var ctx = new AppDbContext();
var hist = await ctx.MemberHistory.Where(h => !h.CompanyHasSigned).ToListAsync();
var data = MemberMovementData.FromMemberHistory($"Ausstehend ({today:dd.MM.yyyy})", hist, await ctx.GetMemberHistory());
using var ods = new OdsFile(filename);
await ods.AddTable(data);
using var exporter = new MemberMovement(filename);
await exporter.ExportAsync(hist);
});
}
}