This commit is contained in:
2025-05-16 11:57:21 +02:00
parent 2286f81808
commit 3ac0b2a041
8 changed files with 130 additions and 577 deletions

View File

@@ -588,13 +588,13 @@
Width="10*" Width="10*"
MinWidth="50" MinWidth="50"
MaxWidth="200" /> MaxWidth="200" />
<ColumnDefinition Width="*" MaxWidth="50" /> <ColumnDefinition Width="*" MinWidth="50"/>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition <ColumnDefinition
Width="5*" Width="10*"
MinWidth="50" MinWidth="50"
MaxWidth="200" /> MaxWidth="200" />
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Label <Label
Grid.Row="0" Grid.Row="0"
@@ -631,32 +631,33 @@
<Button <Button
x:Name="btn_ik" x:Name="btn_ik"
Grid.Row="2" Grid.Row="0"
Grid.Column="1" Grid.RowSpan="2"
Grid.Column="2"
Click="button_ik_ermitteln_click" Click="button_ik_ermitteln_click"
IsEnabled="{Binding IsIKNumberValid}" IsEnabled="{Binding IsIKNumberValid}"
Style="{StaticResource PrimaryButtonSmall}" Style="{StaticResource PrimaryButtonSmall}"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}"> Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
Weitere IK's ermitteln >>>
</Button> </Button>
<Label <Label
Grid.Row="3" Grid.Row="2"
Grid.Column="0" Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}"> Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
Ausblenden Ausblenden
</Label> </Label>
<CheckBox <CheckBox
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
IsChecked="{Binding GkvAusblenden, UpdateSourceTrigger=PropertyChanged}" IsChecked="{Binding GkvAusblenden, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" /> Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
<Label <Label
x:Name="label_verfahrensstufe" x:Name="label_verfahrensstufe"
Grid.Row="4" Grid.Row="3"
Grid.Column="0" Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}"> Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
@@ -664,7 +665,7 @@
</Label> </Label>
<StackPanel <StackPanel
x:Name="radiobuttons_verfahrensstufe" x:Name="radiobuttons_verfahrensstufe"
Grid.Row="4" Grid.Row="3"
Grid.RowSpan="3" Grid.RowSpan="3"
Grid.Column="1" Grid.Column="1"
Margin="0,4,0,0" Margin="0,4,0,0"

View File

