DB Table + Entity Mapping

This commit is contained in:
2024-08-05 13:11:25 +02:00
parent b0073fa44a
commit 0a8d7aa403
15 changed files with 164 additions and 21 deletions

View File

@@ -9,7 +9,7 @@
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
VerticalAlignment="Stretch" Focusable="True"
>
<Grid DataContext="{Binding CustomerFalldatenVM}" HorizontalAlignment="Stretch">
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />

View File

@@ -21,15 +21,23 @@ namespace BeWo.View.Detail
/// </summary>
public partial class CustomerFalldatenView : UserControl
{
public CustomerVM ViewModel { get; set; }
private CustomerFalldatenVM _ViewModel;
public CustomerFalldatenView(CustomerVM vM)
public CustomerFalldatenVM ViewModel
{
get { return _ViewModel; }
set
{
_ViewModel = value;
DataContext = value;
}
}
public CustomerFalldatenView(CustomerFalldatenVM vM)
{
InitializeComponent();
ViewModel = vM;
DataContext = ViewModel;
}
}
}

View File

@@ -328,11 +328,17 @@ namespace BeWo.View.Detail
view.ViewModel = value.Arbeitszeiten;
view.RefreshView();
}
} else if(tabitem_stundenplan.Content != null && tabitem_stundenplan.Content is StundenplanView stundenplanView)
}
else if(tabitem_stundenplan.Content != null && tabitem_stundenplan.Content is StundenplanView stundenplanView)
{
stundenplanView.ViewModel = value.Arbeitszeiten;
stundenplanView.RefreshView();
}
if (tabitem_falldaten.Content != null && tabitem_falldaten.Content is CustomerFalldatenView falldatenView)
{
falldatenView.ViewModel = value.CustomerFalldatenVM;
}
_saveInProgress = false;
@@ -1085,7 +1091,7 @@ namespace BeWo.View.Detail
{
if (tabitem_falldaten.Content == null)
{
tabitem_falldaten.Content = new CustomerFalldatenView(ViewModel);
tabitem_falldaten.Content = new CustomerFalldatenView(ViewModel.CustomerFalldatenVM);
}
}

View File

@@ -61,8 +61,6 @@ namespace BeWo.View
{
tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1;
}
}

View File

@@ -17,7 +17,7 @@ namespace BeWo.ViewModel
private decimal? _ZuLeistendeArbeitsstunden;
private string _Hinweis;
private DateTime? _Termin;
private CustomerFalldatenBearbeitungsstatus _FalldatenBearbeitungsstatus;
private CustomerFalldatenBearbeitungsstatus? _FalldatenBearbeitungsstatus;
private string _Auftragsruckgabe;
private string _Verlauf;
private decimal? _AbgeleisteteStunden;
@@ -189,7 +189,7 @@ namespace BeWo.ViewModel
}
}
public CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus
public CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus
{
get { return _FalldatenBearbeitungsstatus; }
set

View File

@@ -865,7 +865,7 @@ namespace BeWo.ViewModel
return base.IsDirty || TeamRelations.IsDirty || EmployeeRelations.IsDirty || _EnvironmentPersons.IsDirty ||
_EnvironmentOrganisations.IsDirty || _AbsenceTimes.IsDirty || _VarFields.IsDirty ||
CostBearers.IsDirty || _IndividualAssessmentSheetCategories.IsDirty ||
_PlacementList.IsDirty || _MedVerordnungslisten.IsDirty || _EnvironmentPersonsWithFamily.IsDirty || _Arbeitszeiten.IsDirty;
_PlacementList.IsDirty || _MedVerordnungslisten.IsDirty || _EnvironmentPersonsWithFamily.IsDirty || _Arbeitszeiten.IsDirty || _CustomerFalldatenVM.IsDirty;
}
}
@@ -2162,7 +2162,14 @@ namespace BeWo.ViewModel
pDataContract.SubstitutionNeed = _SubstitutionNeed;
pDataContract.AufenthaltGueltigBis = _AufenthaltGueltigBis;
pDataContract.CustomerFalldatenDC = _CustomerFalldatenVM.CommitToDataContract();
var falldaten_new_and_no_changed = _CustomerFalldatenVM.IsNew && !_CustomerFalldatenVM.IsDirty;
if (!falldaten_new_and_no_changed)
{
pDataContract.CustomerFalldatenDC = _CustomerFalldatenVM.CommitToDataContract();
}
if(_CustomerFalldatenVM.IsNew && !_CustomerFalldatenVM.IsDirty)
if (_MerkzeichenListe != null)
{

View File

@@ -768,6 +768,9 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\GkvTransferProtokoll.hbm.xml" />
<EmbeddedResource Include="Mappings\CustomerFalldaten.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -111,7 +111,6 @@ namespace BeWo.Data.Entities
private string _InsuranceNumber;
private string _VersichertenStatus;
public Customer()
{
_Tid = TableID.Customer;
@@ -784,13 +783,9 @@ namespace BeWo.Data.Entities
public virtual string Schutzstufe { get; set; }
public virtual string Uebernahmeort { get; set; }
public virtual string Verhalten { get; set; }
public virtual string Betreuungsbedarf { get; set; }
public virtual string BemerkungenSbd { get; set; }
public virtual string TeamSimpleString
{
get
@@ -810,5 +805,7 @@ namespace BeWo.Data.Entities
return name;
}
}
public virtual CustomerFalldaten CustomerFalldaten { get; set; }
}
}

