Customer Wohnhilfe

This commit is contained in:
2024-09-23 18:14:35 +02:00
parent 4a038c8fcc
commit 5ce2cf425c
29 changed files with 565 additions and 35 deletions

View File

@@ -35,6 +35,16 @@ namespace BeWo
public bool AutoLogin { get; set; }
public UIContext? SelectView { get; set; }
/// <summary>
/// Customer:
/// - Details: 0
/// - ...: 1
/// - ...: 2
/// - ...: 3
/// - VermittlungArbeit: 4
/// - Wohnhilfe: 5
/// </summary>
public int? SelectIndex { get; set; }
public static DebugConfig SimpleAutoLogin => new DebugConfig()
{
@@ -46,7 +56,8 @@ namespace BeWo
{
DebugConfigMode = DebugConfigMode.FeatureCustomerWohnhilfe,
AutoLogin = true,
SelectView = UIContext.Customer
SelectView = UIContext.Customer,
SelectIndex = 5
};
public static DebugConfig Feature_Wohnheim_Wohneinheit => new DebugConfig()

View File

@@ -113,7 +113,7 @@
IsEnabled="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, ElementName=root}"
ItemsSource="{Binding Path=DataContext.Auftragsherkunfte, RelativeSource={RelativeSource AncestorType={x:Type GroupBox}, AncestorLevel=2, Mode=FindAncestor}}"
SelectedValue="{Binding Path=Auftragsherkunft, Mode=TwoWay}"
Style="{StaticResource PrimaryNullItemComboBox}"/>
Style="{StaticResource PrimaryNullItemComboBox}" />
<Label
Grid.Row="3"
@@ -137,7 +137,7 @@
Grid.Column="1"
EditValue="{Binding Path=Tagessatze, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditNumberDecimalNullable}"/>
Style="{StaticResource TextEditNumberDecimalNullable}" />
<Label
Grid.Row="5"

View File

@@ -5,8 +5,10 @@
xmlns:controls="clr-namespace:BeWo.View.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BeWo.View.Detail"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:viewmodel="clr-namespace:BeWo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:CustomerVM}"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewmodel="clr-namespace:BeWo.ViewModel"
x:Name="root"
d:DataContext="{d:DesignInstance Type=viewmodel:CustomerVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">

View File

@@ -279,8 +279,12 @@ namespace BeWo.View.Detail
#if DEBUG
if(DebugConfig.CurrentConfig is object && DebugConfig.CurrentConfig.DebugConfigMode == DebugConfigMode.FeatureCustomerWohnhilfe)
{
tabroot.SelectedItem = tabitem_gemeinnutzigearbeit;
// tabroot.SelectedItem = tabitem_wohnhilfe;
var index = DebugConfig.CurrentConfig.SelectIndex;
if (index.HasValue && tabroot.Items.Count > index.Value)
{
tabroot.SelectedIndex = index.Value;
}
}
#endif
}
@@ -557,11 +561,18 @@ namespace BeWo.View.Detail
var list = ViewModel.CustomerVermittlungArbeitListVM;
var sel_index = list?.VMList.IndexOf(list.SelectedVM) ?? -1;
var list2 = ViewModel.CustomerWohnhilfeListVM;
var sel_index2 = list2?.VMList.IndexOf(list2.SelectedVM) ?? -1;
VMFactory.CreateCustomerVMAsync(pCustomerOID, cb => this.Dispatch(delegate {
if(cb?.CustomerVermittlungArbeitListVM is object && -1 < sel_index)
{
cb.CustomerVermittlungArbeitListVM.SetSelectByIndex(sel_index);
}
if (cb?.CustomerWohnhilfeListVM is object && -1 < sel_index2)
{
cb.CustomerWohnhilfeListVM.SetSelectByIndex(sel_index2);
}
ViewModel = cb;

View File

@@ -837,7 +837,7 @@ namespace BeWo.ViewModel
_EnvironmentOrganisations.IsDirty || _AbsenceTimes.IsDirty || _VarFields.IsDirty ||
CostBearers.IsDirty || _IndividualAssessmentSheetCategories.IsDirty ||
_PlacementList.IsDirty || _MedVerordnungslisten.IsDirty || _EnvironmentPersonsWithFamily.IsDirty || _Arbeitszeiten.IsDirty
|| _CustomerGemeinnutzigeArbeitListVM.IsDirty
|| _CustomerGemeinnutzigeArbeitListVM.IsDirty || _CustomerWohnhilfeListVM.IsDirty
;
}
}

View File

@@ -114,17 +114,19 @@ namespace BeWo.ViewModel
protected override void InitByDataContract(CustomerWohnhilfeDC dc)
{
Displayname = "Test " + counter++;
Displayname = dc.Displayname;
_BereichBundVM = new CustomerWohnhilfeBereichBundVM(dc.BereichBundDC ?? (dc.BereichBundDC = new CustomerWohnhilfeBereichBundDC()));
_BereichEinkommenUndArbeitVM = new CustomerWohnhilfeBereichEinkommenUndArbeitVM(dc.BereichEinkommenUndArbeitDC ?? (dc.BereichEinkommenUndArbeitDC = new CustomerWohnhilfeBereichEinkommenUndArbeitDC())); ;
_BereichSozialeKontakteVM = new CustomerWohnhilfeBereichSozialeKontakteVM(dc.BereichSozialeKontakteDC ?? (dc.BereichSozialeKontakteDC = new CustomerWohnhilfeBereichSozialeKontakteDC()));
_BereichSozialstrukturVM = new CustomerWohnhilfeBereichSozialstrukturVM(dc.BereichSozialstrukturDC ?? (dc.BereichSozialstrukturDC = new CustomerWohnhilfeBereichSozialstrukturDC()));
var isNew = dc.Oid == null;
_BereichBundVM = new CustomerWohnhilfeBereichBundVM(dc.BereichBundDC ?? (dc.BereichBundDC = new CustomerWohnhilfeBereichBundDC()), isNew);
_BereichEinkommenUndArbeitVM = new CustomerWohnhilfeBereichEinkommenUndArbeitVM(dc.BereichEinkommenUndArbeitDC ?? (dc.BereichEinkommenUndArbeitDC = new CustomerWohnhilfeBereichEinkommenUndArbeitDC()), isNew); ;
_BereichSozialeKontakteVM = new CustomerWohnhilfeBereichSozialeKontakteVM(dc.BereichSozialeKontakteDC ?? (dc.BereichSozialeKontakteDC = new CustomerWohnhilfeBereichSozialeKontakteDC()), isNew);
_BereichSozialstrukturVM = new CustomerWohnhilfeBereichSozialstrukturVM(dc.BereichSozialstrukturDC ?? (dc.BereichSozialstrukturDC = new CustomerWohnhilfeBereichSozialstrukturDC()), isNew);
}
protected override CustomerWohnhilfeDC MapToDataContract(CustomerWohnhilfeDC pDataContract, bool doCommit)
{
pDataContract.Dispalyname = _Displayname;
pDataContract.Displayname = _Displayname;
pDataContract.BereichBundDC = _BereichBundVM.CommitToDataContract();
pDataContract.BereichEinkommenUndArbeitDC = _BereichEinkommenUndArbeitVM.CommitToDataContract();

View File

@@ -1,4 +1,5 @@
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Wohnhilfe;
using DevExpress.Mvvm;
@@ -24,7 +25,7 @@ namespace BeWo.ViewModel.ListViewModel
{
Customer = vm;
AddVMCommand = new DelegateCommand(() => AddNewVMToListAndSelect(true), CanAddWohnhilfe);
AddVMCommand = new DelegateCommand(AddVM, CanAddWohnhilfe);
DeleteSelectedVMCommand = new DelegateCommand(() => DeleteSelectedVM($"Wohnhilfe '{SelectedVM.Displayname}'"));
@@ -50,6 +51,13 @@ namespace BeWo.ViewModel.ListViewModel
}
}
public void AddVM()
{
var new_vm = AddNewVMToListAndSelect(true);
new_vm.Displayname = "Wohnhilfe";
}
public void CopySelectedWohnhilfe()
{
var old_vm = SelectedVM;
@@ -63,8 +71,12 @@ namespace BeWo.ViewModel.ListViewModel
{
var selected_vm = SelectedVM;
selected_vm.BereichSozialstrukturVM.Geburtsdatum = Customer.DateOfBirth;
if (selected_vm.BereichSozialstrukturVM.Geburtsdatum.HasValue)
{
selected_vm.BereichSozialstrukturVM.Geburtsdatum = Customer.DateOfBirth;
selected_vm.BereichBundVM.AlterAmStichtag = Utils.GetAge(Customer.DateOfBirth.Value);
}
if (Customer.IsMale)
selected_vm.BereichBundVM.Geschlecht = Geschlecht.Mannlich;
else if (Customer.IsFemale)

View File

@@ -27,7 +27,7 @@ namespace BeWo.ViewModel.Wohnhilfe
_AlterAmStichtag = 1000;
}
public CustomerWohnhilfeBereichBundVM(CustomerWohnhilfeBereichBundDC dc) : base(dc, dc.Oid == null)
public CustomerWohnhilfeBereichBundVM(CustomerWohnhilfeBereichBundDC dc, bool isNew) : base(dc, isNew)
{
}

View File

@@ -28,7 +28,7 @@ namespace BeWo.ViewModel.Wohnhilfe
_Uberschuldung = WohnhilfeBoolData.Ja;
}
public CustomerWohnhilfeBereichEinkommenUndArbeitVM(CustomerWohnhilfeBereichEinkommenUndArbeitDC dc) : base(dc, dc.Oid == null)
public CustomerWohnhilfeBereichEinkommenUndArbeitVM(CustomerWohnhilfeBereichEinkommenUndArbeitDC dc, bool isNew) : base(dc, isNew)
{
}

View File

@@ -41,7 +41,7 @@ namespace BeWo.ViewModel.Wohnhilfe
_EndeKrankenversicherung = Krankenversicherung.Nein;
}
public CustomerWohnhilfeBereichSozialeKontakteVM(CustomerWohnhilfeBereichSozialeKontakteDC dc) : base(dc, dc.Oid == null)
public CustomerWohnhilfeBereichSozialeKontakteVM(CustomerWohnhilfeBereichSozialeKontakteDC dc, bool isNew) : base(dc, isNew)
{
_CanEditBeginnKontakt &= PermissionCustomerWohnhilfeManage;
_CanEditEndeKontakt &= PermissionCustomerWohnhilfeManage;
@@ -397,6 +397,9 @@ namespace BeWo.ViewModel.Wohnhilfe
_BeginnKontaktArzt = pDataContract.BeginnKontaktArzt;
_EndeKontaktArzt = pDataContract.EndeKontaktArzt;
_VorlageSchwerbehindertenausweises = pDataContract.VorlageSchwerbehindertenausweises;
_CanEditBeginnKontakt = pDataContract.BeginnSozialeKontakte == WohnhilfeBoolData.Ja;
_CanEditEndeKontakt = pDataContract.EndeSozialeKontakte == WohnhilfeBoolData.Ja;
}
protected override CustomerWohnhilfeBereichSozialeKontakteDC MapToDataContract(CustomerWohnhilfeBereichSozialeKontakteDC pDataContract, bool doCommit)

