public void sendAccountingMail(String sendTo, HospitalAccounting account) { MailAddress to = new MailAddress(sendTo, ""); MailMessage message = new MailMessage(accountingMail, to); message.IsBodyHtml = true; message.Subject = "Rechnung"; StringBuilder MyString = new StringBuilder("<html> \n <head>"); MyString.Append("<meta content=\"text/html;charset=utf-8\" http-equiv=\"Content-Type\"/>"); MyString.Append("</head> \n <body> \n"); //head an body //table head with clinic name MyString.Append("<table style=\"width:500px;border:1px solid black;\" cellpadding=\"0\" cellspacing=\"0\">\n"); MyString.Append("<thead style=\"background-color:#4f7cb7;color:#FFF;\">\n"); MyString.Append("<tr><td colspan=\"2\" height=\"30px\" style=\"border-bottom:1px solid black;\">Rechnung für Krankenhaus ").Append(account.Name).Append("</td></tr>\n"); MyString.Append("</thead>\n<tbody>\n"); foreach (PatientAccounting patient in account.Items) { //patient name and cost MyString.Append("<tr style=\"background-color:#e8e8e8;\">\n"); MyString.Append("<td style=\"width:60%;font-weight:bold;\">").Append(patient.Firstname).Append(" ").Append(patient.Lastname).Append("</td>\n"); MyString.Append("<td style=\"width:40%;font-weight:bold;\" align=\"right\">Ges. ").Append((double)patient.Cost / 100).Append(",00 Euro </td>\n</tr>\n"); foreach (SampleAccounting sample in patient.Items) { //sample name,date and cost MyString.Append("<tr>\n"); MyString.Append("<td style=\"padding-left:50px;\">").Append(sample.Name).Append(" (").Append(sample.Date.ToShortDateString()).AppendFormat(")</td>\n"); MyString.Append("<td align=\"right\">").Append((double)sample.Cost / 100).AppendFormat(",00 Euro </td>\n"); MyString.Append("</tr>\n"); } } MyString.Append("<tr style=\"background-color:#e8e8e8;\">\n"); MyString.Append("<td style=\"width:60%;font-weight:bold;\">").Append("Gesamtbetrag dieser Rechnung").Append("</td>\n"); MyString.Append("<td style=\"width:40%;font-weight:bold;\" align=\"right\">Ges. ").Append((double)account.Cost / 100).Append(",00 Euro </td>\n</tr>\n"); MyString.AppendFormat("</tbody>\n</table>\n</body>\n</html>\n"); message.Body = MyString.ToString(); mailClient.Send(message); }
public static Dictionary<int, HospitalAccounting> calculateAccounting(SampleData[] samples) { Dictionary<int, HospitalAccounting> set = new Dictionary<int, HospitalAccounting>(); foreach (SampleData sample in samples) { Hospital hos = sample.Patient.Hospital; HospitalAccounting hosAcc; if (set.TryGetValue(hos.ID, out hosAcc) == false) { hosAcc = new HospitalAccounting(hos.ID, hos.Name); set.Add(hos.ID, hosAcc); } Patient pat = sample.Patient; PatientAccounting patAcc; if (hosAcc.dictionary.TryGetValue(pat.ID, out patAcc) == false) { patAcc = new PatientAccounting(pat.ID, pat.Firstname, pat.Lastname); hosAcc.dictionary.Add(pat.ID, patAcc); } DateTime date = sample.LastStateChange; if (sample.State == SampleStateEnum.Closed) { date = date.Subtract(new TimeSpan(2, 0, 0, 0)); //Subtract 2 Days if Sample already closed } patAcc.Items.Add(new SampleAccounting(sample.Analysis.Name, sample.Analysis.Cost, date)); sample.beginEdit(); sample.IsAccounted = true; sample.endEdit(); } return set; }