AppDbContext: Move all calls to App.HintContextChange() outside of any AppDbContext block
All checks were successful
Test / Run tests (push) Successful in 2m44s
All checks were successful
Test / Run tests (push) Successful in 2m44s
This commit is contained in:
@ -53,7 +53,7 @@ namespace Elwig {
|
|||||||
public static Dispatcher MainDispatcher { get; private set; }
|
public static Dispatcher MainDispatcher { get; private set; }
|
||||||
private DateTime LastChanged;
|
private DateTime LastChanged;
|
||||||
private static DateTime CurrentLastWrite => File.GetLastWriteTime(Config.DatabaseFile);
|
private static DateTime CurrentLastWrite => File.GetLastWriteTime(Config.DatabaseFile);
|
||||||
private readonly DispatcherTimer ContextTimer = new() { Interval = TimeSpan.FromSeconds(5) };
|
private readonly DispatcherTimer ContextTimer = new() { Interval = TimeSpan.FromSeconds(2) };
|
||||||
|
|
||||||
public App() : base() {
|
public App() : base() {
|
||||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||||
|
@ -100,39 +100,40 @@ namespace Elwig.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<int> UpdateAreaCommitment(this AreaComAdminViewModel vm, int? oldFbNr) {
|
public static async Task<int> UpdateAreaCommitment(this AreaComAdminViewModel vm, int? oldFbNr) {
|
||||||
using var ctx = new AppDbContext();
|
|
||||||
int newFbNr = (int)vm.FbNr!;
|
int newFbNr = (int)vm.FbNr!;
|
||||||
|
|
||||||
var a = new AreaCom {
|
using (var ctx = new AppDbContext()) {
|
||||||
FbNr = oldFbNr ?? newFbNr,
|
var a = new AreaCom {
|
||||||
MgNr = (int)vm.MgNr!,
|
FbNr = oldFbNr ?? newFbNr,
|
||||||
YearFrom = (int)vm.YearFrom!,
|
MgNr = (int)vm.MgNr!,
|
||||||
YearTo = vm.YearTo,
|
YearFrom = (int)vm.YearFrom!,
|
||||||
VtrgId = vm.AreaComType!.VtrgId,
|
YearTo = vm.YearTo,
|
||||||
CultId = vm.WineCult?.CultId,
|
VtrgId = vm.AreaComType!.VtrgId,
|
||||||
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
CultId = vm.WineCult?.CultId,
|
||||||
KgNr = vm.Kg!.KgNr,
|
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
||||||
RdNr = vm.Rd?.RdNr,
|
KgNr = vm.Kg!.KgNr,
|
||||||
GstNr = vm.GstNr!.Trim(),
|
RdNr = vm.Rd?.RdNr,
|
||||||
Area = (int)vm.Area!,
|
GstNr = vm.GstNr!.Trim(),
|
||||||
};
|
Area = (int)vm.Area!,
|
||||||
|
};
|
||||||
|
|
||||||
if (vm.Rd?.RdNr == 0) {
|
if (vm.Rd?.RdNr == 0) {
|
||||||
vm.Rd.RdNr = await ctx.NextRdNr(a.KgNr);
|
vm.Rd.RdNr = await ctx.NextRdNr(a.KgNr);
|
||||||
a.RdNr = vm.Rd.RdNr;
|
a.RdNr = vm.Rd.RdNr;
|
||||||
ctx.Add(vm.Rd);
|
ctx.Add(vm.Rd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldFbNr != null) {
|
if (oldFbNr != null) {
|
||||||
ctx.Update(a);
|
ctx.Update(a);
|
||||||
} else {
|
} else {
|
||||||
ctx.Add(a);
|
ctx.Add(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
|
|
||||||
if (newFbNr != a.FbNr) {
|
if (newFbNr != a.FbNr) {
|
||||||
await ctx.Database.ExecuteSqlAsync($"UPDATE area_commitment SET fbnr = {newFbNr} WHERE fbnr = {oldFbNr}");
|
await ctx.Database.ExecuteSqlAsync($"UPDATE area_commitment SET fbnr = {newFbNr} WHERE fbnr = {oldFbNr}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
|
@ -502,126 +502,128 @@ namespace Elwig.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<int> UpdateMember(this MemberAdminViewModel vm, int? oldMgNr) {
|
public static async Task<int> UpdateMember(this MemberAdminViewModel vm, int? oldMgNr) {
|
||||||
using var ctx = new AppDbContext();
|
|
||||||
var newMgNr = (int)vm.MgNr!;
|
var newMgNr = (int)vm.MgNr!;
|
||||||
var m = new Member {
|
|
||||||
MgNr = oldMgNr ?? newMgNr,
|
|
||||||
PredecessorMgNr = vm.PredecessorMgNr,
|
|
||||||
IsJuridicalPerson = vm.IsJuridicalPerson,
|
|
||||||
Prefix = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.Prefix) ? null : vm.Prefix,
|
|
||||||
GivenName = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.GivenName) ? null : vm.GivenName,
|
|
||||||
Name = vm.Name!,
|
|
||||||
Suffix = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.Suffix) ? null : vm.Suffix,
|
|
||||||
ForTheAttentionOf = !vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.ForTheAttentionOf) ? null : vm.ForTheAttentionOf,
|
|
||||||
Birthday = string.IsNullOrEmpty(vm.Birthday) ? null : string.Join("-", vm.Birthday!.Split(".").Reverse()),
|
|
||||||
IsDeceased = vm.IsDeceased,
|
|
||||||
CountryNum = 40, // Austria AT AUT
|
|
||||||
PostalDestId = vm.Ort!.Id,
|
|
||||||
Address = vm.Address!,
|
|
||||||
|
|
||||||
Iban = string.IsNullOrEmpty(vm.Iban) ? null : vm.Iban?.Replace(" ", ""),
|
using (var ctx = new AppDbContext()) {
|
||||||
Bic = string.IsNullOrEmpty(vm.Bic) ? null : vm.Bic,
|
var m = new Member {
|
||||||
|
MgNr = oldMgNr ?? newMgNr,
|
||||||
|
PredecessorMgNr = vm.PredecessorMgNr,
|
||||||
|
IsJuridicalPerson = vm.IsJuridicalPerson,
|
||||||
|
Prefix = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.Prefix) ? null : vm.Prefix,
|
||||||
|
GivenName = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.GivenName) ? null : vm.GivenName,
|
||||||
|
Name = vm.Name!,
|
||||||
|
Suffix = vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.Suffix) ? null : vm.Suffix,
|
||||||
|
ForTheAttentionOf = !vm.IsJuridicalPerson || string.IsNullOrWhiteSpace(vm.ForTheAttentionOf) ? null : vm.ForTheAttentionOf,
|
||||||
|
Birthday = string.IsNullOrEmpty(vm.Birthday) ? null : string.Join("-", vm.Birthday!.Split(".").Reverse()),
|
||||||
|
IsDeceased = vm.IsDeceased,
|
||||||
|
CountryNum = 40, // Austria AT AUT
|
||||||
|
PostalDestId = vm.Ort!.Id,
|
||||||
|
Address = vm.Address!,
|
||||||
|
|
||||||
UstIdNr = string.IsNullOrEmpty(vm.UstIdNr) ? null : vm.UstIdNr,
|
Iban = string.IsNullOrEmpty(vm.Iban) ? null : vm.Iban?.Replace(" ", ""),
|
||||||
LfbisNr = string.IsNullOrEmpty(vm.LfbisNr) ? null : vm.LfbisNr,
|
Bic = string.IsNullOrEmpty(vm.Bic) ? null : vm.Bic,
|
||||||
IsBuchführend = vm.IsBuchführend,
|
|
||||||
IsOrganic = vm.IsOrganic,
|
|
||||||
|
|
||||||
EntryDateString = string.IsNullOrEmpty(vm.EntryDate) ? null : string.Join("-", vm.EntryDate.Split(".").Reverse()),
|
UstIdNr = string.IsNullOrEmpty(vm.UstIdNr) ? null : vm.UstIdNr,
|
||||||
ExitDateString = string.IsNullOrEmpty(vm.ExitDate) ? null : string.Join("-", vm.ExitDate.Split(".").Reverse()),
|
LfbisNr = string.IsNullOrEmpty(vm.LfbisNr) ? null : vm.LfbisNr,
|
||||||
BusinessShares = (int)vm.BusinessShares!,
|
IsBuchführend = vm.IsBuchführend,
|
||||||
AccountingNr = string.IsNullOrEmpty(vm.AccountingNr) ? null : vm.AccountingNr,
|
IsOrganic = vm.IsOrganic,
|
||||||
IsActive = vm.IsActive,
|
|
||||||
IsVollLieferant = vm.IsVollLieferant,
|
|
||||||
IsFunktionär = vm.IsFunktionär,
|
|
||||||
ZwstId = vm.Branch?.ZwstId,
|
|
||||||
DefaultKgNr = vm.DefaultKg?.KgNr,
|
|
||||||
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
|
||||||
ContactViaPost = vm.ContactViaPost,
|
|
||||||
ContactViaEmail = vm.ContactViaEmail,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (oldMgNr != null) {
|
EntryDateString = string.IsNullOrEmpty(vm.EntryDate) ? null : string.Join("-", vm.EntryDate.Split(".").Reverse()),
|
||||||
ctx.Update(m);
|
ExitDateString = string.IsNullOrEmpty(vm.ExitDate) ? null : string.Join("-", vm.ExitDate.Split(".").Reverse()),
|
||||||
} else {
|
BusinessShares = (int)vm.BusinessShares!,
|
||||||
ctx.Add(m);
|
AccountingNr = string.IsNullOrEmpty(vm.AccountingNr) ? null : vm.AccountingNr,
|
||||||
}
|
IsActive = vm.IsActive,
|
||||||
|
IsVollLieferant = vm.IsVollLieferant,
|
||||||
|
IsFunktionär = vm.IsFunktionär,
|
||||||
|
ZwstId = vm.Branch?.ZwstId,
|
||||||
|
DefaultKgNr = vm.DefaultKg?.KgNr,
|
||||||
|
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
||||||
|
ContactViaPost = vm.ContactViaPost,
|
||||||
|
ContactViaEmail = vm.ContactViaEmail,
|
||||||
|
};
|
||||||
|
|
||||||
ctx.RemoveRange(ctx.BillingAddresses.Where(a => a.MgNr == oldMgNr));
|
if (oldMgNr != null) {
|
||||||
if (vm.BillingOrt != null && vm.BillingName != null) {
|
ctx.Update(m);
|
||||||
var p = vm.BillingOrt;
|
} else {
|
||||||
ctx.Add(new BillingAddr {
|
ctx.Add(m);
|
||||||
MgNr = m.MgNr,
|
}
|
||||||
FullName = vm.BillingName,
|
|
||||||
Address = vm.BillingAddress ?? "",
|
|
||||||
CountryNum = p.CountryNum,
|
|
||||||
PostalDestId = p.Id,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.RemoveRange(ctx.MemberTelephoneNrs.Where(t => t.MgNr == oldMgNr));
|
ctx.RemoveRange(ctx.BillingAddresses.Where(a => a.MgNr == oldMgNr));
|
||||||
ctx.AddRange(vm.PhoneNrs
|
if (vm.BillingOrt != null && vm.BillingName != null) {
|
||||||
.Where(input => input.Number != null && input.Number != "")
|
var p = vm.BillingOrt;
|
||||||
.Select((input, i) => new MemberTelNr {
|
ctx.Add(new BillingAddr {
|
||||||
MgNr = m.MgNr,
|
MgNr = m.MgNr,
|
||||||
Nr = i + 1,
|
FullName = vm.BillingName,
|
||||||
Type = input.Type == -1 ? (input.Number!.StartsWith("+43 ") && input.Number![4] == '6' ? "mobile" : "landline") : vm.PhoneNrTypes[input.Type].Key,
|
Address = vm.BillingAddress ?? "",
|
||||||
Number = input.Number!,
|
CountryNum = p.CountryNum,
|
||||||
Comment = input.Comment,
|
PostalDestId = p.Id,
|
||||||
}));
|
});
|
||||||
|
}
|
||||||
|
|
||||||
ctx.RemoveRange(ctx.MemberEmailAddrs.Where(e => e.MgNr == oldMgNr));
|
ctx.RemoveRange(ctx.MemberTelephoneNrs.Where(t => t.MgNr == oldMgNr));
|
||||||
ctx.AddRange(vm.EmailAddresses
|
ctx.AddRange(vm.PhoneNrs
|
||||||
.Where(input => input != null && input != "")
|
.Where(input => input.Number != null && input.Number != "")
|
||||||
.Select((input, i) => new MemberEmailAddr {
|
.Select((input, i) => new MemberTelNr {
|
||||||
MgNr = m.MgNr,
|
MgNr = m.MgNr,
|
||||||
Nr = i + 1,
|
Nr = i + 1,
|
||||||
Address = input!,
|
Type = input.Type == -1 ? (input.Number!.StartsWith("+43 ") && input.Number![4] == '6' ? "mobile" : "landline") : vm.PhoneNrTypes[input.Type].Key,
|
||||||
Comment = null,
|
Number = input.Number!,
|
||||||
}));
|
Comment = input.Comment,
|
||||||
|
}));
|
||||||
|
|
||||||
await ctx.SaveChangesAsync();
|
ctx.RemoveRange(ctx.MemberEmailAddrs.Where(e => e.MgNr == oldMgNr));
|
||||||
|
ctx.AddRange(vm.EmailAddresses
|
||||||
|
.Where(input => input != null && input != "")
|
||||||
|
.Select((input, i) => new MemberEmailAddr {
|
||||||
|
MgNr = m.MgNr,
|
||||||
|
Nr = i + 1,
|
||||||
|
Address = input!,
|
||||||
|
Comment = null,
|
||||||
|
}));
|
||||||
|
|
||||||
if (vm.TransferPredecessorAreaComs is int year && m.PredecessorMgNr is int predecessor) {
|
|
||||||
var areaComs = await ctx.AreaCommitments
|
|
||||||
.Where(c => c.MgNr == predecessor && (c.YearTo == null || c.YearTo >= year))
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
var fbNr = await ctx.NextFbNr();
|
|
||||||
ctx.AddRange(areaComs.Select((c, i) => new AreaCom {
|
|
||||||
FbNr = fbNr + i,
|
|
||||||
MgNr = m.MgNr,
|
|
||||||
VtrgId = c.VtrgId,
|
|
||||||
CultId = c.CultId,
|
|
||||||
Area = c.Area,
|
|
||||||
KgNr = c.KgNr,
|
|
||||||
GstNr = c.GstNr,
|
|
||||||
RdNr = c.RdNr,
|
|
||||||
YearFrom = vm.MaintainAreaComYearTo ? c.YearFrom : year,
|
|
||||||
YearTo = c.YearTo,
|
|
||||||
}));
|
|
||||||
|
|
||||||
foreach (var ac in areaComs)
|
|
||||||
ac.YearTo = year - 1;
|
|
||||||
ctx.UpdateRange(areaComs);
|
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
}
|
|
||||||
vm.TransferPredecessorAreaComs = null;
|
|
||||||
|
|
||||||
if (vm.CancelAreaComs is int yearTo) {
|
if (vm.TransferPredecessorAreaComs is int year && m.PredecessorMgNr is int predecessor) {
|
||||||
var areaComs = await ctx.AreaCommitments
|
var areaComs = await ctx.AreaCommitments
|
||||||
.Where(c => c.MgNr == m.MgNr && (c.YearTo == null || c.YearTo > yearTo))
|
.Where(c => c.MgNr == predecessor && (c.YearTo == null || c.YearTo >= year))
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
foreach (var ac in areaComs)
|
var fbNr = await ctx.NextFbNr();
|
||||||
ac.YearTo = yearTo;
|
ctx.AddRange(areaComs.Select((c, i) => new AreaCom {
|
||||||
ctx.UpdateRange(areaComs);
|
FbNr = fbNr + i,
|
||||||
await ctx.SaveChangesAsync();
|
MgNr = m.MgNr,
|
||||||
}
|
VtrgId = c.VtrgId,
|
||||||
vm.CancelAreaComs = null;
|
CultId = c.CultId,
|
||||||
|
Area = c.Area,
|
||||||
|
KgNr = c.KgNr,
|
||||||
|
GstNr = c.GstNr,
|
||||||
|
RdNr = c.RdNr,
|
||||||
|
YearFrom = vm.MaintainAreaComYearTo ? c.YearFrom : year,
|
||||||
|
YearTo = c.YearTo,
|
||||||
|
}));
|
||||||
|
|
||||||
if (newMgNr != m.MgNr) {
|
foreach (var ac in areaComs)
|
||||||
await ctx.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {oldMgNr}");
|
ac.YearTo = year - 1;
|
||||||
|
ctx.UpdateRange(areaComs);
|
||||||
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
vm.TransferPredecessorAreaComs = null;
|
||||||
|
|
||||||
|
if (vm.CancelAreaComs is int yearTo) {
|
||||||
|
var areaComs = await ctx.AreaCommitments
|
||||||
|
.Where(c => c.MgNr == m.MgNr && (c.YearTo == null || c.YearTo > yearTo))
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
foreach (var ac in areaComs)
|
||||||
|
ac.YearTo = yearTo;
|
||||||
|
ctx.UpdateRange(areaComs);
|
||||||
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
vm.CancelAreaComs = null;
|
||||||
|
|
||||||
|
if (newMgNr != m.MgNr) {
|
||||||
|
await ctx.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {oldMgNr}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
|
@ -662,14 +662,15 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
private async void SaveButton_Click(object sender, RoutedEventArgs e) {
|
private async void SaveButton_Click(object sender, RoutedEventArgs e) {
|
||||||
try {
|
try {
|
||||||
using var ctx = new AppDbContext();
|
using (var ctx = new AppDbContext()) {
|
||||||
var origData = BillingData.FromJson(PaymentVar.Data);
|
var origData = BillingData.FromJson(PaymentVar.Data);
|
||||||
var data = BillingData.FromGraphEntries(GraphEntries, origData, Utils.GetVaributes(ctx, Year),
|
var data = BillingData.FromGraphEntries(GraphEntries, origData, Utils.GetVaributes(ctx, Year),
|
||||||
AllVaributesAssigned, AllVaributesAssignedAbgew);
|
AllVaributesAssigned, AllVaributesAssignedAbgew);
|
||||||
|
|
||||||
PaymentVar.Data = data.ToJsonString();
|
PaymentVar.Data = data.ToJsonString();
|
||||||
ctx.Update(PaymentVar);
|
ctx.Update(PaymentVar);
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
LockContext = false;
|
LockContext = false;
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
|
@ -225,18 +225,21 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
private async void AddButton_Click(object sender, RoutedEventArgs evt) {
|
private async void AddButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
try {
|
try {
|
||||||
using var ctx = new AppDbContext();
|
PaymentVar? v;
|
||||||
var v = new PaymentVar {
|
using (var ctx = new AppDbContext()) {
|
||||||
Year = Year,
|
v = new PaymentVar {
|
||||||
AvNr = await ctx.NextAvNr(Year),
|
Year = Year,
|
||||||
Name = "Neue Auszahlungsvariante",
|
AvNr = await ctx.NextAvNr(Year),
|
||||||
TestVariant = true,
|
Name = "Neue Auszahlungsvariante",
|
||||||
DateString = $"{DateTime.Today:yyyy-MM-dd}",
|
TestVariant = true,
|
||||||
Data = "{\"mode\": \"elwig\", \"version\": 1, \"payment\": {}, \"curves\": []}",
|
DateString = $"{DateTime.Today:yyyy-MM-dd}",
|
||||||
};
|
Data = "{\"mode\": \"elwig\", \"version\": 1, \"payment\": {}, \"curves\": []}",
|
||||||
|
};
|
||||||
|
|
||||||
|
ctx.Add(v);
|
||||||
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
ctx.Add(v);
|
|
||||||
await ctx.SaveChangesAsync();
|
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
|
|
||||||
ControlUtils.SelectItem(PaymentVariantList, v);
|
ControlUtils.SelectItem(PaymentVariantList, v);
|
||||||
@ -250,18 +253,21 @@ namespace Elwig.Windows {
|
|||||||
private async void CopyButton_Click(object sender, RoutedEventArgs evt) {
|
private async void CopyButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (PaymentVariantList.SelectedItem is not PaymentVar orig) return;
|
if (PaymentVariantList.SelectedItem is not PaymentVar orig) return;
|
||||||
try {
|
try {
|
||||||
using var ctx = new AppDbContext();
|
PaymentVar? n;
|
||||||
var n = new PaymentVar {
|
using (var ctx = new AppDbContext()) {
|
||||||
Year = orig.Year,
|
n = new PaymentVar {
|
||||||
AvNr = await ctx.NextAvNr(Year),
|
Year = orig.Year,
|
||||||
Name = $"{orig.Name} (Kopie)",
|
AvNr = await ctx.NextAvNr(Year),
|
||||||
TestVariant = true,
|
Name = $"{orig.Name} (Kopie)",
|
||||||
DateString = $"{DateTime.Today:yyyy-MM-dd}",
|
TestVariant = true,
|
||||||
Data = orig.Data,
|
DateString = $"{DateTime.Today:yyyy-MM-dd}",
|
||||||
};
|
Data = orig.Data,
|
||||||
|
};
|
||||||
|
|
||||||
|
ctx.Add(n);
|
||||||
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
ctx.Add(n);
|
|
||||||
await ctx.SaveChangesAsync();
|
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
|
|
||||||
ControlUtils.SelectItem(PaymentVariantList, n);
|
ControlUtils.SelectItem(PaymentVariantList, n);
|
||||||
@ -275,9 +281,10 @@ namespace Elwig.Windows {
|
|||||||
private async void DeleteButton_Click(object sender, RoutedEventArgs evt) {
|
private async void DeleteButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (PaymentVariantList.SelectedItem is not PaymentVar v || !v.TestVariant) return;
|
if (PaymentVariantList.SelectedItem is not PaymentVar v || !v.TestVariant) return;
|
||||||
try {
|
try {
|
||||||
using var ctx = new AppDbContext();
|
using (var ctx = new AppDbContext()) {
|
||||||
ctx.Remove(v);
|
ctx.Remove(v);
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
|
}
|
||||||
await App.HintContextChange();
|
await App.HintContextChange();
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
||||||
|
@ -80,17 +80,17 @@ namespace Tests.HelperTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Task<Dictionary<string, AreaComBucket>> GetMemberAreaCommitmentBuckets(int year, int mgnr) {
|
private Task<Dictionary<string, AreaComBucket>> GetMemberAreaCommitmentBuckets(int year, int mgnr) {
|
||||||
var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
return ctx.GetMemberAreaCommitmentBuckets(year, mgnr, Connection);
|
return ctx.GetMemberAreaCommitmentBuckets(year, mgnr, Connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task<Dictionary<string, int>> GetMemberDeliveryBuckets(int year, int mgnr) {
|
private Task<Dictionary<string, int>> GetMemberDeliveryBuckets(int year, int mgnr) {
|
||||||
var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
return ctx.GetMemberDeliveryBuckets(year, mgnr, Connection);
|
return ctx.GetMemberDeliveryBuckets(year, mgnr, Connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task<Dictionary<string, int>> GetMemberPaymentBuckets(int year, int mgnr) {
|
private Task<Dictionary<string, int>> GetMemberPaymentBuckets(int year, int mgnr) {
|
||||||
var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user