View File

@@ -30,10 +30,10 @@ namespace BeWo.ViewModel.Wohnhilfe
{
_Bundesland = BS.Shared.DataContracts.Wohnhilfe.Bundesland.Bayern;
_IsWohnungslosenhilfe = true;
_ArtDesHilfeangebots = BS.Shared.DataContracts.Wohnhilfe.ArtDesHilfeangebots.vollstationär;
_ArtDesHilfeangebots = ArtDesHilfeangebots.vollstationär;
}
public CustomerWohnhilfeBereichSozialstrukturVM(CustomerWohnhilfeBereichSozialstrukturDC dc) : base(dc, dc.Oid == null)
public CustomerWohnhilfeBereichSozialstrukturVM(CustomerWohnhilfeBereichSozialstrukturDC dc, bool isNew) : base(dc, isNew)
{
}

View File

@@ -207,6 +207,7 @@
<Compile Include="ASPHibernateSessionManager.cs" />
<Compile Include="DefaultHibernateSessionManager.cs" />
<Compile Include="Entities\CustomerVermittlungArbeit.cs" />
<Compile Include="Entities\CustomerWohnhilfe.cs" />
<Compile Include="Entities\TwoFactorCode.cs" />
<Compile Include="Entities\AbwesenheitsInformationPrint.cs" />
<Compile Include="Entities\AddressHistory.cs" />
@@ -773,6 +774,9 @@
<EmbeddedResource Include="Mappings\CustomerVermittlungArbeit.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\CustomerWohnhilfe.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -807,5 +807,6 @@ namespace BeWo.Data.Entities
}
public virtual IList<CustomerVermittlungArbeit> CustomerVermittlungArbeiten { get; set; }
public virtual IList<CustomerWohnhilfe> CustomerWohnhilfen { get; set; }
}
}

