Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef02ec08d1 | ||
|
|
b262e17293 | ||
|
|
4f4d026b7b | ||
|
|
abb9e5a577 |
No files matched your search
@@ -1,29 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,12 +65,22 @@ namespace Elwig.Models.Dtos {
|
||||
cat = 1;
|
||||
}
|
||||
|
||||
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);
|
||||
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 oldA = history[a.MgNr].GetValueOrDefault(h.DateNotice);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Models;
|
||||
using Elwig.Models.Dtos;
|
||||
using Elwig.Models.Entities;
|
||||
using Elwig.ViewModels;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@@ -111,8 +112,9 @@ namespace Elwig.Services {
|
||||
await Utils.RunForeground(async () => {
|
||||
using var ctx = new AppDbContext();
|
||||
var hist = await ctx.MemberHistory.Where(h => !h.CompanyHasSigned).ToListAsync();
|
||||
using var exporter = new MemberMovement(filename);
|
||||
await exporter.ExportAsync(hist);
|
||||
var data = MemberMovementData.FromMemberHistory($"Ausstehend ({today:dd.MM.yyyy})", hist, await ctx.GetMemberHistory());
|
||||
using var ods = new OdsFile(filename);
|
||||
await ods.AddTable(data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user