Ok, das hier ist echt ein bisschen speziell. Jede Einrichtung die Leistungen nach dem SGB erbringt kann in Deutschland eine eindeutige Identifikationsnummer beantragen - die sogenannte IK-Nummer (siehe http://www.therapedia.de/wiki/index.php/IK-Nummer)
Eine IK-Nummer lässt sich auf Gültigkeit prüfen:
Die ersten 2 Ziffern (“Klassifikation”) kennzeichnen die Art der Einrichtung oder die Personengruppe
Die Ziffern 3 und 4 (“Regionalbereich”) kennzeichnen das Bundesland der Einrichtung
Die Ziffer 5 bis 8 (“Seriennummer”) werden fortlaufend vergeben
Die Ziffer 9 dient als Prüfziffer
Hier das Snippet für die Prüfung dieser Nummer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| public bool IstIKGueltig(string IKNr)
{
bool retVal = false;
int ik1 = Quersumme(Int32.Parse(IKNr.Substring(0, 1)) * 2);
int ik2 = Int32.Parse(IKNr.Substring(1, 1));
int ik3 = Quersumme(Int32.Parse(IKNr.Substring(2, 1)) * 2);
int ik4 = Int32.Parse(IKNr.Substring(3, 1));
int ik5 = Quersumme(Int32.Parse(IKNr.Substring(4, 1)) * 2);
int ik6 = Int32.Parse(IKNr.Substring(5, 1));
int ikSum = (ik1 + ik2 + ik3 + ik4 + ik5 + ik6);
string ikPruef = ikSum.ToString().Substring(ikSum.ToString().Length - 1, 1);
if (Int32.Parse(IKNr.Substring(6, 1)) == Int32.Parse(ikPruef))
retVal = true;
return retVal;
} |
Hier noch die Funktion zur Ermittlung der Quersumme:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| private int Quersumme(int iNumber)
{
string strNumbers = iNumber.ToString();
iNumber = 0;
List lstParts = new List();
foreach (char ch in strNumbers)
{
lstParts.Add(Convert.ToInt32(ch.ToString()));
}
foreach (int i in lstParts)
{
iNumber = iNumber + i;
}
return iNumber;
} |
Lange suchen und versuchen, und doch gefunden…
Mein WCF-Service meldete sich mit einer “KeyNotFoundException” zurück. Lag an der Verwendung von “wsHttpBinding” in der web.config.
Nach der Änderung des Binding auf “basicHttpBinding” in der web.config, aktualisieren der Service-Referenz und neu erstellen des Projekts lief alles…
Mein Neffe Simon leidet an einer sehr seltenen Erbkrankheit (Fanconi Anämie). Daher erhält er in den nächsten Tagen eine Knochenmark-Transplantation in der Uni-Klinik Würzburg.
Er hat ein Tagebuch eingerichtet, in dem er uns auf dem Laufenden hält:
http://www.simon-stein-fanconi.de
Ich würde mich freuen, wenn dieses Tagebuch eure Aufmerksamkeit erfahren würde und dazu beitragen würde, dass auch eine seltene Krankheit ins Bewusstsein der Öffentlichkeit Einzug finden könnte…
40.000.000 Datensätze in mehreren Measure-Gruppen und dann das: Query Timeout Expired HYT00
Und wann passiert das? Natürlich erst, wenn der “Cube” schon stundenlang am Rechnen ist… Und dabei ist es so einfach:
In den Eigenschaften des Analysis Servers den ExternalCommandTimeout erhöhen und schon ist alles gut…
siehe hier: http://jesseorosz.wordpress.com/2006/12/19/hyt00-error-query-timeout-expired/
Irgendwie brauche ich es immer wieder, den Wochentag eines Datums in einer meiner Tabellen. Und immer wieder muss ich es mir googlen. Also jetzt hier verewigt:
1
2
3
4
| SELECT DATENAME(w, getdate())
w = Wochentag
m = Monatsname |
Mit einem vorangestellten
lässt sich die Rückgabe sogar eindeutschen. Enstsprechend funktioniert das natürlich auch mit jeder beliebigen anderen Sprache sofern man einen entsprechenden Sprachalias auf dem SQL-Server zur Verfügung hat…
Um neue Server in eine Sharepoint-Farm zu integrieren ist die PassPhrase nötig. Aber vielen Sharepoint-Admins geht es so wie mir: Die PassPhrase wurde seinerzeit gewählt und natürlich vergessen…
Um die PassPhrase zu ändern starten Sie
Start > Programme > Microsoft Sharepoint 2010 Products
> Sharepoint 2010-Verwaltungsshell
und geben die folgende Zeile ein:
X:\PS> $neuepassphrase = ConvertTo-SecureString -asPlainText -Force
Nun erscheint eine Eingabemöglichkeit
String:
Hier geben Sie nun Ihre neue PassPhrase im Klartext ein
Anschliessend geben Sie folgende Zeile ein:
X:\PS> Set-SPPassPhrase -PassPhrase $neuepassphrase -Confirm
Eingabemöglichkeit
ConfirmPassPhrase:
Hier geben Sie nocheinmal Ihre gewählte PassPhrase ein
Nach dieser Eingabe wird Ihnen noch eine Sicherheitsabfrage angezeigt, die Sie mit J (Ja) bestätigen
GridViews sind eine schöne Sache. Man kann schnell und einfach Daten auf seiner Form ausgeben, bearbeiten und vor allen Dingen komfortabel löschen.
Aber nur, wenn die Bezugsspalte in der Datenbank als Primary Key hinterlegt ist.
In meinem Fall sollte eine Terminserie, die aus vielen Einzelterminen (jeder Termin hat eine ID -> Primary Key) anhand einer SerienGuid (varchar -> KEIN PK), die diese Termine zu einer Serie zusammenfasst, gelöscht werden.
Hierzu habe ich im GridView folgende Änderungen vornehmen müssen:
DataKeyNames [Tag] entfernen
OnRowCommand=”GridView1_RowCommand” einfügen
Ein neues Template-Field hinzufügen:
1
2
3
4
5
6
7
8
9
| <asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID=”ImageButton1″ runat=”server” ImageUrl=”~/images/icon_delete.gif”
CommandName=”DeleteIt” OnClientClick=”return confirm(‘Möchten Sie diesen Eintrag wirklich löschen?’);”
CommandArgument=’<%# Eval(“SerienGuid”) %>‘ />
</ItemTemplate>
<HeaderStyle BackColor=”#EBF1FD” HorizontalAlign=”Center” />
<ItemStyle BackColor=”White” HorizontalAlign=”Center” />
</asp:TemplateField> |
Anschliessend im CodeBehind:
1
2
3
4
5
6
7
8
9
| protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == “DeleteIt”)
{
String sql = “DELETE FROM SerienTabelle”
+ “ WHERE SerienGuid = ‘” + e.CommandArgument + “‘”;
[...]
}
} |