View File

@@ -0,0 +1,131 @@
using System;
using System.Collections.Generic;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Wohnhilfe;
namespace BeWo.Data.Entities
{
public class CustomerWohnhilfe : BeWoEntityBase
{
public CustomerWohnhilfe()
{
_Tid = TableID.CustomerWohnhilfe;
}
public virtual Customer Customer { get; set; }
public virtual string Displayname { get; set; }
public virtual Verbandszugehorigkeit? Verbandszugehorigkeit { get; set; }
public virtual Geschlecht? Geschlecht { get; set; }
public virtual int? AlterAmStichtag { get; set; }
public virtual int? Haushaltsgrosse { get; set; }
public virtual string BerichtseinheitID { get; set; }
public virtual Unterbringungsart? Unterbringungsart { get; set; }
public virtual int? OrtDerEinrichtung { get; set; }
public virtual Angebot? Angebot { get; set; }
public virtual Einkommenssituation BeginnEinkommenssituation { get; set; }
public virtual Einkommenssituation EndeEinkommenssituation { get; set; }
public virtual AufstockungEinkommen BeginnAufstockungEinkommen { get; set; }
public virtual AufstockungEinkommen EndeAufstockungEinkommen { get; set; }
public virtual WohnhilfeBoolData BeginnEigenesBankkonto { get; set; }
public virtual WohnhilfeBoolData EndeEigenesBankkonto { get; set; }
public virtual WohnhilfeBoolData Uberschuldung { get; set; }
public virtual Berufsabschluss Berufsabschluss { get; set; }
public virtual WohnhilfeBoolData ErwerbsfahigkeitSinnSGB { get; set; }
public virtual Beschaftigungsstatus BeginnBeschaftigungsstatus { get; set; }
public virtual Beschaftigungsstatus EndeBeschaftigungsstatus { get; set; }
public virtual DauerArbeitslosigkeit DauerArbeitslosigkeit { get; set; }
public virtual WohnhilfeBoolData BeginnSozialeKontakte { get; set; }
public virtual bool BeginnKontaktPartner { get; set; }
public virtual bool BeginnKontaktMindKinder { get; set; }
public virtual bool BeginnKontaktVolljahrKinderElternVerwandten { get; set; }
public virtual bool BeginnKontaktFreundenBekannten { get; set; }
public virtual bool BeginnKontaktSelbsthilfe { get; set; }
public virtual bool BeginnKontaktSonstige { get; set; }
public virtual WohnhilfeBoolData EndeSozialeKontakte { get; set; }
public virtual bool EndeKontaktPartner { get; set; }
public virtual bool EndeKontaktMindKinder { get; set; }
public virtual bool EndeKontaktVolljahrKinderElternVerwandten { get; set; }
public virtual bool EndeKontaktFreundenBekannten { get; set; }
public virtual bool EndeKontaktSelbsthilfe { get; set; }
public virtual bool EndeKontaktSonstige { get; set; }
public virtual Krankenversicherung BeginnKrankenversicherung { get; set; }
public virtual Krankenversicherung EndeKrankenversicherung { get; set; }
public virtual KontaktArzt BeginnKontaktArzt { get; set; }
public virtual KontaktArzt EndeKontaktArzt { get; set; }
public virtual WohnhilfeBoolData VorlageSchwerbehindertenausweises { get; set; }
public virtual Bundesland? Bundesland { get; set; }
public virtual bool IsWohnungslosenhilfe { get; set; }
public virtual ArtDesHilfeangebots ArtDesHilfeangebots { get; set; }
public virtual DateTime? Betreuungsbeginn { get; set; }
public virtual DateTime? Betreuungsende { get; set; }
public virtual int? BetreuungsdauerInTagen { get; set; }
public virtual ArtDerBeendigung ArtDerBeendigung { get; set; }
public virtual DateTime? Geburtsdatum { get; set; }
public virtual Geschlechtidentitat Geschlechtidentitat { get; set; }
public virtual Staatsangehorigkeit? Staatsangehorigkeit { get; set; }
public virtual Aufenthaltsstatus Aufenthaltsstatus { get; set; }
public virtual WohnhilfeBoolData Migrationshintergrund { get; set; }
public virtual HochsterSchulabschluss HochsterSchulabschluss { get; set; }
public virtual Familienstand Familienstand { get; set; }
public virtual Haushaltsstruktur Haushaltsstruktur { get; set; }
public virtual WohnhilfeBoolData EigeneMindKinderAuserhalbHaushaltsstruktur { get; set; }
}
}