@@ -4,227 +4,58 @@ using System.Diagnostics;
namespace BeWo.Data.Entities namespace BeWo.Data.Entities
{ {
[DebuggerDisplay("{Oid}: {Street}, {Town}")] [DebuggerDisplay("{Oid}: {Street}, {Town}")]
public class Address : BeWoEntityBase public class Address : BeWoEntityBase
{ {
public static string PropertyName_AddressLine1 = "AddressLine1"; public static string PropertyName_AddressLine1 = "AddressLine1";
public static string PropertyName_Country = "Country";
public static string PropertyName_PostalCode = "PostalCode";
public static string PropertyName_State = "State";
public static string PropertyName_Street = "Street";
public static string PropertyName_Town = "Town";
public static string PropertyName_Country = "Country"; public Address()
{
_Tid = TableID.Address;
}
public static string PropertyName_PostalCode = "PostalCode"; public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string Country { get; set; }
public virtual string PostalCode { get; set; }
public virtual string State { get; set; }
public virtual string Street { get; set; }
public virtual string Town { get; set; }
public virtual decimal? Latitude { get; set; }
public virtual decimal? Longitude { get; set; }
public virtual long? L_Version { get; set; }
public static string PropertyName_State = "State"; public override int GetHashCode()
{
if (this is null)
return 0;
public static string PropertyName_Street = "Street"; return Oid.Value.GetHashCode();
}
public static string PropertyName_Town = "Town"; public virtual Address CopyToNew()
{
return new Address
{
AddressLine1 = AddressLine1,
AddressLine2 = this.AddressLine2,
Country = this.Country,
PostalCode = this.PostalCode,
Notice = this.Notice,
State = this.State,
Street = this.Street,
Town = this.Town
};
}
private string _AddressLine1; public virtual bool IsEmpty()
{
private string _AddressLine2; return string.IsNullOrWhiteSpace(Street + Town + PostalCode);
}
private string _Country; }
private string _PostalCode;
private string _State;
private string _Street;
private string _Town;
private decimal? _Latitude;
private decimal? _Longitude;
private long? _L_Version;
public Address()
{
this._Tid = TableID.Address;
}
public virtual string AddressLine1
{
get
{
return this._AddressLine1;
}
set
{
if (this.AreDifferent(this._AddressLine1, value))
{
this._AddressLine1 = value;
}
}
}
public virtual string AddressLine2
{
get
{
return this._AddressLine2;
}
set
{
if (this.AreDifferent(this._AddressLine2, value))
{
this._AddressLine2 = value;
}
}
}
public virtual string Country
{
get
{
return this._Country;
}
set
{
if (this.AreDifferent(this._Country, value))
{
this._Country = value;
}
}
}
public virtual string PostalCode
{
get
{
return this._PostalCode;
}
set
{
if (this.AreDifferent(this._PostalCode, value))
{
this._PostalCode = value;
}
}
}
public virtual string State
{
get
{
return this._State;
}
set
{
if (this.AreDifferent(this._State, value))
{
this._State = value;
}
}
}
public virtual string Street
{
get
{
return this._Street;
}
set
{
if (this.AreDifferent(this._Street, value))
{
this._Street = value;
}
}
}
public virtual string Town
{
get
{
return this._Town;
}
set
{
if (this.AreDifferent(this._Town, value))
{
this._Town = value;
}
}
}
public virtual decimal? Latitude
{
get
{
return this._Latitude;
}
set
{
if (this.AreDifferent(this._Latitude, value))
{
this._Latitude = value;
}
}
}
public virtual decimal? Longitude
{
get
{
return this._Longitude;
}
set
{
if (this.AreDifferent(this._Longitude, value))
{
this._Longitude = value;
}
}
}
public virtual long? L_Version
{
get
{
return this._L_Version;
}
set
{
if (this.AreDifferent(this._L_Version, value))
{
this._L_Version = value;
}
}
}
public virtual Address CopyToNew()
{
return new Address
{
AddressLine1 = this.AddressLine1,
AddressLine2 = this.AddressLine2,
Country = this.Country,
PostalCode = this.PostalCode,
Notice = this.Notice,
State = this.State,
Street = this.Street,
Town = this.Town
};
}
public override int GetHashCode()
{
if (this is null)
return 0;
return Oid.Value.GetHashCode();
}
}
} }

View File

