cb reports

This commit is contained in:
Christian
2021-05-24 21:40:02 +02:00
parent f59f6f8151
commit 8e4ea7fe24
169 changed files with 142941 additions and 2755 deletions

View File

@@ -0,0 +1,905 @@
using System;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using DevExpress.XtraReports.UI;
using System.Data;
using BeWo.Data.Access;
using KetteReports;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Schema;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceImplementations;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.Extensions;
using BS.Shared.Services;
using DevExpress.Xpo.DB;
namespace KetteReports
{
[IDSpecificClass(Identifier = "SozPsychErfassungBeratung")]
public partial class SozPsychErfassungBeratung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
{
private long servicecategoryOid = 0;
private DateTime reportStart = DateTime.MinValue;
private DateTime reportEnd = DateTime.MaxValue;
public SozPsychErfassungBeratung()
{
InitializeComponent();
}
public void SetReportDataSource(QueryRO queryRo)
{
var dict = CreateStrassenschluesselDict();
var ro = CreateRo(queryRo, dict);
cellDifferenz.Text = string.Format("{0:0.00}",
ro.GeleisteteFlsGesamtCount - ro.AbrechnungVereinbarteFlsCount);
this.bindingSource1.DataSource = ro;
}
private SozPsychErfassungBeratungRO CreateRo(QueryRO queryRo, Dictionary<string, Wohnplatz> dict)
{
SozPsychErfassungBeratungRO result = new SozPsychErfassungBeratungRO();
result.DetailList = new List<SozPsychErfassungBeratungDetailRO>();
//decimal flsKlientGesamt = 0;
//decimal flsKlientGesamt = 0;
//decimal hilfedauerInMonatenGesamt = 0;
Dictionary<long, bool> custOidDict = new Dictionary<long, bool>();
int idx = 1;
foreach (var row in queryRo.Rows)
{
result.NummerCount++;
SozPsychErfassungBeratungDetailRO ro = new SozPsychErfassungBeratungDetailRO();
if (servicecategoryOid == 0)
{
servicecategoryOid = Int64.Parse(row.Field17.ToString());
}
long oid = Int64.Parse(row.Field1.ToString());
bool add = true;
if (!custOidDict.ContainsKey(oid))
{
//custOidDict.Add(oid, true);
}
else
{
add = false;
}
Customer c = DAOFactory.GenericDAO.LoadByID<Customer>(oid);
ro.Nummer = idx++;
ro.NummerUndName = String.Format("{0}: {1}, {2}", ro.Nummer, c.Person.LastName, c.Person.FirstName);
ro.Ort = String.Format("{0}", row.Field3);
ro.Strasse = String.Format("{0}", row.Field4);
var wp = GetWohnplatz(dict, ro.Strasse, ro.Ort);
if (wp != null)
{
ro.Wohnplatz = wp.Wohnplatzname;
ro.Strasse = wp.Strasse;
ro.Hausnr = wp.HausNummer;
result.WohnplatzCount++;
}
bool containsNewAngebot = c.VarFieldValueList.Exists(vv => vv.VarFieldDefOid >= 18 && vv.VarFieldDefOid <= 22);
//ro.Strasse = c.Person.FirstNameLastName;
foreach (var vv in c.VarFieldValueList)
{
var varFieldValue = Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
SetzeNationalitaet(result, ro, vv, varFieldValue);
if (vv.VarFieldDefOid != 2 || !containsNewAngebot)
{
SetzeAngebot(result, ro, vv, varFieldValue);
}
SetzeFahrdienst(result, ro, vv, varFieldValue);
SetzeLebensumfeld(result, ro, vv, varFieldValue);
SetzeErkrankung(result, ro, vv, varFieldValue);
SetzeZugang(result, ro, vv, varFieldValue);
SetzeOhneWohnplatz(result, ro, vv, varFieldValue);
}
int sex = 0;
if (row.Field7 != null && Int32.TryParse(row.Field7.ToString(), out sex))
{
if ( sex == 1)
{
ro.Weiblich = "x";
result.WeiblichCount++;
}
else if (sex == 0)
{
ro.Maennlich = "x";
result.MaennlichCount++;
}
}
DateTime birthday = DateTime.MinValue;
if (row.Field12 != null)
{
DateTime.TryParse(row.Field12.ToString(), out reportStart);
//if (reportStart == DateTime.MinValue)
//{
// reportStart = DateTime.Now;
//}
}
if (row.Field13 != null)
{
DateTime.TryParse(row.Field13.ToString(), out reportEnd);
if (reportEnd >= DateTime.MaxValue.AddDays(-1))
{
reportEnd = DateTime.Now;
}
}
if (row.Field8 != null && DateTime.TryParse(row.Field8.ToString(), out birthday))
{
int alter = reportEnd.Year - birthday.Year;
birthday = birthday.AddYears(alter);
if (reportEnd.CompareTo(birthday) < 0)
{
alter--;
}
if (servicecategoryOid == 8)
{
cellAlter1.Text = "unter 60";
cellAlter2.Text = "60-70";
cellAlter3.Text = "71-80";
cellAlter4.Text = "81+";
if (alter < 60)
{
ro.AlterBis18 = "x";
result.AlterBis18Count++;
}
else if (alter >= 60 && alter <= 70)
{
ro.Alter18_25 = "x";
result.Alter18_25Count++;
}
else if (alter >= 71 && alter <= 80)
{
ro.Alter26_65 = "x";
result.Alter26_65Count++;
}
else if (alter >= 81)
{
ro.AlterAb65 = "x";
result.AlterAb65Count++;
}
}
else
{
if (alter < 18)
{
ro.AlterBis18 = "x";
result.AlterBis18Count++;
}
else if (alter >= 18 && alter <= 25)
{
ro.Alter18_25 = "x";
result.Alter18_25Count++;
}
else if (alter >= 26 && alter <= 65)
{
ro.Alter26_65 = "x";
result.Alter26_65Count++;
}
else if (alter >= 66)
{
ro.AlterAb65 = "x";
result.AlterAb65Count++;
}
}
}
//ro.PrimaerErkrankung = c.Diagnosis2CustomerList.Select(s => s.ICD10DiagnosisCode).ToSeparatedString(", ");
ro.PrimaerErkrankung = CreateDiagnosisString(c.Diagnosis2CustomerList);
SetzeVermittlung(result, ro, c);
SetzeBeendigungsgrund(result, ro, c);
DateTime beantragtAb = DateTime.MinValue;
DateTime beantragtBis = DateTime.MinValue;
DateTime bewilligtAb = DateTime.MinValue;
DateTime bewilligtBis = DateTime.MinValue;
if (row.Field9 != null)
{
DateTime.TryParse(row.Field9.ToString(), out bewilligtAb);
}
if (row.Field10 != null)
{
DateTime.TryParse(row.Field10.ToString(), out bewilligtBis);
}
if (row.Field14 != null)
{
DateTime.TryParse(row.Field14.ToString(), out beantragtAb);
}
if (row.Field15 != null)
{
DateTime.TryParse(row.Field15.ToString(), out beantragtBis);
}
if (beantragtAb > DateTime.MinValue)
{
ro.AnfrageHilfebeginn = beantragtAb;
}
if (bewilligtAb > DateTime.MinValue)
{
ro.AnfrageClearingbeginn = bewilligtAb;
}
if (beantragtAb > DateTime.MinValue && bewilligtAb > DateTime.MinValue)
{
ro.AnfrageWartezeit = (decimal)bewilligtAb.Subtract(beantragtAb).TotalDays;
}
if (bewilligtBis > DateTime.MinValue)
{
ro.HilfsdauerFallende = bewilligtBis;
if (bewilligtAb > DateTime.MinValue)
{
ro.HilfsdauerInMonaten = BerechneDauerInMonaten(bewilligtAb, bewilligtBis);
}
}
long cb2scoid = Int64.Parse(row.Field16.ToString());
BerechneFls(result, ro, cb2scoid);
if (String.IsNullOrEmpty(ro.FahrdienstJa))
{
ro.FahrdienstNein = "x";
result.FahrdienstNeinCount++;
}
if (add)
{
result.DetailList.Add(ro);
}
}
return result;
}
private string CreateDiagnosisString(IList<Diagnosis2Customer> d2CList)
{
StringBuilder sb = new StringBuilder();
foreach (var d2c in d2CList)
{
if (!String.IsNullOrWhiteSpace(d2c.ICD10DiagnosisCode))
{
String code = d2c.ICD10DiagnosisCode;
if (code.StartsWith("F"))
{
if (code.StartsWith("F0"))
{
code = "F00-F09";
}
else if (code.StartsWith("F1"))
{
code = "F10-F19";
}
else if (code.StartsWith("F2"))
{
code = "F20-F29";
}
else if (code.StartsWith("F3"))
{
code = "F30-F39";
}
else if (code.StartsWith("F4"))
{
code = "F40-F49";
}
else if (code.StartsWith("F5"))
{
code = "F50-F59";
}
else if (code.StartsWith("F6"))
{
code = "F60-F69";
}
else if (code.StartsWith("F7"))
{
code = "F70-F79";
}
else if (code.StartsWith("F8"))
{
code = "F80-F89";
}
else if (code.StartsWith("F9"))
{
code = "F90-F99";
}
}
if (sb.Length > 0)
{
sb.Append(", ");
}
sb.Append(code);
}
}
return sb.ToString();
}
private Wohnplatz GetWohnplatz(Dictionary<string, Wohnplatz> dict, string strasse, string ort)
{
if (!String.IsNullOrWhiteSpace(ort))
{
if (ort.ToLower() == "berg. gladbach")
{
ort = "bergisch gladbach";
}
if (ort.ToLower() == "bgl")
{
ort = "bergisch gladbach";
}
if (ort.ToLower() == "gl")
{
ort = "bergisch gladbach";
}
if (ort.ToLower() == "b gladbach")
{
ort = "bergisch gladbach";
}
if (ort.ToLower().Contains("bergisch gladbach"))
{
ort = "bergisch gladbach";
}
}
ort = ort.Replace(" ", "").ToLower().Trim();
strasse = strasse.Replace(" ", "").ToLower().Trim();
String key = String.Format("{0} {1}", strasse, ort).ToLower();
if (dict.ContainsKey(key))
{
return dict[key];
}
key = String.Format("{0} {1}", strasse.ToLower().Replace("str.", "straße"), ort).ToLower();
if (dict.ContainsKey(key))
{
return dict[key];
}
key = String.Format("{0} {1}", strasse.ToLower().Replace("strasse", "straße"), ort).ToLower();
if (dict.ContainsKey(key))
{
return dict[key];
}
return null;
}
private void BerechneFls(SozPsychErfassungBeratungRO result, SozPsychErfassungBeratungDetailRO ro, long cb2scoid)
{
CostBearer2SupportConcept cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(cb2scoid);
var servicerecords = DAOFactory.SearchDAO.FindServiceRecords(null, cb2scoid);
var frecords = AnalysisServiceImp.FilterGroupServiceRecords(servicerecords);
foreach (var serviceRecord in frecords)
{
if (serviceRecord.Start >= reportStart && serviceRecord.End < reportEnd)
{
if (serviceRecord.ServiceDescription.ServiceCategory.Oid == servicecategoryOid)
{
ro.GeleisteteFlsKlient += serviceRecord.RoundedDuration;
ro.GeleisteteFlsGesamt += serviceRecord.RoundedDuration;
}
}
//else
//{
// ro.GeleisteteFlsOhneKlient += serviceRecord.RoundedDuration;
//}
}
ro.GeleisteteFlsGesamt /= 60;
ro.GeleisteteFlsKlient /= 60;
ro.GeleisteteFlsOhneKlient /= 60;
result.GeleisteteFlsGesamtCount += ro.GeleisteteFlsGesamt;
var calc = PluginLoader.FindClass<Calculations>();
var reldc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(cb2sc);
var genehmigt = calc.GetApprovedHoursTotal(reldc, false);
ro.AbrechnungVereinbarteFls = genehmigt ?? 0;
ro.AbrechnungDifferenz = ro.GeleisteteFlsGesamt - ro.AbrechnungVereinbarteFls;
result.AbrechnungVereinbarteFlsCount += ro.AbrechnungVereinbarteFls;
}
private decimal BerechneDauerInMonaten(DateTime bewilligtAb, DateTime bewilligtBis)
{
decimal monate = 0;
DateTime start = bewilligtAb.Date;
DateTime ende = bewilligtBis.Date;
while (start < ende)
{
monate++;
start = start.AddMonths(1);
}
if (start != ende.AddDays(1))
{
var days = start.Subtract(ende).TotalDays + 1;
monate += (decimal)(days/DateTime.DaysInMonth(start.Year, start.Month));
}
return monate;
}
private void SetzeBeendigungsgrund(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, Customer customer)
{
if (customer.TerminationReason != null)
{
if (customer.TerminationReason.Value == "stabilisiert")
{
ro.BeendigungsgrundZeileErreicht = "x";
reportRo.BeendigungsgrundZeileErreichtCount++;
}
else if (customer.TerminationReason.Value == "stationär vermittelt")
{
ro.BeendigungsgrundStationaer = "x";
reportRo.BeendigungsgrundStationaerCount++;
}
else if (customer.TerminationReason.Value == "von sich aus beendet")
{
ro.BeendigungsgrundAbbruch = "x";
reportRo.BeendigungsgrundAbbruchCount++;
}
else if (customer.TerminationReason.Value == "verstorben")
{
ro.BeendigungsgrundVerstorben = "x";
reportRo.BeendigungsgrundVerstorbenCount++;
}
else if (customer.TerminationReason.Value.Contains("Reha"))
{
ro.BeendigungsgrundKkhReha = "x";
reportRo.BeendigungsgrundKkhRehaCount++;
}
}
}
private void SetzeVermittlung(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, Customer customer)
{
foreach (var placement in customer.PlacementList)
{
if (placement.Objective != null)
{
if (placement.Objective.Value == "langfristige Betreuung")
{
ro.VermittlungLangfristigeBegleitung = "x";
reportRo.VermittlungLangfristigeBegleitungCount++;
}
else if (placement.Objective.Value == "Behandlung / Therapie")
{
ro.VermittlungBehandlungTherapie = "x";
reportRo.VermittlungBehandlungTherapieCount++;
}
else if (placement.Objective.Value == "Wohnheime / REHA")
{
ro.VermittlungWohnheimReha = "x";
reportRo.VermittlungWohnheimRehaCount++;
}
else if (placement.Objective.Value == "BEWO")
{
ro.VermittlungBeWo = "x";
reportRo.VermittlungBeWoCount++;
}
else if (placement.Objective.Value == "Tagesstätte")
{
ro.VermittlungTagestaette = "x";
reportRo.VermittlungTagestaetteCount++;
}
else if (placement.Objective.Value == "Kontaktstelle")
{
ro.VermittlungKontaktstelle = "x";
reportRo.VermittlungKontaktstelleCount++;
}
else if (placement.Objective.Value == "SPFH" || placement.Objective.Value == "Jugendamt")
{
ro.VermittlungJugendamtSpfh = "x";
reportRo.VermittlungJugendamtSpfhCount++;
}
else if (placement.Objective.Value == "Schuldnerberatung")
{
ro.VermittlungSchuldnerberatung = "x";
reportRo.VermittlungSchuldnerberatungCount++;
}
else if (placement.Objective.Value == "SpDi")
{
ro.VermittlungSpdi = "x";
reportRo.VermittlungSpdiCount++;
}
else if (placement.Objective.Value == "sonstige Dienste")
{
ro.VermittlungSonstigeDienste = "x";
reportRo.VermittlungSonstigeDiensteCount++;
}
else if (placement.Objective.Value == "Selbsthilfe")
{
ro.VermittlungSelbsthilfe = "x";
reportRo.VermittlungSelbsthilfeCount++;
}
else if (placement.Objective.Value == "keine weiteren Hilfen bekannt")
{
ro.VermittlungUnbekannt = "x";
reportRo.VermittlungUnbekanntCount++;
}
}
}
}
private void SetzeOhneWohnplatz(SozPsychErfassungBeratungRO result, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 17)
{
if (varFieldValue != null)
{
String vvStr = varFieldValue as String;
if (!String.IsNullOrWhiteSpace(vvStr))
{
result.OhneFestenWohnsitzCount++;
ro.OhneFestenWohnsitz = vvStr;
}
}
}
}
private void SetzeZugang(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 16)
{
String angebot = varFieldValue as string;
if (angebot == "selbst/Familie/soz. Umfeld")
{
ro.ZugangUeberSelbst = "x";
reportRo.ZugangUeberSelbstCount++;
}
else if (angebot == "(Fach-)Arzt")
{
ro.ZugangUeberArzt = "x";
reportRo.ZugangUeberArztCount++;
}
else if (angebot == "KKH/Reha")
{
ro.ZugangUeberKkhReha = "x";
reportRo.ZugangUeberKkhRehaCount++;
}
else if (angebot == "SpDi")
{
ro.ZugangUeberSpDi = "x";
reportRo.ZugangUeberSpDiCount++;
}
else if (angebot == "Job Center")
{
ro.ZugangUeberJobCenter = "x";
reportRo.ZugangUeberJobCenterCount++;
}
else if (angebot == "Selbsthilfe")
{
ro.ZugangUeberSelbsthilfe = "x";
reportRo.ZugangUeberSelbsthilfeCount++;
}
else if (angebot == "Seniorenberatung")
{
ro.ZugangUeberSeniorenberatung = "x";
reportRo.ZugangUeberSeniorenberatungCount++;
}
else if (angebot == "Pflegedienst")
{
ro.ZugangUeberPflegedienst = "x";
reportRo.ZugangUeberPflegedienstCount++;
}
else if (angebot == "Kontaktstelle")
{
ro.ZugangUeberKontaktstelle = "x";
reportRo.ZugangUeberKontaktstelleCount++;
}
else if (angebot == "Andere")
{
ro.ZugangUeberAndere = "x";
reportRo.ZugangUeberAndereCount++;
}
}
}
private void SetzeErkrankung(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 15)
{
String angebot = varFieldValue as string;
if (angebot == "Ja")
{
ro.PsychOderSuchterkrankungJa = "x";
reportRo.PsychOderSuchterkrankungJaCount++;
}
else if (angebot == "Nein")
{
ro.PsychOderSuchterkrankungNein = "x";
reportRo.PsychOderSuchterkrankungNeinCount++;
}
else if (angebot == "Unbekannt")
{
ro.PsychOderSuchterkrankungUnbekannt = "x";
reportRo.PsychOderSuchterkrankungUnbekanntCount++;
}
}
}
private void SetzeLebensumfeld(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 5 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldAlleinLebend = "x";
reportRo.LebensumfeldAlleinLebendCount++;
}
else if (vv.VarFieldDefOid == 6 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldMitPartnerLebend = "x";
reportRo.LebensumfeldMitPartnerLebendCount++;
}
else if (vv.VarFieldDefOid == 7 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldKinderImHaushalt = "x";
reportRo.LebensumfeldKinderImHaushaltCount++;
}
else if (vv.VarFieldDefOid == 8 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldKinderInAnderemHaushalt = "x";
reportRo.LebensumfeldKinderInAnderemHaushaltCount++;
}
else if (vv.VarFieldDefOid == 9 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldWohnhaftInHerkunftsfamilie = "x";
reportRo.LebensumfeldWohnhaftInHerkunftsfamilieCount++;
}
else if (vv.VarFieldDefOid == 10 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldInArbeit = "x";
reportRo.LebensumfeldInArbeitCount++;
}
else if (vv.VarFieldDefOid == 11 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldBeziehtAlg = "x";
reportRo.LebensumfeldBeziehtAlgCount++;
}
else if (vv.VarFieldDefOid == 12 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldBeziehtAlg2 = "x";
reportRo.LebensumfeldBeziehtAlg2Count++;
}
else if (vv.VarFieldDefOid == 13 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldBeziehtGrundsicherung = "x";
reportRo.LebensumfeldBeziehtGrundsicherungCount++;
}
else if (vv.VarFieldDefOid == 14 && varFieldValue.ToString() == "True")
{
ro.LebensumfeldBeziehtRente = "x";
reportRo.LebensumfeldBeziehtRenteCount++;
}
}
private void SetzeFahrdienst(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 3)
{
if (varFieldValue.ToString() == "True")
{
ro.FahrdienstJa = "x";
reportRo.FahrdienstJaCount++;
}
else
{
//ro.FahrdienstNein = "x";
//reportRo.FahrdienstNeinCount++;
}
}
else if (vv.VarFieldDefOid == 4)
{
if (varFieldValue.ToString() == "True")
{
ro.FahrdienstErfolgt = "x";
reportRo.FahrdienstErfolgtCount++;
}
}
}
private void SetzeAngebot(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 2)
{
String angebot = varFieldValue as string;
if (angebot == "Beratung")
{
ro.AngebotBeratung = "x";
reportRo.AngebotBeratungCount++;
}
else if (angebot == "Begleitung")
{
ro.AngebotBegleitung = "x";
reportRo.AngebotBegleitungCount++;
}
else if (angebot == "Krisenintervention")
{
ro.AngebotKrisenIntervention = "x";
reportRo.AngebotKrisenInterventionCount++;
}
else if (angebot == "Beratung Angehöriger")
{
ro.AngebotBeratungAngehoeriger = "x";
reportRo.AngebotBeratungAngehoerigerCount++;
}
else if (angebot == "Hausbesuch")
{
ro.AngebotHausbesuch = "x";
reportRo.AngebotHausbesuchCount++;
}
}
else if (vv.VarFieldDefOid == 18)
{
if (varFieldValue.ToString() == "True")
{
ro.AngebotBeratung = "x";
reportRo.AngebotBeratungCount++;
}
}
else if (vv.VarFieldDefOid == 19)
{
if (varFieldValue.ToString() == "True")
{
ro.AngebotBegleitung = "x";
reportRo.AngebotBegleitungCount++;
}
}
else if (vv.VarFieldDefOid == 20)
{
if (varFieldValue.ToString() == "True")
{
ro.AngebotKrisenIntervention = "x";
reportRo.AngebotKrisenInterventionCount++;
}
}
else if (vv.VarFieldDefOid == 21)
{
if (varFieldValue.ToString() == "True")
{
ro.AngebotBeratungAngehoeriger = "x";
reportRo.AngebotBeratungAngehoerigerCount++;
}
}
else if (vv.VarFieldDefOid == 22)
{
if (varFieldValue.ToString() == "True")
{
ro.AngebotHausbesuch = "x";
reportRo.AngebotHausbesuchCount++;
}
}
}
private void SetzeNationalitaet(SozPsychErfassungBeratungRO reportRo, SozPsychErfassungBeratungDetailRO ro, VarFieldValue vv, object varFieldValue)
{
if (vv.VarFieldDefOid == 1)
{
String staatsang = varFieldValue as string;
if (!String.IsNullOrWhiteSpace(staatsang))
{
if (staatsang.ToLower().Contains("deutsch"))
{
ro.Deutsch = "x";
reportRo.DeutschCount++;
}
else
{
ro.Nationalitaet = staatsang;
reportRo.NationalitaetCount++;
}
}
}
}
private Dictionary<String, Wohnplatz> CreateStrassenschluesselDict()
{
var dict = new Dictionary<String, Wohnplatz>();
String sql = "Select StrassenName, HausNummer, Gemeinde, Wohnplatzname, Wohnplatznummer from Strassenschluessel";
var table = DAOFactory.AdoDAO.ExecuteQuery(sql).Tables[0];
foreach (DataRow row in table.Rows)
{
String strasse = row[0] as string;
String hausnr = row[1] as string;
String gemeinde = row[2] as string;
strasse = strasse.Replace(" ", "").Trim();
hausnr = hausnr.Replace(" ", "").Trim();
gemeinde = gemeinde.Replace(" ", "").Trim();
String key = String.Format("{0}{1} {2}", strasse, hausnr, gemeinde).ToLower();
if (!dict.ContainsKey(key))
{
Wohnplatz wp = new Wohnplatz();
wp.Strasse = row[0] as string;
wp.HausNummer = row[1] as string;
wp.Gemeinde = row[2] as string;
wp.Wohnplatzname = row[3] as string;
wp.Wohnplatznummer = row[4] as string;
dict.Add(key, wp);
}
else
{
String e = "ERROR";
}
}
return dict;
}
private class Wohnplatz
{
public String Strasse { get; set; }
public String HausNummer { get; set; }
public String Gemeinde { get; set; }
public String Wohnplatzname { get; set; }
public String Wohnplatznummer { get; set; }
}
}
}