View File

@@ -140,5 +140,9 @@
<key column="CustomerOid" />
<one-to-many class="BeWo.Data.Entities.CustomerVermittlungArbeit, BeWo.Data" />
</bag>
<bag name="CustomerWohnhilfen" table="customerwohnhilfe" generic="true" cascade="all-delete-orphan" batch-size="250" inverse="true">
<key column="CustomerOid" />
<one-to-many class="BeWo.Data.Entities.CustomerWohnhilfe, BeWo.Data" />
</bag>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.CustomerWohnhilfe,BeWo.Data" table="CustomerWohnhilfe">
<id name="Oid" column ="Oid" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property name="InsTs"/>
<property name="InsUser"/>
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property name="UdpUser"/>
<property name="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" />
<property name="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" />
<property name="Notice"/>
<many-to-one name="Customer" column="CustomerOid" class="BeWo.Data.Entities.Customer, BeWo.Data" cascade="none"/>
<property name="Displayname"/>
<property name="Verbandszugehorigkeit"/>
<property name="Geschlecht"/>
<property name="AlterAmStichtag"/>
<property name="Haushaltsgrosse"/>
<property name="BerichtseinheitID"/>
<property name="Unterbringungsart"/>
<property name="OrtDerEinrichtung"/>
<property name="Angebot"/>
<property name="BeginnEinkommenssituation"/>
<property name="EndeEinkommenssituation"/>
<property name="BeginnAufstockungEinkommen"/>
<property name="EndeAufstockungEinkommen"/>
<property name="BeginnEigenesBankkonto"/>
<property name="EndeEigenesBankkonto"/>
<property name="Uberschuldung"/>
<property name="Berufsabschluss"/>
<property name="ErwerbsfahigkeitSinnSGB"/>
<property name="BeginnBeschaftigungsstatus"/>
<property name="EndeBeschaftigungsstatus"/>
<property name="DauerArbeitslosigkeit"/>
<property name="BeginnSozialeKontakte"/>
<property name="BeginnKontaktPartner"/>
<property name="BeginnKontaktMindKinder"/>
<property name="BeginnKontaktVolljahrKinderElternVerwandten"/>
<property name="BeginnKontaktFreundenBekannten"/>
<property name="BeginnKontaktSelbsthilfe"/>
<property name="BeginnKontaktSonstige"/>
<property name="EndeSozialeKontakte"/>
<property name="EndeKontaktPartner"/>
<property name="EndeKontaktMindKinder"/>
<property name="EndeKontaktVolljahrKinderElternVerwandten"/>
<property name="EndeKontaktFreundenBekannten"/>
<property name="EndeKontaktSelbsthilfe"/>
<property name="EndeKontaktSonstige"/>
<property name="BeginnKrankenversicherung"/>
<property name="EndeKrankenversicherung"/>
<property name="BeginnKontaktArzt"/>
<property name="EndeKontaktArzt"/>
<property name="VorlageSchwerbehindertenausweises"/>
<property name="Bundesland"/>
<property name="IsWohnungslosenhilfe"/>
<property name="ArtDesHilfeangebots"/>
<property name="Betreuungsbeginn"/>
<property name="Betreuungsende"/>
<property name="BetreuungsdauerInTagen"/>
<property name="ArtDerBeendigung"/>
<property name="Geburtsdatum"/>
<property name="Geschlechtidentitat"/>
<property name="Staatsangehorigkeit"/>
<property name="Aufenthaltsstatus"/>
<property name="Migrationshintergrund"/>
<property name="HochsterSchulabschluss"/>
<property name="Familienstand"/>
<property name="Haushaltsstruktur"/>
<property name="EigeneMindKinderAuserhalbHaushaltsstruktur"/>
</class>
</hibernate-mapping>

View File

@@ -3,4 +3,6 @@ DROP FOREIGN KEY `FK_CUSTOMERFALLDATEN`;
ALTER TABLE `customer`
DROP COLUMN `CustomerFalldatenOid`,
DROP INDEX `FK_CUSTOMERFALLDATEN_idx` ;
;
;

View File