@@ -9,370 +9,64 @@ namespace BeWo.Data.Entities
public class Organisation : BeWoEntityBase, IOrganisation public class Organisation : BeWoEntityBase, IOrganisation
{ {
public static string PropertyName_Address = "Address"; public static string PropertyName_Address = "Address";
public static string PropertyName_BankAccount = "BankAccount"; public static string PropertyName_BankAccount = "BankAccount";
public static string PropertyName_Contacts = "Contacts"; public static string PropertyName_Contacts = "Contacts";
public static string PropertyName_CostBearer = "CostBearer"; public static string PropertyName_CostBearer = "CostBearer";
public static string PropertyName_InvoiceAddress = "InvoiceAddress"; public static string PropertyName_InvoiceAddress = "InvoiceAddress";
public static string PropertyName_Name = "Name"; public static string PropertyName_Name = "Name";
public static string PropertyName_Name2 = "Name2"; public static string PropertyName_Name2 = "Name2";
public static string PropertyName_DebitorNumber = "DebitorNumber"; public static string PropertyName_DebitorNumber = "DebitorNumber";
public static string PropertyName_Organisation2PersonList = "Organisation2PersonList"; public static string PropertyName_Organisation2PersonList = "Organisation2PersonList";
public static string PropertyName_Function = "OrganisationsFunction"; public static string PropertyName_Function = "OrganisationsFunction";
public static string PropertyName_Arbeitszeiten = "Arbeitszeiten"; public static string PropertyName_Arbeitszeiten = "Arbeitszeiten";
public static string PropertyName_Feiertage = "Feiertage"; public static string PropertyName_Feiertage = "Feiertage";
public static string PropertyName_Leistungserbringergruppe = nameof(Leistungserbringergruppe); public Organisation()
public static string PropertyName_BusinessPartnerId = nameof(BusinessPartnerId);
private Address _Address;
private BankAccount _BankAccount;
private IList<Contact> _Contacts;
private CostBearer _CostBearer;
private Address _InvoiceAddress;
private ValueListEntry _Function;
private string _Name;
private string _Name2;
private string _DebitorNumber;
private IList<Organisation2Person> _Organisation2PersonList;
private IList<VarFieldValue> _VarFieldValueList;
private IList<Arbeitszeit> _Arbeitszeiten;
private IList<Feiertag> _Feiertage;
private string _IKKrankenkasse;
private string _IKKostentrager;
private string _IKDatenannahmestelle;
private string _BezDatenannahmestelle;
private string _Leistungserbringergruppe;
private string _BusinessPartnerId;
public Organisation()
{ {
this._Tid = TableID.Organisation; this._Tid = TableID.Organisation;
} }
public virtual Address Address public virtual Address Address { get; set; }
{ public virtual BankAccount BankAccount { get; set; }
get public virtual IList<Contact> Contacts { get; set; } = new List<Contact>();
{ public virtual CostBearer CostBearer { get; set; }
return this._Address; public virtual Address InvoiceAddress { get; set; }
} public virtual string Name { get; set; }
public virtual string Name2 { get; set; }
set public virtual string DebitorNumber { get; set; }
{ public virtual IList<Organisation2Person> Organisation2PersonList { get; set; } = new List<Organisation2Person>();
if (this.AreDifferent(this._Address, value)) public virtual IList<VarFieldValue> VarFieldValueList { get; set; } = new List<VarFieldValue>();
{ public virtual ValueListEntry Function { get; set; }
this._Address = value; public virtual IList<Arbeitszeit> Arbeitszeiten { get; set; } = new List<Arbeitszeit>();
} public virtual IList<Feiertag> Feiertage { get; set; } = new List<Feiertag>();
} public virtual string IKKrankenkasse { get; set; }
} public virtual string IKKostentrager { get; set; }
public virtual string IKDatenannahmestelle { get; set; }
public virtual BankAccount BankAccount public virtual string BezDatenannahmestelle { get; set; }
{ public virtual string Leistungserbringergruppe { get; set; }
get public virtual string BusinessPartnerId { get; set; }
{
return this._BankAccount;
}
set
{
if (this.AreDifferent(this._BankAccount, value))
{
this._BankAccount = value;
}
}
}
public virtual IList<Contact> Contacts
{
get
{
return this._Contacts ?? (this._Contacts = new List<Contact>());
}
set
{
if (this.AreDifferent(this._Contacts, value))
{
this._Contacts = value;
}
}
}
public virtual CostBearer CostBearer
{
get
{
return this._CostBearer;
}
set
{
if (this.AreDifferent(this._CostBearer, value))
{
this._CostBearer = value;
}
}
}
public virtual Address InvoiceAddress
{
get
{
return this._InvoiceAddress;
}
set
{
if (this.AreDifferent(this._InvoiceAddress, value))
{
this._InvoiceAddress = value;
}
}
}
public virtual string Name
{
get
{
return this._Name;
}
set
{
if (this.AreDifferent(this._Name, value))
{
this._Name = value;
}
}
}
public virtual string Name2
{
get
{
return this._Name2;
}
set
{
if (this.AreDifferent(this._Name2, value))
{
this._Name2 = value;
}
}
}
public virtual string DebitorNumber
{
get
{
return this._DebitorNumber;
}
set
{
if (this.AreDifferent(this._DebitorNumber, value))
{
this._DebitorNumber = value;
}
}
}
public virtual IList<Organisation2Person> Organisation2PersonList
{
get { return this._Organisation2PersonList ?? (this._Organisation2PersonList = new List<Organisation2Person>()); }
set
{
if (this.AreDifferent(this._Organisation2PersonList, value))
{
this._Organisation2PersonList = value;
}
}
}
public virtual IList<VarFieldValue> VarFieldValueList
{
get
{
return this._VarFieldValueList ?? (this._VarFieldValueList = new List<VarFieldValue>());
}
set
{
if (this.AreDifferent(this._VarFieldValueList, value))
{
this._VarFieldValueList = value;
}
}
}
public virtual ValueListEntry Function
{
get
{
return this._Function;
}
set
{
if (this.AreDifferent(this._Function, value))
{
this._Function = value;
}
}
}
public virtual IList<Arbeitszeit> Arbeitszeiten
{
get { return _Arbeitszeiten ?? (_Arbeitszeiten = new List<Arbeitszeit>()); }
set
{
if (AreDifferent(_Arbeitszeiten, value))
{
_Arbeitszeiten = value;
}
}
}
public virtual IList<Feiertag> Feiertage
{
get { return _Feiertage ?? (_Feiertage = new List<Feiertag>()); }
set
{
if (AreDifferent(_Feiertage, value))
{
_Feiertage = value;
}
}
}
public virtual string IKKrankenkasse
{
get
{
return this._IKKrankenkasse;
}
set
{
if (this.AreDifferent(this._IKKrankenkasse, value))
{
this._IKKrankenkasse = value;
}
}
}
public virtual string IKKostentrager
{
get
{
return this._IKKostentrager;
}
set
{
if (this.AreDifferent(this._IKKostentrager, value))
{
this._IKKostentrager = value;
}
}
}
public virtual string IKDatenannahmestelle
{
get
{
return this._IKDatenannahmestelle;
}
set
{
if (this.AreDifferent(this._IKDatenannahmestelle, value))
{
this._IKDatenannahmestelle = value;
}
}
}
public virtual string BezDatenannahmestelle
{
get
{
return this._BezDatenannahmestelle;
}
set
{
if (this.AreDifferent(this._BezDatenannahmestelle, value))
{
this._BezDatenannahmestelle = value;
}
}
}
public virtual string Leistungserbringergruppe
{
get
{
return this._Leistungserbringergruppe;
}
set
{
if (this.AreDifferent(this._Leistungserbringergruppe, value))
{
this._Leistungserbringergruppe = value;
}
}
}
public virtual string BusinessPartnerId
{
get
{
return this._BusinessPartnerId;
}
set
{
if (this.AreDifferent(this._BusinessPartnerId, value))
{
this._BusinessPartnerId = value;
}
}
}
public virtual GkvVerfahrensstufe Verfahrensstufe { get; set; } public virtual GkvVerfahrensstufe Verfahrensstufe { get; set; }
public virtual bool GkvAusblenden { get; set; } public virtual bool GkvAusblenden { get; set; }
} public virtual Address HausanschriftDatenannahmestelle { get; set; }
public virtual Address PostfachanschriftDatenannahmestelle { get; set; }
public virtual Address GroßkundenanschriftDatenannahmestelle { get; set; }
public virtual Address GetDatenannahmestelleAddress()
{
var addresses = new List<Address>()
{
HausanschriftDatenannahmestelle,
PostfachanschriftDatenannahmestelle,
GroßkundenanschriftDatenannahmestelle
};
foreach (var address in addresses)
{
if (address is Address && !address.IsEmpty())
return address;
}
return null;
}
}
} }

