using System; using System.Collections.Generic; using System.Text; namespace Lapistik1 { class Isikukood { private string kood; static string[] kuunimed = { "", "jaanuar", "veebruar", "märts", "aprill", "mai", "juuni", "juuli", "august", "september", "oktoober", "november", "detsember"}; public Isikukood(string uuskood) { if (uuskood.Length != 11) { throw new Exception("Vigane pikkus: "+uuskood.Length); } this.kood = uuskood; } public string KysiSynnikuupaev() { return kood.Substring(5, 2); } public string KysiSynnikuuNimi() { return kuunimed[int.Parse(kood.Substring(3, 2))]; } public string KysiNeljakohalineSynniaasta() { string aastanr = kood.Substring(1, 2); char c1 = kood[0]; string sajandinr = "18"; switch (c1) { case '1': case '2': break; case '3': case '4': sajandinr = "19"; break; default: sajandinr = "20"; break; } return sajandinr + aastanr; } public static bool kasIsikukoodKorrektne(string ik) { int abi1 = 0; for (int i = 1; i <= 9; i++) { abi1 += int.Parse(ik.Substring(i - 1, 1)) * i; } abi1 += int.Parse(ik.Substring(9, 1)); if (abi1 % 11 == int.Parse(ik.Substring(10, 1))) { return true; } if (abi1 % 11 == 10) { abi1 = 0; int[] kordajad = { 3, 4, 5, 6, 7, 8, 9, 1, 2, 3 }; for (int i = 0; i < 10; i++) { abi1 += int.Parse(ik.Substring(i, 1)) * kordajad[i]; } if (abi1 % 11 == int.Parse(ik.Substring(10, 1))) { return true; } } return false; } } }