@@ -51,10 +51,10 @@ ALTER TABLE `customervermittlungarbeit`
ADD CONSTRAINT `FK_CUSTOMERVERMITTLUNGARBEIT_AUFTRAGSHERKUNFT`
FOREIGN KEY (`Auftragsherkunft`)
REFERENCES `7375324044`.`valuelistentry` (`Oid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
ON DELETE SET NULL
ON UPDATE CASCADE,
ADD CONSTRAINT `FK_CUSTOMERVERMITTLUNGARBEIT_VERMITTLUNGSGRUNDLAGE`
FOREIGN KEY (`Vermittlungsgrundlage`)
REFERENCES `valuelistentry` (`Oid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ON DELETE SET NULL
ON UPDATE CASCADE;

View File

@@ -0,0 +1,70 @@
CREATE TABLE `CustomerWohnhilfe` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`Tid` int DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`CustomerOid` bigint NOT NULL,
`Displayname` varchar(256) DEFAULT NULL,
`Verbandszugehorigkeit` tinyint DEFAULT NULL,
`Geschlecht` tinyint DEFAULT NULL,
`AlterAmStichtag` int DEFAULT NULL,
`Haushaltsgrosse` int DEFAULT NULL,
`BerichtseinheitID` varchar(256),
`Unterbringungsart` tinyint DEFAULT NULL,
`OrtDerEinrichtung` int DEFAULT NULL,
`Angebot` tinyint DEFAULT NULL,
`BeginnEinkommenssituation` tinyint,
`EndeEinkommenssituation` tinyint,
`BeginnAufstockungEinkommen` tinyint,
`EndeAufstockungEinkommen` tinyint,
`BeginnEigenesBankkonto` tinyint,
`EndeEigenesBankkonto` tinyint,
`Uberschuldung` tinyint,
`Berufsabschluss` tinyint,
`ErwerbsfahigkeitSinnSGB` tinyint,
`BeginnBeschaftigungsstatus` tinyint,
`EndeBeschaftigungsstatus` tinyint,
`DauerArbeitslosigkeit` tinyint,
`BeginnSozialeKontakte` tinyint,
`BeginnKontaktPartner` tinyint,
`BeginnKontaktMindKinder` tinyint,
`BeginnKontaktVolljahrKinderElternVerwandten` tinyint,
`BeginnKontaktFreundenBekannten` tinyint,
`BeginnKontaktSelbsthilfe` tinyint,
`BeginnKontaktSonstige` tinyint,
`EndeSozialeKontakte` tinyint,
`EndeKontaktPartner` tinyint,
`EndeKontaktMindKinder` tinyint,
`EndeKontaktVolljahrKinderElternVerwandten` tinyint,
`EndeKontaktFreundenBekannten` tinyint,
`EndeKontaktSelbsthilfe` tinyint,
`EndeKontaktSonstige` tinyint,
`BeginnKrankenversicherung` tinyint,
`EndeKrankenversicherung` tinyint,
`BeginnKontaktArzt` tinyint,
`EndeKontaktArzt` tinyint,
`VorlageSchwerbehindertenausweises` tinyint,
`Bundesland` tinyint DEFAULT NULL,
`IsWohnungslosenhilfe` tinyint,
`ArtDesHilfeangebots` tinyint,
`Betreuungsbeginn` datetime DEFAULT NULL,
`Betreuungsende` datetime DEFAULT NULL,
`BetreuungsdauerInTagen` int DEFAULT NULL,
`ArtDerBeendigung` tinyint,
`Geburtsdatum` datetime DEFAULT NULL,
`Geschlechtidentitat` tinyint,
`Staatsangehorigkeit` SMALLINT DEFAULT NULL,
`Aufenthaltsstatus` tinyint,
`Migrationshintergrund` tinyint,
`HochsterSchulabschluss` tinyint,
`Familienstand` tinyint,
`Haushaltsstruktur` tinyint,
`EigeneMindKinderAuserhalbHaushaltsstruktur` tinyint,
PRIMARY KEY (`Oid`),
CONSTRAINT `FK_CUSTOMERWOHNHILFE_CUSTOMER` FOREIGN KEY (`CustomerOid`) REFERENCES `customer` (`Oid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;

View File

@@ -130,6 +130,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.AssessmentSheetCategoryDCs = MapperFactory.AssessmentSheetCategoryDC_AssessmentSheetCategory.MapToNewDCs(pEntity.AssessmentSheetCategoryList);
pDataContract.CustomerVermittlungArbeitDC = MapperFactory.CustomerVermittlungArbeitDC_CustomerVermittlungArbeit.MapToNewDCs(pEntity.CustomerVermittlungArbeiten);
pDataContract.CustomerWohnhilfeDC = MapperFactory.CustomerWohnhilfeDC_CustomerWohnhilfe.MapToNewDCs(pEntity.CustomerWohnhilfen);
return pDataContract;
}
@@ -290,11 +291,12 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.ArbeitszeitDC_Arbeitszeit.MergeWithEntitys(pDataContract.Arbeitszeiten, pEntity.Arbeitszeiten);
MapperFactory.CustomerVermittlungArbeitDC_CustomerVermittlungArbeit.MergeWithEntitys(pDataContract.CustomerVermittlungArbeitDC, pEntity.CustomerVermittlungArbeiten);
if (pEntity.CustomerVermittlungArbeiten is IList<CustomerVermittlungArbeit> lv && lv.Any())
lv.DoForEach(x => x.Customer = pEntity);
var v = pEntity.CustomerVermittlungArbeiten;
if (v is object && v.Any())
v.DoForEach(x => x.Customer = pEntity);
MapperFactory.CustomerWohnhilfeDC_CustomerWohnhilfe.MergeWithEntitys(pDataContract.CustomerWohnhilfeDC, pEntity.CustomerWohnhilfen);
if (pEntity.CustomerWohnhilfen is IList<CustomerWohnhilfe> lw && lw.Any())
lw.DoForEach(x => x.Customer = pEntity);
return pEntity;
}

View File

@@ -0,0 +1,174 @@
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Wohnhilfe;
namespace BeWo.Service.DCEntityMapper
{
public class CustomerWohnhilfeDC_CustomerWohnhilfe : AbstractIDCEntityMapper<CustomerWohnhilfe, CustomerWohnhilfeDC>
{
public override CustomerWohnhilfeDC MergeWithDC(CustomerWohnhilfe pEntity, CustomerWohnhilfeDC pDataContract)
{
pDataContract.Oid = pEntity.Oid;
pDataContract.Version = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
pDataContract.Displayname = pEntity.Displayname;
pDataContract.BereichBundDC = new CustomerWohnhilfeBereichBundDC
{
Verbandszugehorigkeit = pEntity.Verbandszugehorigkeit,
Geschlecht = pEntity.Geschlecht,
AlterAmStichtag = pEntity.AlterAmStichtag,
Haushaltsgrosse = pEntity.Haushaltsgrosse,
BerichtseinheitID = pEntity.BerichtseinheitID,
Unterbringungsart = pEntity.Unterbringungsart,
OrtDerEinrichtung = pEntity.OrtDerEinrichtung,
Angebot = pEntity.Angebot
};
pDataContract.BereichEinkommenUndArbeitDC = new CustomerWohnhilfeBereichEinkommenUndArbeitDC
{
BeginnEinkommenssituation = pEntity.BeginnEinkommenssituation,
EndeEinkommenssituation = pEntity.EndeEinkommenssituation,
BeginnAufstockungEinkommen = pEntity.BeginnAufstockungEinkommen,
EndeAufstockungEinkommen = pEntity.EndeAufstockungEinkommen,
BeginnEigenesBankkonto = pEntity.BeginnEigenesBankkonto,
EndeEigenesBankkonto = pEntity.EndeEigenesBankkonto,
Uberschuldung = pEntity.Uberschuldung,
Berufsabschluss = pEntity.Berufsabschluss,
ErwerbsfahigkeitSinnSGB = pEntity.ErwerbsfahigkeitSinnSGB,
BeginnBeschaftigungsstatus = pEntity.BeginnBeschaftigungsstatus,
EndeBeschaftigungsstatus = pEntity.EndeBeschaftigungsstatus,
DauerArbeitslosigkeit = pEntity.DauerArbeitslosigkeit
};
pDataContract.BereichSozialeKontakteDC = new CustomerWohnhilfeBereichSozialeKontakteDC
{
BeginnSozialeKontakte = pEntity.BeginnSozialeKontakte,
BeginnKontaktPartner = pEntity.BeginnKontaktPartner,
BeginnKontaktMindKinder = pEntity.BeginnKontaktMindKinder,
BeginnKontaktVolljahrKinderElternVerwandten = pEntity.BeginnKontaktVolljahrKinderElternVerwandten,
BeginnKontaktFreundenBekannten = pEntity.BeginnKontaktFreundenBekannten,
BeginnKontaktSelbsthilfe = pEntity.BeginnKontaktSelbsthilfe,
BeginnKontaktSonstige = pEntity.BeginnKontaktSonstige,
EndeSozialeKontakte = pEntity.EndeSozialeKontakte,
EndeKontaktPartner = pEntity.EndeKontaktPartner,
EndeKontaktMindKinder = pEntity.EndeKontaktMindKinder,
EndeKontaktVolljahrKinderElternVerwandten = pEntity.EndeKontaktVolljahrKinderElternVerwandten,
EndeKontaktFreundenBekannten = pEntity.EndeKontaktFreundenBekannten,
EndeKontaktSelbsthilfe = pEntity.EndeKontaktSelbsthilfe,
EndeKontaktSonstige = pEntity.EndeKontaktSonstige,
BeginnKrankenversicherung = pEntity.BeginnKrankenversicherung,
EndeKrankenversicherung = pEntity.EndeKrankenversicherung,
BeginnKontaktArzt = pEntity.BeginnKontaktArzt,
EndeKontaktArzt = pEntity.EndeKontaktArzt,
VorlageSchwerbehindertenausweises = pEntity.VorlageSchwerbehindertenausweises
};
pDataContract.BereichSozialstrukturDC = new CustomerWohnhilfeBereichSozialstrukturDC
{
Bundesland = pEntity.Bundesland,
IsWohnungslosenhilfe = pEntity.IsWohnungslosenhilfe,
ArtDesHilfeangebots = pEntity.ArtDesHilfeangebots,
Betreuungsbeginn = pEntity.Betreuungsbeginn,
Betreuungsende = pEntity.Betreuungsende,
BetreuungsdauerInTagen = pEntity.BetreuungsdauerInTagen,
ArtDerBeendigung = pEntity.ArtDerBeendigung,
Geburtsdatum = pEntity.Geburtsdatum,
Geschlechtidentitat = pEntity.Geschlechtidentitat,
Staatsangehorigkeit = pEntity.Staatsangehorigkeit,
Aufenthaltsstatus = pEntity.Aufenthaltsstatus,
Migrationshintergrund = pEntity.Migrationshintergrund,
HochsterSchulabschluss = pEntity.HochsterSchulabschluss,
Familienstand = pEntity.Familienstand,
Haushaltsstruktur = pEntity.Haushaltsstruktur,
EigeneMindKinderAuserhalbHaushaltsstruktur = pEntity.EigeneMindKinderAuserhalbHaushaltsstruktur
};
return pDataContract;
}
public override CustomerWohnhilfe MergeWithEntity(CustomerWohnhilfeDC pDataContract, CustomerWohnhilfe pEntity)
{
pEntity.Oid = pDataContract.Oid;
pEntity.Version = pDataContract.Version;
pEntity.Notice = pDataContract.Notice;
pEntity.Displayname = pDataContract.Displayname;
pEntity.Verbandszugehorigkeit = pDataContract.BereichBundDC.Verbandszugehorigkeit;
pEntity.Geschlecht = pDataContract.BereichBundDC.Geschlecht;
pEntity.AlterAmStichtag = pDataContract.BereichBundDC.AlterAmStichtag;
pEntity.Haushaltsgrosse = pDataContract.BereichBundDC.Haushaltsgrosse;
pEntity.BerichtseinheitID = pDataContract.BereichBundDC.BerichtseinheitID;
pEntity.Unterbringungsart = pDataContract.BereichBundDC.Unterbringungsart;
pEntity.OrtDerEinrichtung = pDataContract.BereichBundDC.OrtDerEinrichtung;
pEntity.Angebot = pDataContract.BereichBundDC.Angebot;
pEntity.BeginnEinkommenssituation = pDataContract.BereichEinkommenUndArbeitDC.BeginnEinkommenssituation;
pEntity.EndeEinkommenssituation = pDataContract.BereichEinkommenUndArbeitDC.EndeEinkommenssituation;
pEntity.BeginnAufstockungEinkommen = pDataContract.BereichEinkommenUndArbeitDC.BeginnAufstockungEinkommen;
pEntity.EndeAufstockungEinkommen = pDataContract.BereichEinkommenUndArbeitDC.EndeAufstockungEinkommen;
pEntity.BeginnEigenesBankkonto = pDataContract.BereichEinkommenUndArbeitDC.BeginnEigenesBankkonto;
pEntity.EndeEigenesBankkonto = pDataContract.BereichEinkommenUndArbeitDC.EndeEigenesBankkonto;
pEntity.Uberschuldung = pDataContract.BereichEinkommenUndArbeitDC.Uberschuldung;
pEntity.Berufsabschluss = pDataContract.BereichEinkommenUndArbeitDC.Berufsabschluss;
pEntity.ErwerbsfahigkeitSinnSGB = pDataContract.BereichEinkommenUndArbeitDC.ErwerbsfahigkeitSinnSGB;
pEntity.BeginnBeschaftigungsstatus = pDataContract.BereichEinkommenUndArbeitDC.BeginnBeschaftigungsstatus;
pEntity.EndeBeschaftigungsstatus = pDataContract.BereichEinkommenUndArbeitDC.EndeBeschaftigungsstatus;
pEntity.DauerArbeitslosigkeit = pDataContract.BereichEinkommenUndArbeitDC.DauerArbeitslosigkeit;
pEntity.BeginnSozialeKontakte = pDataContract.BereichSozialeKontakteDC.BeginnSozialeKontakte;
pEntity.BeginnKontaktPartner = pDataContract.BereichSozialeKontakteDC.BeginnKontaktPartner;
pEntity.BeginnKontaktMindKinder = pDataContract.BereichSozialeKontakteDC.BeginnKontaktMindKinder;
pEntity.BeginnKontaktVolljahrKinderElternVerwandten = pDataContract.BereichSozialeKontakteDC.BeginnKontaktVolljahrKinderElternVerwandten;
pEntity.BeginnKontaktFreundenBekannten = pDataContract.BereichSozialeKontakteDC.BeginnKontaktFreundenBekannten;
pEntity.BeginnKontaktSelbsthilfe = pDataContract.BereichSozialeKontakteDC.BeginnKontaktSelbsthilfe;
pEntity.BeginnKontaktSonstige = pDataContract.BereichSozialeKontakteDC.BeginnKontaktSonstige;
pEntity.EndeSozialeKontakte = pDataContract.BereichSozialeKontakteDC.EndeSozialeKontakte;
pEntity.EndeKontaktPartner = pDataContract.BereichSozialeKontakteDC.EndeKontaktPartner;
pEntity.EndeKontaktMindKinder = pDataContract.BereichSozialeKontakteDC.EndeKontaktMindKinder;
pEntity.EndeKontaktVolljahrKinderElternVerwandten = pDataContract.BereichSozialeKontakteDC.EndeKontaktVolljahrKinderElternVerwandten;
pEntity.EndeKontaktFreundenBekannten = pDataContract.BereichSozialeKontakteDC.EndeKontaktFreundenBekannten;
pEntity.EndeKontaktSelbsthilfe = pDataContract.BereichSozialeKontakteDC.EndeKontaktSelbsthilfe;
pEntity.EndeKontaktSonstige = pDataContract.BereichSozialeKontakteDC.EndeKontaktSonstige;
pEntity.BeginnKrankenversicherung = pDataContract.BereichSozialeKontakteDC.BeginnKrankenversicherung;
pEntity.EndeKrankenversicherung = pDataContract.BereichSozialeKontakteDC.EndeKrankenversicherung;
pEntity.BeginnKontaktArzt = pDataContract.BereichSozialeKontakteDC.BeginnKontaktArzt;
pEntity.EndeKontaktArzt = pDataContract.BereichSozialeKontakteDC.EndeKontaktArzt;
pEntity.VorlageSchwerbehindertenausweises = pDataContract.BereichSozialeKontakteDC.VorlageSchwerbehindertenausweises;
pEntity.Bundesland = pDataContract.BereichSozialstrukturDC.Bundesland;
pEntity.ArtDesHilfeangebots = pDataContract.BereichSozialstrukturDC.ArtDesHilfeangebots;
pEntity.Betreuungsbeginn = pDataContract.BereichSozialstrukturDC.Betreuungsbeginn;
pEntity.Betreuungsende = pDataContract.BereichSozialstrukturDC.Betreuungsende;
pEntity.BetreuungsdauerInTagen = pDataContract.BereichSozialstrukturDC.BetreuungsdauerInTagen;
pEntity.ArtDerBeendigung = pDataContract.BereichSozialstrukturDC.ArtDerBeendigung;
pEntity.Geburtsdatum = pDataContract.BereichSozialstrukturDC.Geburtsdatum;
pEntity.Geschlechtidentitat = pDataContract.BereichSozialstrukturDC.Geschlechtidentitat;
pEntity.Staatsangehorigkeit = pDataContract.BereichSozialstrukturDC.Staatsangehorigkeit;
pEntity.Aufenthaltsstatus = pDataContract.BereichSozialstrukturDC.Aufenthaltsstatus;
pEntity.Migrationshintergrund = pDataContract.BereichSozialstrukturDC.Migrationshintergrund;
pEntity.HochsterSchulabschluss = pDataContract.BereichSozialstrukturDC.HochsterSchulabschluss;
pEntity.Familienstand = pDataContract.BereichSozialstrukturDC.Familienstand;
pEntity.Haushaltsstruktur = pDataContract.BereichSozialstrukturDC.Haushaltsstruktur;
pEntity.EigeneMindKinderAuserhalbHaushaltsstruktur = pDataContract.BereichSozialstrukturDC.EigeneMindKinderAuserhalbHaushaltsstruktur;
if (pDataContract.BereichSozialstrukturDC.IsWohnungslosenhilfe.HasValue)
pEntity.IsWohnungslosenhilfe = pDataContract.BereichSozialstrukturDC.IsWohnungslosenhilfe.Value;
else
pEntity.IsWohnungslosenhilfe = true;
return pEntity;
}
protected override bool AreDCAndEntityEqual(CustomerWohnhilfeDC pDC, CustomerWohnhilfe pEntity)
{
if (pDC.Oid == null)
{
return false;
}
return pDC.Oid == pEntity.Oid;
}
}
}

View File

@@ -306,6 +306,8 @@ namespace BeWo.Service.DCEntityMapper
private static CustomerVermittlungArbeitDC_CustomerVermittlungArbeit _CustomerVermittlungArbeitDC_CustomerVermittlungArbeit;
private static CustomerWohnhilfeDC_CustomerWohnhilfe _CustomerWohnhilfeDC_CustomerWohnhilfe;
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
@@ -768,5 +770,8 @@ namespace BeWo.Service.DCEntityMapper
public static CustomerVermittlungArbeitDC_CustomerVermittlungArbeit CustomerVermittlungArbeitDC_CustomerVermittlungArbeit =>
_CustomerVermittlungArbeitDC_CustomerVermittlungArbeit ?? (_CustomerVermittlungArbeitDC_CustomerVermittlungArbeit = new CustomerVermittlungArbeitDC_CustomerVermittlungArbeit());
public static CustomerWohnhilfeDC_CustomerWohnhilfe CustomerWohnhilfeDC_CustomerWohnhilfe =>
_CustomerWohnhilfeDC_CustomerWohnhilfe ?? (_CustomerWohnhilfeDC_CustomerWohnhilfe = new CustomerWohnhilfeDC_CustomerWohnhilfe());
}
}

View File

@@ -228,6 +228,7 @@
<Compile Include="DCEntityMapper\BargeldtransaktionshistoryDC_Bargeldtransaktionshistory.cs" />
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
<Compile Include="DCEntityMapper\CustomerVermittlungArbeitDC_CustomerVermittlungArbeit.cs" />
<Compile Include="DCEntityMapper\CustomerWohnhilfeDC_CustomerWohnhilfe.cs" />
<Compile Include="DCEntityMapper\ImageDC_Image.cs" />
<Compile Include="DCEntityMapper\DienstvertretungDC_Dienstvertretung.cs" />
<Compile Include="DCEntityMapper\DokumentvorlageDC_Dokumentvorlage.cs" />

View File

@@ -1118,6 +1118,27 @@ namespace BS.Shared.Core
return string.Format("{0:n" + decimalPlaces + "} {1}", dValue, SizeSuffixes[i]);
}
public static int GetAge(DateTime birthday)
=> GetAge(birthday, DateTime.Today);
public static int GetAge(DateTime birthday, DateTime compareTo)
{
if (compareTo <= birthday)
return -1;
// https://stackoverflow.com/a/1595311
int age = compareTo.Year - birthday.Year;
// For leap years we need this
if (birthday > compareTo.AddYears(-age))
age--;
// Don't use:
// if (birthDate.AddYears(age) > now)
// age--;
return age;
}
}
public struct NullCompareResult

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Wohnhilfe
{
public class CustomerWohnhilfeBereichBundDC : BeWoDataContract
public class CustomerWohnhilfeBereichBundDC : IDataContract
{
[DataMember] public Verbandszugehorigkeit? Verbandszugehorigkeit { get; set; }
[DataMember] public Geschlecht? Geschlecht { get; set; }

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Wohnhilfe
{
public class CustomerWohnhilfeBereichEinkommenUndArbeitDC : BeWoDataContract
public class CustomerWohnhilfeBereichEinkommenUndArbeitDC : IDataContract
{
[DataMember] public Einkommenssituation BeginnEinkommenssituation { get; set; }
[DataMember] public Einkommenssituation EndeEinkommenssituation { get; set; }

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Wohnhilfe
{
public class CustomerWohnhilfeBereichSozialeKontakteDC : BeWoDataContract
public class CustomerWohnhilfeBereichSozialeKontakteDC : IDataContract
{
[DataMember] public WohnhilfeBoolData BeginnSozialeKontakte { get; set; }
[DataMember] public bool BeginnKontaktPartner { get; set; }

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Wohnhilfe
{
public class CustomerWohnhilfeBereichSozialstrukturDC : BeWoDataContract
public class CustomerWohnhilfeBereichSozialstrukturDC : IDataContract
{
[DataMember] public Bundesland? Bundesland { get; set; }
[DataMember] public bool? IsWohnungslosenhilfe { get; set; }

View File

@@ -12,7 +12,7 @@ namespace BS.Shared.DataContracts.Wohnhilfe
{
public class CustomerWohnhilfeDC : BeWoDataContract
{
[DataMember] public string Dispalyname { get; set; }
[DataMember] public string Displayname { get; set; }
[DataMember] public CustomerWohnhilfeBereichBundDC BereichBundDC { get; set; }
[DataMember] public CustomerWohnhilfeBereichEinkommenUndArbeitDC BereichEinkommenUndArbeitDC { get; set; }
[DataMember] public CustomerWohnhilfeBereichSozialeKontakteDC BereichSozialeKontakteDC { get; set; }