MemberAdminWindow: Fix crash when editing telnr or email
This commit is contained in:
@ -659,44 +659,34 @@ namespace Elwig.Windows {
|
|||||||
for (int i = 0, j = 0; i < PhoneNrInputs.Length; i++) {
|
for (int i = 0, j = 0; i < PhoneNrInputs.Length; i++) {
|
||||||
var input = GetPhoneNrInput(i);
|
var input = GetPhoneNrInput(i);
|
||||||
var phoneNr = m.TelephoneNumbers.FirstOrDefault(p => p.Nr - 1 == i);
|
var phoneNr = m.TelephoneNumbers.FirstOrDefault(p => p.Nr - 1 == i);
|
||||||
if (input == null) {
|
if (phoneNr != null) {
|
||||||
if (phoneNr != null) {
|
Context.Remove(phoneNr);
|
||||||
Context.Remove(phoneNr);
|
}
|
||||||
}
|
if (input != null) {
|
||||||
} else {
|
|
||||||
var pInput = input.Value;
|
var pInput = input.Value;
|
||||||
MemberTelNr p = phoneNr ?? Context.CreateProxy<MemberTelNr>();
|
MemberTelNr p = Context.CreateProxy<MemberTelNr>();
|
||||||
|
p.MgNr = newMgNr;
|
||||||
p.Nr = ++j;
|
p.Nr = ++j;
|
||||||
p.Type = pInput.Item1;
|
p.Type = pInput.Item1;
|
||||||
p.Number = pInput.Item2;
|
p.Number = pInput.Item2;
|
||||||
p.Comment = pInput.Item3;
|
p.Comment = pInput.Item3;
|
||||||
if (phoneNr == null) {
|
await Context.AddAsync(p);
|
||||||
p.MgNr = newMgNr;
|
|
||||||
await Context.AddAsync(p);
|
|
||||||
} else {
|
|
||||||
Context.Update(p);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < EmailAddressInputs.Length; i++) {
|
for (int i = 0, j = 0; i < EmailAddressInputs.Length; i++) {
|
||||||
var input = GetEmailAddressInput(i);
|
var input = GetEmailAddressInput(i);
|
||||||
var emailAddr = m.EmailAddresses.FirstOrDefault(a => a.Nr - 1 == i);
|
var emailAddr = m.EmailAddresses.FirstOrDefault(a => a.Nr - 1 == i);
|
||||||
if (input == null || input == "") {
|
if (emailAddr != null) {
|
||||||
if (emailAddr != null) {
|
Context.Remove(emailAddr);
|
||||||
Context.Remove(emailAddr);
|
}
|
||||||
}
|
if (input != null && input != "") {
|
||||||
} else {
|
MemberEmailAddr a = Context.CreateProxy<MemberEmailAddr>();
|
||||||
MemberEmailAddr a = emailAddr ?? Context.CreateProxy<MemberEmailAddr>();
|
a.MgNr = newMgNr;
|
||||||
a.Nr = i + 1;
|
a.Nr = ++j;
|
||||||
a.Address = input ?? "";
|
a.Address = input;
|
||||||
a.Comment = null;
|
a.Comment = null;
|
||||||
if (emailAddr == null) {
|
await Context.AddAsync(a);
|
||||||
a.MgNr = newMgNr;
|
|
||||||
await Context.AddAsync(a);
|
|
||||||
} else {
|
|
||||||
Context.Update(a);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user