View File

@@ -27,11 +27,15 @@
<many-to-one name="Address" column="AddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/> <many-to-one name="Address" column="AddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/>
<many-to-one name="InvoiceAddress" column="InvoiceAddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/> <many-to-one name="InvoiceAddress" column="InvoiceAddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/>
<many-to-one name="HausanschriftDatenannahmestelle" column="HausanschriftAddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/>
<many-to-one name="PostfachanschriftDatenannahmestelle" column="PostfachanschriftAddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/>
<many-to-one name="GroßkundenanschriftDatenannahmestelle" column="GroßkundenanschriftAddressOid" class="BeWo.Data.Entities.Address, BeWo.Data" cascade="all" fetch="join"/>
<many-to-one name="BankAccount" column="BankAccountOid" class="BeWo.Data.Entities.BankAccount, BeWo.Data" cascade="all" /> <many-to-one name="BankAccount" column="BankAccountOid" class="BeWo.Data.Entities.BankAccount, BeWo.Data" cascade="all" />
<many-to-one name="CostBearer" column="CostBearerOid" cascade="all-delete-orphan" class="BeWo.Data.Entities.CostBearer, BeWo.Data" fetch="join"/> <many-to-one name="CostBearer" column="CostBearerOid" cascade="all-delete-orphan" class="BeWo.Data.Entities.CostBearer, BeWo.Data" fetch="join"/>
<many-to-one name="Function" column="FunctionValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry,BeWo.Data" cascade="none" fetch="join"/> <many-to-one name="Function" column="FunctionValueListEntryOid" class="BeWo.Data.Entities.ValueListEntry,BeWo.Data" cascade="none" fetch="join"/>
<bag name="Contacts" table="Contact" generic="true" cascade="all-delete-orphan" batch-size="250">
<bag name="Contacts" table="Contact" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="OrganisationOid" /> <key column="OrganisationOid" />
<one-to-many class="BeWo.Data.Entities.Contact,BeWo.Data" /> <one-to-many class="BeWo.Data.Entities.Contact,BeWo.Data" />
</bag> </bag>