View File

@@ -17,7 +17,7 @@ namespace BeWo.Data.Entities
private decimal? _ZuLeistendeArbeitsstunden;
private string _Hinweis;
private DateTime? _Termin;
private CustomerFalldatenBearbeitungsstatus _FalldatenBearbeitungsstatus;
private CustomerFalldatenBearbeitungsstatus? _FalldatenBearbeitungsstatus;
private string _Auftragsruckgabe;
private string _Verlauf;
private decimal? _AbgeleisteteStunden;
@@ -167,7 +167,7 @@ namespace BeWo.Data.Entities
}
}
public virtual CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus
public virtual CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus
{
get { return _FalldatenBearbeitungsstatus; }
set

View File

@@ -136,5 +136,6 @@
<key column="CustomerOid" />
<one-to-many class="BeWo.Data.Entities.Arbeitszeit, BeWo.Data" />
</bag>
<many-to-one name="CustomerFalldaten" column="CustomerFalldatenOid" class="BeWo.Data.Entities.CustomerFalldaten,BeWo.Data" cascade="all-delete-orphan"/>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.CustomerFalldaten,BeWo.Data" table="CustomerFalldaten">
<id name="Oid" column="Oid" type="Int64" 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"/>
<property name="EigenesAktenzeichen"/>
<property name="Auftragseingang"/>
<many-to-one name="Auftragsherkunft" column="AuftragsherkunftValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry, BeWo.Data" cascade="none" />
<many-to-one name="Vermittlungsgrundlage" column="VermittlungsgrundlageValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry, BeWo.Data" cascade="none" />
<property name="Tagessatze"/>
<property name="Tagessatzhohe"/>
<property name="HoheDerGeldstrafe"/>
<property name="ZuLeistendeArbeitsstunden"/>
<property name="Hinweis"/>
<property name="Termin"/>
<property column="FalldatenBearbeitungsstatus" type="BS.Shared.CustomerFalldatenBearbeitungsstatus, BS.Shared" name="FalldatenBearbeitungsstatus" />
<property name="Auftragsruckgabe"/>
<property name="Verlauf"/>
<property name="AbgeleisteteStunden"/>
<property name="ErsparteHafttage"/>
<property name="GeleisteteRatenzahlung"/>
<property name="Bemerkung"/>
<property name="GeleisteteEinmalzahlung"/>
<property name="GrundArbeitsunfahig"/>
<property name="GrundSuchtproblem"/>
<property name="GrundPsychischeProbleme"/>
<property name="GrundKeineMotivation"/>
<property name="GrundInHaft"/>
<property name="GrundUnbekannt"/>
<property name="GrundKeinKontakt"/>
<property name="GrundNichtAngetreten"/>
<property name="GrundAbbruchDerTatigkeit"/>
<property name="GrundWiderruf"/>
<property name="Grund459StPO"/>
<property name="GrundAusbleibenDerZahlung"/>
<property name="BesonderheitMehrfacheBeauftragung"/>
<property name="BesonderheitMehrfacheVermittlung"/>
<property name="BesonderheitVermittlungAusHaft"/>
<property name="BesonderheitDurchBGBWAufgesucht"/>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,46 @@
CREATE TABLE `CustomerFalldaten` (
`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,
`EigenesAktenzeichen` varchar(256),
`Auftragseingang` datetime DEFAULT NULL,
`Auftragsherkunft` bigint DEFAULT NULL,
`Vermittlungsgrundlage` bigint DEFAULT NULL,
`Tagessatze` decimal(18,10) DEFAULT NULL,
`Tagessatzhohe` decimal(18,10) DEFAULT NULL,
`HoheDerGeldstrafe` decimal(18,10) DEFAULT NULL,
`ZuLeistendeArbeitsstunden` decimal(18,10) DEFAULT NULL,
`Hinweis` varchar(256),
`Termin` datetime DEFAULT NULL,
`FalldatenBearbeitungsstatus` int DEFAULT NULL,
`Auftragsruckgabe` varchar(256),
`Verlauf` varchar(256),
`AbgeleisteteStunden` decimal(18,10) DEFAULT NULL,
`ErsparteHafttage` decimal(18,10) DEFAULT NULL,
`GeleisteteRatenzahlung` decimal(18,10) DEFAULT NULL,
`Bemerkung` varchar(256),
`GeleisteteEinmalzahlung` decimal(18,10) DEFAULT NULL,
`GrundArbeitsunfahig` tinyint,
`GrundSuchtproblem` tinyint,
`GrundPsychischeProbleme` tinyint,
`GrundKeineMotivation` tinyint,
`GrundInHaft` tinyint,
`GrundUnbekannt` tinyint,
`GrundKeinKontakt` tinyint,
`GrundNichtAngetreten` tinyint,
`GrundAbbruchDerTatigkeit` tinyint,
`GrundWiderruf` tinyint,
`Grund459StPO` tinyint,
`GrundAusbleibenDerZahlung` tinyint,
`BesonderheitMehrfacheBeauftragung` tinyint,
`BesonderheitMehrfacheVermittlung` tinyint,
`BesonderheitVermittlungAusHaft` tinyint,
`BesonderheitDurchBGBWAufgesucht` tinyint,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;

View File

@@ -123,6 +123,10 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ICD10DiagnosisCodes = pEntity.Diagnosis2CustomerList.Select(e => e.ICD10DiagnosisCode).ToList();
}
if(pEntity.CustomerFalldaten != null)
{
pDataContract.CustomerFalldatenDC = MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MapToNewDC(pEntity.CustomerFalldaten);
}
IList<VarFieldDef> defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Customer);
pDataContract.CustomerVarFields = MapperFactory.VarFieldDC_VarField.VarFieldMapToDCs(defs, pEntity.VarFieldValueList);
@@ -165,6 +169,23 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.MedikamentenverordnungslisteDC_Medikamentenverordnungsliste.MergeWithEntitys(pDataContract.Medikamentenverordnungslisten, pEntity.Medikamentenverordnungslisten);
if(pDataContract.CustomerFalldatenDC is object)
{
if(pEntity.CustomerFalldaten is null)
{
pEntity.CustomerFalldaten = MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MapToNewEntity(pDataContract.CustomerFalldatenDC);
}
else
{
MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MergeWithEntity(pDataContract.CustomerFalldatenDC, pEntity.CustomerFalldaten);
}
}
else
{
pEntity.CustomerFalldaten = null;
}
//pEntity.Jugendamt = pDataContract.Jugendamt != null ? DAOFactory.GenericDAO.LoadByID<Organisation>(pDataContract.Jugendamt.OrganisationOid) : null;
//pEntity.Ansprechpartner = pDataContract.Ansprechpartner != null ? DAOFactory.GenericDAO.LoadByID<Person>(pDataContract.Ansprechpartner.PersonOid) : null;

View File

@@ -302,6 +302,8 @@ namespace BeWo.Service.DCEntityMapper
private static WohneinheitBelegungDC_WohneinheitBelegung _WohneinheitBelegungDC_WohneinheitBelegung;
private static CustomerFalldatenDC_CustomerFalldaten _CustomerFalldatenDC_CustomerFalldaten;
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
@@ -758,5 +760,8 @@ namespace BeWo.Service.DCEntityMapper
public static WohneinheitBelegungDC_WohneinheitBelegung WohneinheitBelegungDC_WohneinheitBelegung =>
_WohneinheitBelegungDC_WohneinheitBelegung ?? (_WohneinheitBelegungDC_WohneinheitBelegung = new WohneinheitBelegungDC_WohneinheitBelegung());
public static CustomerFalldatenDC_CustomerFalldaten CustomerFalldatenDC_CustomerFalldaten =>
_CustomerFalldatenDC_CustomerFalldaten ?? (_CustomerFalldatenDC_CustomerFalldaten = new CustomerFalldatenDC_CustomerFalldaten());
}
}

View File

@@ -32,7 +32,7 @@ namespace BS.Shared.DataContracts
[DataMember] public decimal? ZuLeistendeArbeitsstunden { get; set; }
[DataMember] public string Hinweis { get; set; }
[DataMember] public DateTime? Termin { get; set; }
[DataMember] public CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus { get; set; }
[DataMember] public CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus { get; set; }
[DataMember] public string Auftragsruckgabe { get; set; }
[DataMember] public string Verlauf { get; set; }
[DataMember] public decimal? AbgeleisteteStunden { get; set; }