C# IBAN "Rechner": Wie kann ich die IBAN in BLZ und Konto-Nr. zerteilen?
Hallo,
ich programmiere gerade eine Anwendung, die, wenn man BLZ und Konto-Nr eingibt, die IBAN "errechnet". Jetzt habe ich die IBAN berechnet, will aber, dass bei dem tabControl bei "IBAN zerteilen" die "errechnete" IBAN vom IBAN generieren Tab dort bei der IBAN-Textbox angezeigt wird und wenn ich auch den zerteilen Button anklicke, er mir die BLZ und Konto-Nr zurückgibt. Also genau umgekehrt.
Thx.
Hier der bisher bestehende Code:
public void buttonGenerieren_Click(object sender, EventArgs e){
string knr, blz, ergebnis;
knr = textBoxKontoNrGenerieren.Text;
blz = textBoxBlzGenerieren.Text;
double num;
if ((double.TryParse(knr, out num)) && (double.TryParse(blz, out num)))
{
ergebnis = CreateIBAN("DE", blz, knr)
textBoxIbanGenerieren.Text = ergebnis;
}
else
{
textBoxKontoNrGenerieren.Text = "";
textBoxBlzGenerieren.Text = "";
}
}
string CreateIBAN(string lkz, string blz, string kntnr, bool groupedReturn = true)
{
string bban = string.Empty;
lkz = lkz.ToUpper();
switch(lkz)
{
case "AT":
{
bban = blz.PadLeft(5, '0') + kntnr.PadLeft(11, '0');
}
break;
case "DE":
{
bban = blz.PadLeft(0, '0') + kntnr.PadLeft(10, '0');
}
break;
case "CH":
{
bban = blz.PadLeft(5, '0') + kntnr.PadLeft(12, '0');
}
break;
}
string sum = bban + lkz.Aggregate("", (current, c) => current + (c - 55).ToString()) + "00";
var d = decimal.Parse(sum);
var checksum = 98 - (d % 97);
string iban = lkz + checksum.ToString().PadLeft(2, '0') + bban;
return groupedReturn
? iban.Select(c, i) => (i % 4 == 3) ? c + " " : c + "").Aggregate("", (current, c) => current + c)
: iban;
}
public void buttonZerteilen_Click(object sender, EventArgs e)
{
// Was kommt jetzt hier rein?
}