View File

@@ -88,6 +88,13 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Bic = pEntity.BankAccount.Bic; pDataContract.Bic = pEntity.BankAccount.Bic;
} }
if (pEntity.GetDatenannahmestelleAddress() is Address address)
{
pDataContract.DatenannahmestelleStreet = address.Street;
pDataContract.DatenannahmestellePostalCode = address.PostalCode;
pDataContract.DatenannahmestelleTown = address.Town;
}
pDataContract.ContactInformations = MapperFactory.ContactDC_Contact.MapToNewDCs(pEntity.Contacts); pDataContract.ContactInformations = MapperFactory.ContactDC_Contact.MapToNewDCs(pEntity.Contacts);
var defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Organisation); var defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Organisation);

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class AddressDC : BeWoDataContract
{
}
}

View File

@@ -56,6 +56,9 @@ namespace BS.Shared.DataContracts
[DataMember] public string BusinessPartnerId { get; set; } [DataMember] public string BusinessPartnerId { get; set; }
[DataMember] public GkvVerfahrensstufe Verfahrensstufe { get; set; } [DataMember] public GkvVerfahrensstufe Verfahrensstufe { get; set; }
[DataMember] public bool GkvAusblenden { get; set; } [DataMember] public bool GkvAusblenden { get; set; }
[DataMember] public string DatenannahmestelleStreet { get; set; }
[DataMember] public string DatenannahmestelleTown { get; set; }
[DataMember] public string DatenannahmestellePostalCode { get; set; }
[DataMember] [DataMember]
public List<ContactDC> ContactInformations public List<ContactDC> ContactInformations

View File

@@ -172,6 +172,7 @@
<Compile Include="Core\WebClientFacade.cs" /> <Compile Include="Core\WebClientFacade.cs" />
<Compile Include="Core\WohnheimbuchungsIntervall.cs" /> <Compile Include="Core\WohnheimbuchungsIntervall.cs" />
<Compile Include="DataContracts\AbsenceOverviewFilterDC.cs" /> <Compile Include="DataContracts\AbsenceOverviewFilterDC.cs" />
<Compile Include="DataContracts\AddressDC.cs" />
<Compile Include="DataContracts\AdminService\IAdminServiceDC.cs" /> <Compile Include="DataContracts\AdminService\IAdminServiceDC.cs" />
<Compile Include="DataContracts\AdminService\AdminServiceSumReqDC.cs" /> <Compile Include="DataContracts\AdminService\AdminServiceSumReqDC.cs" />
<Compile Include="DataContracts\Feature\AI\AiConfigDC.cs" /> <Compile Include="DataContracts\Feature\AI\AiConfigDC.cs" />