Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -962,6 +962,8 @@
|
||||
<DependentUpon>BSLogoControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Converter\AnonymizationRight2VisibilityConverter.cs" />
|
||||
<Compile Include="Converter\ValidationToTooltipConverter.cs" />
|
||||
<Compile Include="Converter\ValidationToBrushConverter.cs" />
|
||||
<Compile Include="Converter\BooleanOrVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\BooleanAndVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\BoolNullCheckConverter.cs" />
|
||||
@@ -995,6 +997,7 @@
|
||||
<Compile Include="Converter\StringLengthVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\TooltipTextConverter.cs" />
|
||||
<Compile Include="Converter\UserPermission2BoolConverter.cs" />
|
||||
<Compile Include="Converter\ValidationConverter.cs" />
|
||||
<Compile Include="Converter\ValueConverterGroup.cs" />
|
||||
<Compile Include="Core\AutoLockUI.cs" />
|
||||
<Compile Include="Core\BeWoUtils.cs" />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>de-DE</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableSecurityDebugging>false</EnableSecurityDebugging>
|
||||
|
||||
@@ -83,6 +83,16 @@
|
||||
<conv:EnumTranslationConverter x:Key="EnumTranslationConverter" />
|
||||
<conv:TooltipTextConverter x:Key="TooltipTextConverter" />
|
||||
|
||||
<conv:ValidationConverter x:Key="ValidationConverter" />
|
||||
<conv:ValueConverterGroup x:Key="Validation2BrushConverter">
|
||||
<conv:ValidationConverter />
|
||||
<conv:ValidationToBrushConverter />
|
||||
</conv:ValueConverterGroup>
|
||||
<conv:ValueConverterGroup x:Key="Validation2TooltipConverter">
|
||||
<conv:ValidationConverter />
|
||||
<conv:ValidationToTooltipConverter />
|
||||
</conv:ValueConverterGroup>
|
||||
|
||||
<conv:UserPermission2BoolConverter x:Key="UserPermission2BoolConverter" />
|
||||
<conv:ValueConverterGroup x:Key="UserPermission2ReverseBoolConverter">
|
||||
<conv:UserPermission2BoolConverter />
|
||||
|
||||
@@ -13,7 +13,12 @@ namespace BeWo.Converter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is GkvAbrechnungVM gkv)
|
||||
if (value is bool val_bool)
|
||||
{
|
||||
return val_bool ? null : parameter;
|
||||
}
|
||||
|
||||
if (value is GkvAbrechnungVM gkv)
|
||||
{
|
||||
if (parameter is string s)
|
||||
{
|
||||
@@ -29,6 +34,12 @@ namespace BeWo.Converter
|
||||
return invoice.IsGkvValidError;
|
||||
}
|
||||
|
||||
if (value is MandatorVM mandator)
|
||||
{
|
||||
return mandator.CanEditIKLeistungserbringerTooltip;
|
||||
}
|
||||
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
|
||||
32
BeWo/Converter/ValidationConverter.cs
Normal file
32
BeWo/Converter/ValidationConverter.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is string val_str && parameter is ValidationType val_type)
|
||||
{
|
||||
return Validator.IsValid(val_type, val_str);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
34
BeWo/Converter/ValidationToBrushConverter.cs
Normal file
34
BeWo/Converter/ValidationToBrushConverter.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToBrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is null)
|
||||
{
|
||||
return Brushes.Black;
|
||||
}
|
||||
|
||||
if(value is bool val_bool)
|
||||
{
|
||||
return val_bool ? Brushes.Black : Brushes.Red;
|
||||
}
|
||||
|
||||
return Brushes.Blue;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
36
BeWo/Converter/ValidationToTooltipConverter.cs
Normal file
36
BeWo/Converter/ValidationToTooltipConverter.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToTooltipConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (value is bool val_bool && parameter is ValidationType val_type)
|
||||
{
|
||||
return val_bool ? null : Validator.InvalidTooltipTxt(val_type);
|
||||
}
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,8 +122,8 @@ namespace BeWo
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureDakota,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Finance,
|
||||
AutoLogin = false,
|
||||
//SelectView = UIContext.Finance,
|
||||
SelectIndex = 8,
|
||||
Username = "m1",
|
||||
Password = "bewobewo",
|
||||
|
||||
@@ -63,8 +63,6 @@ namespace BeWo.View.Detail.Accounting
|
||||
|
||||
private void RefreshGkvAbrechnungenList()
|
||||
{
|
||||
var test = datagrid_gkvAbrechnungen;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(null), UpdateGkvAbrechnungList);
|
||||
}
|
||||
|
||||
@@ -80,6 +78,8 @@ namespace BeWo.View.Detail.Accounting
|
||||
datagrid_gkvAbrechnungen.Visibility = Visibility.Visible;
|
||||
|
||||
UpdateDataGridFilter();
|
||||
|
||||
gridView.BestFitColumn(ColumnButtons);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:r="clr-namespace:BeWo.Security"
|
||||
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:val="clr-namespace:BeWo.Validation"
|
||||
@@ -954,10 +955,28 @@
|
||||
Grid.Row="5"
|
||||
Grid.Column="2"
|
||||
Content="{markup:Translate Versichertennummer}" />
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Foreground="{Binding Path=InsuranceNumber, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertennummer}}"
|
||||
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=InsuranceNumber, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertennummer}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="6"
|
||||
Grid.Column="2"
|
||||
Content="{markup:Translate Versichertenstatus}" />
|
||||
<TextBox
|
||||
Grid.Row="6"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Foreground="{Binding Path=VersichertenStatus, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertenstatus}}"
|
||||
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=VersichertenStatus, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.CustomerVersichertenstatus}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="7"
|
||||
@@ -1163,18 +1182,6 @@
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=HealthInsurance, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InsuranceNumber, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="6"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=VersichertenStatus, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="7"
|
||||
|
||||
@@ -56,7 +56,12 @@
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
||||
<CheckBox x:Name="checkbox_size" IsChecked="{Binding Path=IsLarge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="Hidden">Groß</CheckBox>
|
||||
<CheckBox
|
||||
x:Name="checkbox_size"
|
||||
IsChecked="{Binding Path=IsLarge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="Hidden">
|
||||
Groß
|
||||
</CheckBox>
|
||||
</StackPanel>
|
||||
<TabControl
|
||||
x:Name="tabcontrol_NotizenKategorien"
|
||||
|
||||
@@ -54,7 +54,11 @@
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}" />
|
||||
IsEnabled="{Binding Path=CanEditIKLeistungserbringer}"
|
||||
Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextChanged="TextBox_TextChanged"
|
||||
ToolTip="{Binding Path=CanEditIKLeistungserbringerTooltip}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
|
||||
@@ -152,5 +152,10 @@ namespace BeWo.View.Detail
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -165,432 +165,432 @@
|
||||
Header="Details"
|
||||
IsSelected="True">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||
<GroupBox Header="Eigenschaften" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid x:Name="grid_details">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.ColumnSpan="3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<GroupBox Header="Eigenschaften" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid x:Name="grid_details">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Content="Name" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="{markup:Translate OrganisationAbteilung}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name2,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Content="{markup:Translate Kundennummer}" />
|
||||
<TextBox
|
||||
x:Name="txtDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=DebitorNumber,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Content="{markup:Translate Geschäftspartnernummer}" />
|
||||
<TextBox
|
||||
x:Name="txtGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=BusinessPartnerId,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Content="Funktion" />
|
||||
<uc:NullItemComboBox
|
||||
x:Name="comboBox_Function"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
SelectedValue="{Binding Path=Function, Mode=TwoWay}" />
|
||||
|
||||
|
||||
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
Content="Archiviert" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="10,6,3,0"
|
||||
VerticalAlignment="Stretch"
|
||||
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="0,8,0,0"
|
||||
Header="Adresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=AddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Street, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=PostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Town, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=POBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="8,8,0,0"
|
||||
Header="Rechnungsadresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressStreet, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressTown, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPOBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="8,8,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Kontakt"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Telefon
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Fax
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Mail
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Homepage
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Content="{markup:Translate Ansprechpartner}" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Phone, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Fax, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="21"
|
||||
Margin="3"
|
||||
Click="EMailButton_OnClick"
|
||||
Content="*"
|
||||
FontFamily="Wingdings"
|
||||
IsEnabled="{Binding Path=EMail, Converter={StaticResource ObjectBoolConverter}}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=EMail, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Website, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=ContactPerson, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Width="360"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="0,8,0,0"
|
||||
Header="GKV-Abrechnung"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<GroupBox.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</GroupBox.Resources>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
<ColumnDefinition Width="*" MaxWidth="300" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.ColumnSpan="3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Content="Name" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="{markup:Translate OrganisationAbteilung}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Text="{val:ValidationBinding Path=Name2,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Content="{markup:Translate Kundennummer}" />
|
||||
<TextBox
|
||||
x:Name="txtDebitorNumber"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=DebitorNumber,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
x:Name="lblGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Content="{markup:Translate Geschäftspartnernummer}" />
|
||||
<TextBox
|
||||
x:Name="txtGeschaeftspartnernummer"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{val:ValidationBinding Path=BusinessPartnerId,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Content="Funktion" />
|
||||
<uc:NullItemComboBox
|
||||
x:Name="comboBox_Function"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Width="300"
|
||||
Height="23"
|
||||
Margin="10,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
SelectedValue="{Binding Path=Function, Mode=TwoWay}" />
|
||||
|
||||
|
||||
|
||||
<Label
|
||||
x:Name="lblArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
Content="Archiviert" />
|
||||
<CheckBox
|
||||
x:Name="chkArchiviert"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="10,6,3,0"
|
||||
VerticalAlignment="Stretch"
|
||||
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="0,8,0,0"
|
||||
Header="Adresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=AddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Street, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=PostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Town, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=POBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="8,8,0,0"
|
||||
Header="Rechnungsadresse"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Adresszusatz
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Strasse
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postleitzahl
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Ort
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Postfach
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressLine1, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressStreet, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPostalCode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressTown, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=InvoiceAddressPOBox, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="8,8,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Kontakt"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="label" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Telefon
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Fax
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Mail
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center">
|
||||
Homepage
|
||||
</Label>
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
VerticalAlignment="Center"
|
||||
Content="{markup:Translate Ansprechpartner}" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Phone, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Fax, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Height="21"
|
||||
Margin="3"
|
||||
Click="EMailButton_OnClick"
|
||||
Content="*"
|
||||
FontFamily="Wingdings"
|
||||
IsEnabled="{Binding Path=EMail, Converter={StaticResource ObjectBoolConverter}}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=EMail, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Website, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=ContactPerson, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Width="360"
|
||||
Margin="0,8,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
Header="GKV-Abrechnung"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<GroupBox.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</GroupBox.Resources>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition
|
||||
Width="*"
|
||||
MinWidth="50"
|
||||
MaxWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center">
|
||||
@@ -602,9 +602,10 @@
|
||||
HorizontalAlignment="Stretch">
|
||||
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKKrankenkasse, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKKrankenkasse, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKKrankenkasse, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKKrankenkasse, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
</DockPanel>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
@@ -613,6 +614,13 @@
|
||||
ToolTip="Abrechnungscode + Tarifkennzeichen. Zum Beispiel: 6901000">
|
||||
Leistungserbringergruppe
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Foreground="{Binding Path=Leistungserbringergruppe, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationLeistungserbringergruppe}}"
|
||||
Text="{Binding Path=Leistungserbringergruppe, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=Leistungserbringergruppe, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationLeistungserbringergruppe}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Button
|
||||
x:Name="btn_ik"
|
||||
Grid.Row="2"
|
||||
@@ -623,10 +631,6 @@
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
|
||||
Weitere IK's ermitteln
|
||||
</Button>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=Leistungserbringergruppe, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
@@ -636,7 +640,10 @@
|
||||
<TextBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKKostentrager, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKKostentrager, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKKostentrager, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKKostentrager, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
@@ -646,7 +653,10 @@
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Text="{Binding Path=IKDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}" />
|
||||
Foreground="{Binding Path=IKDatenannahmestelle, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
Text="{Binding Path=IKDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=IKDatenannahmestelle, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationIKNumber}}"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Label
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
@@ -658,7 +668,10 @@
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Foreground="{Binding Path=BezDatenannahmestelle, Converter={StaticResource Validation2BrushConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationBezDatenannahmestelle}}"
|
||||
Text="{Binding Path=BezDatenannahmestelle, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTip="{Binding Path=BezDatenannahmestelle, Converter={StaticResource Validation2TooltipConverter}, ConverterParameter={x:Static shared:ValidationType.OrganisationBezDatenannahmestelle}}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}" />
|
||||
<Label
|
||||
Grid.Row="6"
|
||||
|
||||
@@ -22,35 +22,35 @@ using DevExpress.Xpf.Grid;
|
||||
|
||||
namespace BeWo.View.Detail
|
||||
{
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
public partial class OrganisationView
|
||||
{
|
||||
private OrganisationVM _ViewModel;
|
||||
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
private GridControl grid_GroupBoxPersonGrid;
|
||||
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
public OrganisationView(OrganisationVM pOrganisationVM)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = pOrganisationVM;
|
||||
|
||||
if (pOrganisationVM.VarFields == null || pOrganisationVM.VarFields.VMList.Count == 0)
|
||||
{
|
||||
tabitem_varFields.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
tabitem_costbearer.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.OrganisationView_AllowEditCostBearer) ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (BeWoApp.Mandator != null && BeWoApp.Mandator.AllowSbd)
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
tabitem_schuldienst.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
comboBox_Function.ItemsSource = _ViewModel.Functions;
|
||||
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
Combobox_Rolle.ItemsSource = _ViewModel.RoleInOrganisations;
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Organisation_AllowArchiving))
|
||||
{
|
||||
@@ -66,283 +66,284 @@ namespace BeWo.View.Detail
|
||||
label_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
radiobuttons_verfahrensstufe.Visibility = Visibility.Collapsed;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
public event EventHandler<EventArgs<OrganisationVM>> OrganisationSavedOrUpdated;
|
||||
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
public override bool IsDirty
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewModel != null && ViewModel.IsDirty;
|
||||
}
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
public override string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Organisationen";
|
||||
}
|
||||
}
|
||||
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
internal OrganisationVM ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ViewModel;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
set
|
||||
{
|
||||
_ViewModel = value;
|
||||
DataContext = value;
|
||||
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tabitem_schuldienst.Content != null)
|
||||
{
|
||||
if (tabitem_schuldienst.Content is StundenplanView view)
|
||||
{
|
||||
view.ViewModel = value.Arbeitszeiten;
|
||||
view.RefreshView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
protected override UserRightType[] GetSaveDemands()
|
||||
{
|
||||
return ViewModel.IsNew ? new[] { UserRightType.CreateAll, UserRightType.OrganisationView_Create } : new[] { UserRightType.EditAll, UserRightType.OrganisationView_Edit };
|
||||
}
|
||||
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
protected override void Save()
|
||||
{
|
||||
var lDC = ViewModel.CommitToDataContract();
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.InsertNewOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDoneWithInsertOrUpdate = false;
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.UpdateOrganisation(lDC), ReloadViewModel);
|
||||
}
|
||||
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
Cache.GetInstance().ClearSupportConceptTree();
|
||||
BeWoApp.MainControl.ResetView(UIContext.Organisation);
|
||||
}
|
||||
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
private void ReloadViewModel(long pOid)
|
||||
{
|
||||
VMFactory.CreateOrganisationVMAsync(
|
||||
pOid,
|
||||
cb => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
if (OrganisationSavedOrUpdated != null)
|
||||
{
|
||||
OrganisationSavedOrUpdated(this, new EventArgs<OrganisationVM>(cb));
|
||||
}
|
||||
|
||||
ViewModel = cb;
|
||||
ViewModel = cb;
|
||||
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
if (ModalEditViewUpdateCallback != null)
|
||||
{
|
||||
ModalEditViewUpdateCallback();
|
||||
}
|
||||
}));
|
||||
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
IsDoneWithInsertOrUpdate = true;
|
||||
}
|
||||
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
public void ReloadViewModel()
|
||||
{
|
||||
if (ViewModel.DataContract.OrganisationOid.HasValue)
|
||||
{
|
||||
ReloadViewModel(ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
private void bt_addQualificationRate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var stand = ViewModel.CostRatePeriods.GetLatestRate(CostRatePeriodType.HourlyRate);
|
||||
if (stand != null)
|
||||
{
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateValue = stand.CostRateValue;
|
||||
}
|
||||
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC) cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
ViewModel.CostRatePeriods.NewVM.ValueListEntry = (ValueListEntryDC)cb_qualifications.SelectedItem;
|
||||
ViewModel.CostRatePeriods.NewVM.CostRateType = CostRatePeriodType.HourlyRate;
|
||||
ViewModel.CostRatePeriods.AddNewVMToList();
|
||||
}
|
||||
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
private void button_deleteCostRatePeriodGroup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var valueListEntry = (sender as Button).Tag as ValueListEntryDC;
|
||||
ViewModel.CostRatePeriods.VMList.RemoveRange(i => i.ValueListEntry != null && i.ValueListEntry.ValueListEntryOid.Equals(valueListEntry.ValueListEntryOid));
|
||||
}
|
||||
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
private void tabitem_documents_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ViewModel.IsNew)
|
||||
{
|
||||
MessageBox.Show("Bevor zu einem Datensatz Dokumente hinterlegt werden können, muss dieser gespeichert werden.", "Erst speichern bitte", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
if (tabitem_documents.Content == null)
|
||||
{
|
||||
tabitem_documents.Content = new BeWoFileView(TableID.Organisation, ViewModel.DataContract.OrganisationOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
private void TabItemsPersons_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (grid_GroupBoxPersonGrid == null)
|
||||
{
|
||||
grid_GroupBoxPersonGrid = gridroot.Resources["datagrid_PersonRelation"] as GridControl;
|
||||
GroupBoxPersonGrid.Content = grid_GroupBoxPersonGrid;
|
||||
}
|
||||
}
|
||||
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
private void Button_deleteAnsprechpartnerClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = grid_GroupBoxPersonGrid.GetCurrentValue<OrganisationPersonRelationVM>();
|
||||
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName) , "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
if (MessageBox.Show(String.Format("Möchten Sie " + Translator.Translate("den gewählten Ansprechpartner") + " '{0}, {1}' wirklich löschen?", vm.Person.LastName, vm.Person.FirstName), "Löschen",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
ViewModel.PersonRelations.VMList.Remove(vm);
|
||||
BeWoWpfUtils.RefreshDXGrid(grid_GroupBoxPersonGrid);
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
ServiceFacade.DoOperationsServiceSync(s =>
|
||||
s.DeletePerson2OrganisationRelation(vm.DataContract.Organisation2PersonOid.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl) gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
private void TableView_OnRowDoubleClick(object sender, RowDoubleClickEventArgs e)
|
||||
{
|
||||
var grid = (GridControl)gridroot.Resources["datagrid_PersonRelation"];
|
||||
var selectedPerson = (grid.GetRow(e.HitInfo.RowHandle) as OrganisationPersonRelationVM).Person;
|
||||
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
if (selectedPerson == null || !BeWoApp.LoggedOnUser.HasRight(UserRightType.PersonView_View))
|
||||
return;
|
||||
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
VMFactory.CreatePersonVMAsync(selectedPerson.PersonOid,
|
||||
cb => this.Dispatch(
|
||||
() => BeWoUtils.OpenModalViewWindow<PersonVM, PersonDC, OrganisationView>(cb, this, () => this.Dispatch(
|
||||
() => BeWoUtils.UpdateAllViews(selectedPerson)), personSavedOrUpdated: (s, args) => this.Dispatch(delegate { }))));
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
private void EMailButton_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(ViewModel.EMail);
|
||||
}
|
||||
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
BeWoUtils.OpenMailClient(e.Uri.ToString());
|
||||
}
|
||||
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
private void CreateNewAnsprechpartner_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ValidationTrigger.Validate(groupbox_newOrganisationAnsprechpartner) && pes != null)
|
||||
{
|
||||
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
var mail = textbox_mail.Text;
|
||||
var fax = textbox_fax.Text;
|
||||
var phone = textbox_phone.Text;
|
||||
var notice = textbox_notice.Text;
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC) Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
var ldc = ViewModel.CommitToDataContract();
|
||||
|
||||
Save();
|
||||
}
|
||||
if (pes.PersonOid != 0)
|
||||
{
|
||||
//ViewModel.PersonRelations.AddNewVMToList();
|
||||
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewPerson2OrganisationRelation(ldc.OrganisationOid.Value, (ValueListEntryDC)Combobox_Rolle.SelectedItem, pes.PersonOid, mail, fax, phone.ToString(), notice.ToString()));
|
||||
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
Save();
|
||||
}
|
||||
|
||||
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName +" "+ pes.LastName;
|
||||
textbox_mail.Text = "";
|
||||
textbox_fax.Text = "";
|
||||
textbox_phone.Text = "";
|
||||
textbox_notice.Text = "";
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
//ReloadViewModel();
|
||||
pes = null;
|
||||
}
|
||||
}
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
CompactPersonDC pes = new CompactPersonDC();
|
||||
private void popupedit_Person_PopUpClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
personsearchview.ItemSelected += personsearchview_EnvironmentPersonSelected;
|
||||
popup_person.IsOpen = true;
|
||||
}
|
||||
|
||||
private void personsearchview_EnvironmentPersonSelected(object sender, EventArgs<CompactPersonDC> e)
|
||||
{
|
||||
popup_person.IsOpen = false;
|
||||
personsearchview.ItemSelected -= personsearchview_EnvironmentPersonSelected;
|
||||
pes = e.Data;
|
||||
popupedit_environmentPersonSearch.Text = pes.FirstName + " " + pes.LastName;
|
||||
|
||||
popupedit_environmentPersonSearch.Focus();
|
||||
}
|
||||
|
||||
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (GridSBD.Children.Count == 0)
|
||||
{
|
||||
var sp = new StundenplanView(ViewModel.Arbeitszeiten, Translator.Translate("OrganisationStundenplan"));
|
||||
Grid.SetRow(sp, 0);
|
||||
GridSBD.Children.Add(sp);
|
||||
|
||||
var ov = new SbdOrganisationView(ViewModel.Feiertage);
|
||||
ov.Margin = new Thickness(0, 10, 0, 0);
|
||||
Grid.SetRow(ov, 1);
|
||||
GridSBD.Children.Add(ov);
|
||||
}
|
||||
}
|
||||
|
||||
private void IKNumber_Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
var req = new GkvAbrechnungGetIKRequestDC();
|
||||
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
req.IKKrankenkasse = ViewModel.IKKrankenkasse;
|
||||
req.Leistungserbringergruppe = ViewModel.Leistungserbringergruppe;
|
||||
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
ServiceFacade.DoAccountingServiceAsync(x => x.SendGetIKRequest(req), cb => Dispatcher.Invoke(() => IKRequestCallback(req, cb)));
|
||||
}
|
||||
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
private void IKRequestCallback(GkvAbrechnungGetIKRequestDC req, GkvAbrechnungGetIKResponseDC response)
|
||||
{
|
||||
if(response is null || !response.Success)
|
||||
if (response is null || !response.Success)
|
||||
{
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
MessageBox.Show($"Interner Serverfehler.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!response.Gefunden)
|
||||
{
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" konnte keine Datenannahmestelle gefunden werden. " +
|
||||
$"Bitte informieren Sie sich bei der Krankenkasse, ob zum elektronischen Datenaustausch " +
|
||||
$"eine seperate Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
MessageBox.Show($"Für die Organisation mit dem IK \"{req.IKKrankenkasse}\" und Leistungserbringergruppe \"{req.Leistungserbringergruppe}\" \n" +
|
||||
$"konnte keine Datenannahmestelle gefunden werden. Wenn Sie dennoch den elektronischen Datenaustausch mit der Krankenkasse \n" +
|
||||
$"durchführen möchten, informieren Sie sich bitte bei der Krankenkasse, ob zum elektronischen Datenaustausch eine seperate \n" +
|
||||
$"Anmeldung benötigt wird.", "Fehler");
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
ViewModel.BezDatenannahmestelle = response.BezDatenannahmestelle;
|
||||
ViewModel.IKKostentrager = response.IKKostentrager;
|
||||
ViewModel.IKDatenannahmestelle = response.IKDatenannahmestelle;
|
||||
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
CommandManager.InvalidateRequerySuggested();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -932,18 +932,34 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string InsuranceNumber
|
||||
{
|
||||
get { return _InsuranceNumber; }
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_InsuranceNumber, value))
|
||||
return;
|
||||
|
||||
_InsuranceNumber = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.InsuranceNumber, value), PropertyName_InsuranceNumber);
|
||||
FirePropertyChanged(PropertyName_InsuranceNumber);
|
||||
}
|
||||
}
|
||||
|
||||
public string VersichertenStatus
|
||||
{
|
||||
get { return _VersichertenStatus; }
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_VersichertenStatus, value))
|
||||
{
|
||||
_VersichertenStatus = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.VersichertenStatus, value), nameof(VersichertenStatus));
|
||||
FirePropertyChanged(nameof(VersichertenStatus));
|
||||
}
|
||||
if (!AreDifferent(_VersichertenStatus, value))
|
||||
return;
|
||||
|
||||
_VersichertenStatus = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.VersichertenStatus, value), nameof(VersichertenStatus));
|
||||
FirePropertyChanged(nameof(VersichertenStatus));
|
||||
}
|
||||
}
|
||||
public string Environment
|
||||
@@ -1707,26 +1723,12 @@ namespace BeWo.ViewModel
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_HealthInsurance, value))
|
||||
{
|
||||
_HealthInsurance = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.BemerkungenSbd, value), PropertyName_HealthInsurance);
|
||||
FirePropertyChanged(PropertyName_HealthInsurance);
|
||||
}
|
||||
}
|
||||
}
|
||||
public string InsuranceNumber
|
||||
{
|
||||
get { return _InsuranceNumber; }
|
||||
if (!AreDifferent(_HealthInsurance, value))
|
||||
return;
|
||||
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_InsuranceNumber, value))
|
||||
{
|
||||
_InsuranceNumber = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.BemerkungenSbd, value), PropertyName_InsuranceNumber);
|
||||
FirePropertyChanged(PropertyName_InsuranceNumber);
|
||||
}
|
||||
_HealthInsurance = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.HealthInsurance, value), PropertyName_HealthInsurance);
|
||||
FirePropertyChanged(PropertyName_HealthInsurance);
|
||||
}
|
||||
}
|
||||
public ObservableSortCollection<ValueListEntryDC> EintragKategorien
|
||||
@@ -2071,13 +2073,13 @@ namespace BeWo.ViewModel
|
||||
pDataContract.Toilettengang = _Toilettengang;
|
||||
pDataContract.Aggressiv = _Aggressiv;
|
||||
pDataContract.Schutzstufe = _Schutzstufe;
|
||||
pDataContract.Uebernahmeort = _Uebernahmeort;
|
||||
pDataContract.Verhalten = _Verhalten;
|
||||
pDataContract.Betreuungsbedarf = _Betreuungsbedarf;
|
||||
pDataContract.BemerkungenSbd = _BemerkungenSbd;
|
||||
pDataContract.HealthInsurance = _HealthInsurance;
|
||||
pDataContract.InsuranceNumber = _InsuranceNumber;
|
||||
pDataContract.VersichertenStatus = _VersichertenStatus;
|
||||
pDataContract.Uebernahmeort = _Uebernahmeort;
|
||||
pDataContract.Verhalten = _Verhalten;
|
||||
pDataContract.Betreuungsbedarf = _Betreuungsbedarf;
|
||||
pDataContract.BemerkungenSbd = _BemerkungenSbd;
|
||||
pDataContract.HealthInsurance = _HealthInsurance;
|
||||
pDataContract.InsuranceNumber = _InsuranceNumber?.Trim();
|
||||
pDataContract.VersichertenStatus = _VersichertenStatus?.Trim();
|
||||
pDataContract.Hygienebelehrung = _Hygienebelehrung;
|
||||
pDataContract.Migrationshintergrund = _Migrationshintergrund;
|
||||
pDataContract.SubstitutionNeed = _SubstitutionNeed;
|
||||
|
||||
@@ -526,19 +526,24 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
protected override void InitByDataContract(MandatorDC pDataContract)
|
||||
public bool CanEditIKLeistungserbringer { get; set; }
|
||||
public string CanEditIKLeistungserbringerTooltip { get; set; }
|
||||
|
||||
protected override void InitByDataContract(MandatorDC pDataContract)
|
||||
{
|
||||
this._Name = pDataContract.Name;
|
||||
this._ClientId = pDataContract.ClientId;
|
||||
this._BeWoClientType = pDataContract.BeWoClientType;
|
||||
this._Country = pDataContract.Country;
|
||||
this._State = pDataContract.State;
|
||||
this._Town = pDataContract.Town;
|
||||
this._PostalCode = pDataContract.PostalCode;
|
||||
this._Street = pDataContract.Street;
|
||||
this._Settings = pDataContract.Settings;
|
||||
this._Apikey = pDataContract.Apikey;
|
||||
this._IKLeistungserbringer = pDataContract.IKLeistungserbringer;
|
||||
_Name = pDataContract.Name;
|
||||
_ClientId = pDataContract.ClientId;
|
||||
_BeWoClientType = pDataContract.BeWoClientType;
|
||||
_Country = pDataContract.Country;
|
||||
_State = pDataContract.State;
|
||||
_Town = pDataContract.Town;
|
||||
_PostalCode = pDataContract.PostalCode;
|
||||
_Street = pDataContract.Street;
|
||||
_Settings = pDataContract.Settings;
|
||||
_Apikey = pDataContract.Apikey;
|
||||
_IKLeistungserbringer = pDataContract.IKLeistungserbringer;
|
||||
CanEditIKLeistungserbringer = pDataContract.CanEditIKLeistungserbringer;
|
||||
CanEditIKLeistungserbringerTooltip = pDataContract.CanEditIKLeistungserbringerTooltip;
|
||||
|
||||
if (_Settings == null)
|
||||
{
|
||||
|
||||
@@ -770,8 +770,8 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
|
||||
public bool IsIKNumberValid
|
||||
=> DakotaValidator.IsIKNumberValid(IKKrankenkasse)
|
||||
&& DakotaValidator.IsLeistungserbringergruppeValid(Leistungserbringergruppe);
|
||||
=> Validator.IsIKNumberValid(IKKrankenkasse)
|
||||
&& Validator.IsLeistungserbringergruppeValid(Leistungserbringergruppe);
|
||||
|
||||
public string IKKrankenkasse
|
||||
{
|
||||
@@ -779,7 +779,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_IKKrankenkasse, value))
|
||||
if (!AreDifferent(_IKKrankenkasse, value))
|
||||
return;
|
||||
|
||||
_IKKrankenkasse = value;
|
||||
@@ -794,45 +794,45 @@ namespace BeWo.ViewModel
|
||||
get { return this._IKKostentrager; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._IKKostentrager, value))
|
||||
{
|
||||
this._IKKostentrager = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKKostentrager, value), nameof(IKKostentrager));
|
||||
this.FirePropertyChanged(nameof(IKKostentrager));
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (!AreDifferent(_IKKostentrager, value))
|
||||
return;
|
||||
|
||||
_IKKostentrager = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.IKKostentrager, value), nameof(IKKostentrager));
|
||||
FirePropertyChanged(nameof(IKKostentrager));
|
||||
}
|
||||
}
|
||||
|
||||
public string IKDatenannahmestelle
|
||||
{
|
||||
get { return this._IKDatenannahmestelle; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._IKDatenannahmestelle, value))
|
||||
{
|
||||
this._IKDatenannahmestelle = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKDatenannahmestelle, value), nameof(IKDatenannahmestelle));
|
||||
this.FirePropertyChanged(nameof(IKDatenannahmestelle));
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (!AreDifferent(_IKDatenannahmestelle, value))
|
||||
return;
|
||||
|
||||
_IKDatenannahmestelle = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.IKDatenannahmestelle, value), nameof(IKDatenannahmestelle));
|
||||
FirePropertyChanged(nameof(IKDatenannahmestelle));
|
||||
}
|
||||
}
|
||||
|
||||
public string BezDatenannahmestelle
|
||||
{
|
||||
get { return this._BezDatenannahmestelle; }
|
||||
|
||||
set
|
||||
{
|
||||
if (this.AreDifferent(this._BezDatenannahmestelle, value))
|
||||
{
|
||||
this._BezDatenannahmestelle = value;
|
||||
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.BezDatenannahmestelle, value), nameof(BezDatenannahmestelle));
|
||||
this.FirePropertyChanged(nameof(BezDatenannahmestelle));
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (!AreDifferent(_BezDatenannahmestelle, value))
|
||||
return;
|
||||
|
||||
_BezDatenannahmestelle = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.BezDatenannahmestelle, value), nameof(BezDatenannahmestelle));
|
||||
FirePropertyChanged(nameof(BezDatenannahmestelle));
|
||||
}
|
||||
}
|
||||
|
||||
public string Leistungserbringergruppe
|
||||
{
|
||||
@@ -840,7 +840,7 @@ namespace BeWo.ViewModel
|
||||
|
||||
set
|
||||
{
|
||||
if (!AreDifferent(_Leistungserbringergruppe, value))
|
||||
if (!AreDifferent(_Leistungserbringergruppe, value))
|
||||
return;
|
||||
|
||||
_Leistungserbringergruppe = value;
|
||||
@@ -1060,33 +1060,33 @@ namespace BeWo.ViewModel
|
||||
|
||||
protected override OrganisationDC MapToDataContract(OrganisationDC pDataContract, bool doCommit)
|
||||
{
|
||||
pDataContract.AccountNumber = this._AccountNumber;
|
||||
pDataContract.BankCode = this._BankCode;
|
||||
pDataContract.BankName = this._BankName;
|
||||
pDataContract.Bic = this._Bic;
|
||||
pDataContract.IBAN = this._IBAN;
|
||||
pDataContract.Name = this._Name;
|
||||
pDataContract.Name2 = this._Name2;
|
||||
pDataContract.OrganisationNotice = this._Notice;
|
||||
pDataContract.PostalCode = this._PostalCode;
|
||||
pDataContract.RelatedPersons = this._PersonRelations.CopyToDCList(doCommit);
|
||||
pDataContract.Street = this._Street;
|
||||
pDataContract.Town = this._Town;
|
||||
pDataContract.AddressLine1 = this._AddressLine1;
|
||||
pDataContract.InvoiceAddressStreet = this._InvoiceAddressStreet;
|
||||
pDataContract.InvoiceAddressTown = this._InvoiceAddressTown;
|
||||
pDataContract.InvoiceAddressPostalCode = this._InvoiceAddressPostalCode;
|
||||
pDataContract.InvoiceAddressLine1 = this._InvoiceAddressLine1;
|
||||
pDataContract.IsCalculatingWithFactor = this._IsCalculatingWithFactor;
|
||||
pDataContract.IsSingleInvoicePerCustomer = this._IsSingleInvoicePerCustomer;
|
||||
pDataContract.DebitorNumber = this._DebitorNumber;
|
||||
pDataContract.ActivationType = this._IsArchived ? ActivationTypeId.Archived : ActivationTypeId.Active;
|
||||
pDataContract.Function = this._Function;
|
||||
pDataContract.IKDatenannahmestelle = this._IKDatenannahmestelle;
|
||||
pDataContract.BezDatenannahmestelle = this._BezDatenannahmestelle;
|
||||
pDataContract.IKKostentrager = this._IKKostentrager;
|
||||
pDataContract.IKKrankenkasse = this._IKKrankenkasse;
|
||||
pDataContract.Leistungserbringergruppe = _Leistungserbringergruppe;
|
||||
pDataContract.AccountNumber = _AccountNumber;
|
||||
pDataContract.BankCode = _BankCode;
|
||||
pDataContract.BankName = _BankName;
|
||||
pDataContract.Bic = _Bic;
|
||||
pDataContract.IBAN = _IBAN;
|
||||
pDataContract.Name = _Name;
|
||||
pDataContract.Name2 = _Name2;
|
||||
pDataContract.OrganisationNotice = _Notice;
|
||||
pDataContract.PostalCode = _PostalCode;
|
||||
pDataContract.RelatedPersons = _PersonRelations.CopyToDCList(doCommit);
|
||||
pDataContract.Street = _Street;
|
||||
pDataContract.Town = _Town;
|
||||
pDataContract.AddressLine1 = _AddressLine1;
|
||||
pDataContract.InvoiceAddressStreet = _InvoiceAddressStreet;
|
||||
pDataContract.InvoiceAddressTown = _InvoiceAddressTown;
|
||||
pDataContract.InvoiceAddressPostalCode = _InvoiceAddressPostalCode;
|
||||
pDataContract.InvoiceAddressLine1 = _InvoiceAddressLine1;
|
||||
pDataContract.IsCalculatingWithFactor = _IsCalculatingWithFactor;
|
||||
pDataContract.IsSingleInvoicePerCustomer = _IsSingleInvoicePerCustomer;
|
||||
pDataContract.DebitorNumber = _DebitorNumber;
|
||||
pDataContract.ActivationType = _IsArchived ? ActivationTypeId.Archived : ActivationTypeId.Active;
|
||||
pDataContract.Function = _Function;
|
||||
pDataContract.IKDatenannahmestelle = _IKDatenannahmestelle?.Trim();
|
||||
pDataContract.BezDatenannahmestelle = _BezDatenannahmestelle?.Trim();
|
||||
pDataContract.IKKostentrager = _IKKostentrager?.Trim();
|
||||
pDataContract.IKKrankenkasse = _IKKrankenkasse?.Trim();
|
||||
pDataContract.Leistungserbringergruppe = _Leistungserbringergruppe?.Trim();
|
||||
pDataContract.BusinessPartnerId = _BusinessPartnerId;
|
||||
pDataContract.Verfahrensstufe = _Verfahrensstufe;
|
||||
|
||||
|
||||
@@ -96,5 +96,17 @@ namespace Dakota
|
||||
|
||||
return input.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetVersichertenstatus(string versichertenStatus)
|
||||
{
|
||||
if (versichertenStatus.Length < 5)
|
||||
return FillFromRight(versichertenStatus, 5, '0');
|
||||
else if (versichertenStatus.Length == 5)
|
||||
return versichertenStatus;
|
||||
else if (versichertenStatus.Length == 7)
|
||||
return versichertenStatus.Substring(0, 5);
|
||||
else
|
||||
throw new ArgumentException($"VersichertenStatus \"{versichertenStatus}\" ist ungültig.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,11 +229,8 @@ namespace Dakota.Logic
|
||||
{
|
||||
var info = new InfoAbrechnungsfall();
|
||||
|
||||
var versicherten_status = infoParameter.Customer.VersichertenStatus;
|
||||
var versicherten_status_kurz = versicherten_status.Substring(0, 5);
|
||||
|
||||
info.VersichtertenNummer = infoParameter.Customer.InsuranceNumber;
|
||||
info.Versichertenstatus = versicherten_status_kurz;
|
||||
info.Versichertenstatus = DakotaUtils.GetVersichertenstatus(infoParameter.Customer.VersichertenStatus);
|
||||
info.Beleginformation = SchlüsselBeleginformation.KeineBeleguebermittlung;
|
||||
info.Belegnummer = infoParameter.Customer.CustomerOid.ToString();
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ namespace Dakota.Logic
|
||||
|
||||
return new Tuple<string, string, string, string>(datenannahmestelle, search.Item2, search.Item3, bez);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -84,7 +83,9 @@ namespace Dakota.Logic
|
||||
if (verweis is object && verweis.IKVerknüpfungspartners != kostentrager)
|
||||
return GetIKNummern(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen, verweis.IKVerknüpfungspartners);
|
||||
|
||||
var datenannahmestellen = search.SegmentVKG.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.DatenannahmestelleMitEntschlusselungsbefugnis);
|
||||
var datenannahmestellen = search.SegmentVKG
|
||||
.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.DatenannahmestelleMitEntschlusselungsbefugnis)
|
||||
.ToList();
|
||||
|
||||
// Hat keinen Verweis auf Kostenträger oder Datenannahmestelle gefunden
|
||||
if (datenannahmestellen is null || !datenannahmestellen.Any())
|
||||
@@ -93,17 +94,39 @@ namespace Dakota.Logic
|
||||
if (datenannahmestellen.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
var datenannahmestellen_2 = datenannahmestellen.Where(x => x.Abrechnungscode == abrechnungscode);
|
||||
// Abrechnungscode "69" <=> Sozio
|
||||
var datenannahmestellen_2 = datenannahmestellen
|
||||
.Where(x => x.Abrechnungscode == abrechnungscode)
|
||||
.ToList();
|
||||
|
||||
if (datenannahmestellen_2.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen_2.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
var datenannahmestellen_3 = datenannahmestellen_2.Where(x => x.Tarifkennzeichen == tarifkennzeichen);
|
||||
// Tarifkennzeichen
|
||||
var datenannahmestellen_3 = datenannahmestellen_2
|
||||
.Where(x => x.Tarifkennzeichen == tarifkennzeichen)
|
||||
.ToList();
|
||||
|
||||
if (datenannahmestellen_3.Count() == 1)
|
||||
return GetIKNummern(datenannahmestellen_3.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
throw new GkvException($"Keine oder mehrere Datenannahmestellen für {ikkrankenkasse} gefunden.");
|
||||
// ArtDesÜbermittlungsmediums "1" <=> Datenfernübertragung
|
||||
var filter_list = datenannahmestellen_3;
|
||||
|
||||
if(!filter_list.Any())
|
||||
filter_list = datenannahmestellen_2;
|
||||
|
||||
if (!filter_list.Any())
|
||||
filter_list = datenannahmestellen;
|
||||
|
||||
filter_list = filter_list
|
||||
.Where(x => x.ArtDesÜbermittlungsmediums == "1")
|
||||
.ToList();
|
||||
|
||||
if (filter_list.Count() == 1)
|
||||
return GetIKNummern(filter_list.First(), kostentrager, ikkrankenkasse);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Tuple<string, string, string> GetIKNummern(SegmentKTDVKG vkg, string kostentrager, string ikkrankenkasse)
|
||||
|
||||
@@ -56,8 +56,10 @@ namespace Dakota.Logic
|
||||
// "E" - Echtdaten
|
||||
// "T" - Testdaten
|
||||
// Annahme: "E" auch für Erprobungsverfahrenstufe
|
||||
|
||||
var verfahrenkennung = verfahrensstufe == 0 ? "TSOL0" : "ESOL0";
|
||||
// Zusatz: "T" bei Erprobungsverfahrenstufe
|
||||
|
||||
var isTest = verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Test || verfahrensstufe == BS.Shared.GkvVerfahrensstufe.Erprobung;
|
||||
var verfahrenkennung = isTest ? "TSOL0" : "ESOL0";
|
||||
var logischer_dateiname = DakotaConfig.GetLogischerDateiname(Month).Trim();
|
||||
|
||||
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, (int)verfahrensstufe, logischer_dateiname, datenaustauschreferenz);
|
||||
|
||||
@@ -102,11 +102,13 @@ namespace Dakota.Models.Blocke
|
||||
{
|
||||
var sumseg = new decimal[3];
|
||||
|
||||
Dictionary<int, decimal[]> segments = new Dictionary<int, decimal[]>();
|
||||
Dictionary<string, decimal[]> segments = new Dictionary<string, decimal[]>();
|
||||
|
||||
foreach (var fall in NachrichtSLLA.BlockKlienten)
|
||||
{
|
||||
int status = 11;
|
||||
var versicherten_status = fall.SegmentSLLAINV.Versichertenstatus.GetValue();
|
||||
var schlüssel_summenstatus = SchlüsselSummenstatus.Parse(versicherten_status);
|
||||
var status = schlüssel_summenstatus.Value;
|
||||
|
||||
if (!segments.ContainsKey(status))
|
||||
{
|
||||
@@ -133,7 +135,7 @@ namespace Dakota.Models.Blocke
|
||||
NachrichtSLGA.SegmentGES00.Gesamtbruttobetrag.SetValue(sumseg[1]);
|
||||
NachrichtSLGA.SegmentGES00.GesamtbetragZuzahlung.SetValue(sumseg[2]);
|
||||
|
||||
foreach (var key in segments.Keys)
|
||||
foreach (var key in segments.Keys.OrderBy(x => x))
|
||||
{
|
||||
var segment = new SegmentSLGAGES();
|
||||
var array = segments[key];
|
||||
|
||||
@@ -35,18 +35,20 @@ namespace Dakota.Models.Nachrichten
|
||||
|
||||
public static bool TryParse(string[] rows, string filename, int firstline, out NachrichtKTD nachricht)
|
||||
{
|
||||
nachricht = null;
|
||||
|
||||
try
|
||||
{
|
||||
nachricht = Parse(rows, filename, firstline);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch(Exception e)
|
||||
catch(Exception)
|
||||
{
|
||||
nachricht = null;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static NachrichtKTD Parse(string[] rows, string filename, int firstline)
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Dakota.Models.Nachrichten
|
||||
SegmentSLLAFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringer);
|
||||
SegmentSLLAFKT.IKKostenträgers.SetValue(info.IKKostentrager);
|
||||
SegmentSLLAFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
|
||||
SegmentSLLAFKT.IKRechnungsstellers.SetValue(info.IKAbsender);
|
||||
//SegmentSLLAFKT.IKRechnungsstellers.SetValue(info.IKAbsender);
|
||||
|
||||
foreach (var infofall in info.Abrechnungsfalle.OrderBy(x => x.InfosAbrechnungsposition.Min(y => y.DatumDerLeistungserbringung)))
|
||||
{
|
||||
|
||||
@@ -15,5 +15,21 @@ namespace Dakota.Models.Schlüssels
|
||||
public static SchlüsselSummenstatus Angehörige => new SchlüsselSummenstatus("31");
|
||||
public static SchlüsselSummenstatus Rentner => new SchlüsselSummenstatus("51");
|
||||
public static SchlüsselSummenstatus NichtZugehörigerStatus => new SchlüsselSummenstatus("99");
|
||||
|
||||
public static SchlüsselSummenstatus Parse(string versichtenstatus)
|
||||
{
|
||||
var status_key = versichtenstatus.FirstOrDefault();
|
||||
|
||||
if (status_key == '1')
|
||||
return Mitglieder;
|
||||
|
||||
if (status_key == '3')
|
||||
return Angehörige;
|
||||
|
||||
if (status_key == '5')
|
||||
return Rentner;
|
||||
|
||||
return NichtZugehörigerStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,9 +4,14 @@
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
|
||||
<add key="GkvAbrechnungFailedFolderPath" value="C:\GkvAbrechnung\Failed\" />
|
||||
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Data\Queue\" />
|
||||
<add key="GkvAbrechnungCopyFolderPath" value="C:\GkvAbrechnung\Data\QueueCopy\" />
|
||||
<add key="GkvAbrechnungFailedFolderPath" value="C:\GkvAbrechnung\Data\QueueFailed\" />
|
||||
<add key="GkvAbrechnungSuccessFolderPath" value="C:\GkvAbrechnung\Data\QueueSuccess\" />
|
||||
<add key="GkvAbrechnungCopySave" value="True" />
|
||||
<add key="GkvAbrechnungFailedSave" value="True" />
|
||||
<add key="GkvAbrechnungSuccessSave" value="True" />
|
||||
<add key="DakotaExePath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
|
||||
<add key="DakotaFolder" value="C:\dakotale\" />
|
||||
<add key="ProcessWaitForExitMs" value="10000" />
|
||||
|
||||
@@ -10,22 +10,44 @@ namespace DakotaSender
|
||||
{
|
||||
internal static class Config
|
||||
{
|
||||
public static string GkvSecretKey { get; set; } = ConfigurationManager.AppSettings.Get("GkvSecretKey");
|
||||
public static DirectoryInfo ResultFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath") ?? @"C:\GkvAbrechnung\Results\");
|
||||
|
||||
public static DirectoryInfo QueueFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath") ?? @"C:\GkvAbrechnung\Data\Queue\");
|
||||
|
||||
public static DirectoryInfo CopyFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungCopyFolderPath") ?? @"C:\GkvAbrechnung\Data\Copy\");
|
||||
|
||||
public static DirectoryInfo FailedFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungFailedFolderPath") ?? @"C:\GkvAbrechnung\Data\Failed\");
|
||||
|
||||
public static DirectoryInfo SuccessFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungSuccessFolderPath") ?? @"C:\GkvAbrechnung\Data\Success\");
|
||||
|
||||
public static bool CopySave { get; }
|
||||
= bool.Parse(ConfigurationManager.AppSettings.Get("GkvAbrechnungCopySave") ?? bool.TrueString);
|
||||
|
||||
public static bool FailedSave { get; }
|
||||
= bool.Parse(ConfigurationManager.AppSettings.Get("GkvAbrechnungFailedSave") ?? bool.TrueString);
|
||||
|
||||
public static bool SuccessSave { get; }
|
||||
= bool.Parse(ConfigurationManager.AppSettings.Get("GkvAbrechnungSuccessSave") ?? bool.TrueString);
|
||||
|
||||
public static FileInfo DakotaExe { get; }
|
||||
= new FileInfo(ConfigurationManager.AppSettings.Get("DakotaExePath") ?? @"C:\Program Files (x86)\ITSG\dakotale\dakota30.exe");
|
||||
|
||||
public static DirectoryInfo DakotaFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("DakotaFolder") ?? @"C:\dakotale\");
|
||||
|
||||
public static int ProcessWaitForExitMs { get; }
|
||||
= int.Parse(ConfigurationManager.AppSettings.Get("ProcessWaitForExitMs") ?? "10000");
|
||||
|
||||
public static string LogPath { get; }
|
||||
= ConfigurationManager.AppSettings.Get("LogPath") ?? @"C:\GkvAbrechnung\Sender\log.txt";
|
||||
public static int ProcessWaitForExitMs { get; }
|
||||
= int.Parse(ConfigurationManager.AppSettings.Get("ProcessWaitForExitMs") ?? "10000");
|
||||
public static FileInfo DakotaExe { get; }
|
||||
= new FileInfo(ConfigurationManager.AppSettings.Get("DakotaExePath") ?? @"C:\Program Files (x86)\ITSG\dakotale\dakota30.exe");
|
||||
public static DirectoryInfo DakotaFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("DakotaFolder") ?? @"C:\dakotale\");
|
||||
public static DirectoryInfo QueueFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungQueueFolderPath") ?? @"C:\GkvAbrechnung\Queue\");
|
||||
public static DirectoryInfo ResultFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungResultFolderPath") ?? @"C:\GkvAbrechnung\Results\");
|
||||
public static DirectoryInfo FailedFolder { get; }
|
||||
= new DirectoryInfo(ConfigurationManager.AppSettings.Get("GkvAbrechnungFailedFolderPath") ?? @"C:\GkvAbrechnung\Failed\");
|
||||
|
||||
public static string GkvSecretKey { get; set; } = ConfigurationManager.AppSettings.Get("GkvSecretKey");
|
||||
|
||||
|
||||
public static bool IsDatenannahmestelleValid(string datenannahmestelle)
|
||||
{
|
||||
|
||||
@@ -10,13 +10,36 @@ namespace DakotaSender
|
||||
{
|
||||
internal static class FileController
|
||||
{
|
||||
internal static void CopyFileToCopy(DakotaSystemFile file)
|
||||
{
|
||||
if (!Config.CopySave)
|
||||
return;
|
||||
|
||||
var folder = Config.CopyFolder;
|
||||
|
||||
CopyFileTo(file.SourceAuftragsdatei, folder.FullName);
|
||||
CopyFileTo(file.SourceNutzdatendatei, folder.FullName);
|
||||
}
|
||||
internal static void CopyFileToFailed(DakotaSystemFile file)
|
||||
{
|
||||
if (!Config.FailedSave)
|
||||
return;
|
||||
|
||||
var failed_folder = Config.FailedFolder;
|
||||
|
||||
CopyFileTo(file.SourceAuftragsdatei, failed_folder.FullName);
|
||||
CopyFileTo(file.SourceNutzdatendatei, failed_folder.FullName);
|
||||
}
|
||||
internal static void CopyFileToSuccesss(DakotaSystemFile file)
|
||||
{
|
||||
if (!Config.SuccessSave)
|
||||
return;
|
||||
|
||||
var success_folder = Config.SuccessFolder;
|
||||
|
||||
CopyFileTo(file.SourceAuftragsdatei, success_folder.FullName);
|
||||
CopyFileTo(file.SourceNutzdatendatei, success_folder.FullName);
|
||||
}
|
||||
internal static void CopyFileToDestination(DakotaSystemFile file)
|
||||
{
|
||||
var folder = Config.LoadDatenannahmestelleFolder(file.Datenannahmestelle);
|
||||
|
||||
@@ -263,6 +263,10 @@ namespace DakotaSender
|
||||
PrintLine(msg);
|
||||
|
||||
Add2Results(file, GkvTransferResultType.Success);
|
||||
|
||||
FileController.CopyFileToCopy(file);
|
||||
|
||||
FileController.CopyFileToSuccesss(file);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -272,6 +276,8 @@ namespace DakotaSender
|
||||
|
||||
Add2Results(file, GkvTransferResultType.FailSoft, msg, "DS:Fehler");
|
||||
|
||||
FileController.CopyFileToCopy(file);
|
||||
|
||||
FileController.CopyFileToFailed(file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,5 +68,27 @@ namespace DakotaUnitTest
|
||||
|
||||
Assert.IsTrue(test.Item3 == "104212505");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ValidateBarmar()
|
||||
{
|
||||
var test = Reader.Resolve("104080005", "69", "08101");
|
||||
|
||||
Assert.IsNull(test);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ValidateKnappschaft()
|
||||
{
|
||||
var test = Reader.Resolve("109905003", "69", "08000");
|
||||
|
||||
Assert.IsNotNull(test);
|
||||
|
||||
Assert.IsTrue(test.Item1 == "109905003");
|
||||
|
||||
Assert.IsTrue(test.Item2 == "109905003");
|
||||
|
||||
Assert.IsTrue(test.Item3 == "109905003");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="DakotaReaderUnitTest.cs" />
|
||||
<Compile Include="GkvObjectUnitTest.cs" />
|
||||
<Compile Include="MailUnitTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -61,6 +62,10 @@
|
||||
<Project>{47331732-DD96-4075-869F-83AA9F3F9937}</Project>
|
||||
<Name>Dakota</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
|
||||
18
DakotaUnitTest/MailUnitTest.cs
Normal file
18
DakotaUnitTest/MailUnitTest.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using BeWo.Service.Core;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
|
||||
namespace DakotaUnitTest
|
||||
{
|
||||
[TestClass]
|
||||
public class MailUnitTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void SendTestMail()
|
||||
{
|
||||
var subject = "";
|
||||
|
||||
//var success = Utils.SendMail(subject, body, sende)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Result ProtokollOid="31">
|
||||
<Result ProtokollOid="31" UserOid="1">
|
||||
<Titel>31</Titel>
|
||||
<Datum>2024-06-01T09:00:00</Datum>
|
||||
<Nachricht>TestNach</Nachricht>
|
||||
|
||||
@@ -266,5 +266,9 @@ namespace BeWo.Data.Access
|
||||
return obj;
|
||||
}
|
||||
|
||||
public virtual int GetRowCount<T>() where T : BeWoEntityBase
|
||||
{
|
||||
return Session.QueryOver<T>().RowCount();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,7 +237,7 @@
|
||||
<add key="OpenrouteServiceApiUrlGeocode" value="https://api.openrouteservice.org/geocode/search" />
|
||||
<add key="OpenrouteServiceApiKey" value="5b3ce3597851110001cf62484b0917529e9a4008acda819dc06e47e8" />
|
||||
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
|
||||
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Data\Queue\" />
|
||||
<add key="GkvKostentragerdateiFolderPath" value="C:\GkvAbrechnung\KTDatei\" />
|
||||
<add key="DakotaPath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
|
||||
<add key="GkvSecretKey" value="DfDGNGn72PKfSYxSUsmRdzuBtpR9novewlmYU3gsjiFgSkaZZeylUXlbO42cWNqiKgLdMUFtWUNZT962F1raQDR7HGUzCNYsFeC" />
|
||||
|
||||
@@ -52,7 +52,7 @@ CREATE TABLE `gkvtransferprotokoll` (
|
||||
`Dateityp` varchar(4096) DEFAULT NULL,
|
||||
`Dateiname` varchar(4096) DEFAULT NULL,
|
||||
`Dateigrosse` int DEFAULT NULL,
|
||||
`Nutzdatendatei` text,
|
||||
`Nutzdatendatei` mediumtext,
|
||||
`Auftragsdatei` varchar(1024) DEFAULT NULL,
|
||||
`SentApp8Success` tinyint NOT NULL DEFAULT '0',
|
||||
`SentDakotaSuccess` tinyint NOT NULL DEFAULT '0',
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `gkvtransferprotokoll`
|
||||
CHANGE COLUMN `Nutzdatendatei` `Nutzdatendatei` MEDIUMTEXT NULL DEFAULT NULL ;
|
||||
@@ -76,12 +76,6 @@
|
||||
</Compile>
|
||||
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
|
||||
<Compile Include="Invoicing\JugendamtInvoiceCreation.cs" />
|
||||
<Compile Include="Mitarbeiterauslastung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Mitarbeiterauslastung.designer.cs">
|
||||
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -154,9 +148,6 @@
|
||||
<EmbeddedResource Include="InvoiceCustomerReport.resx">
|
||||
<DependentUpon>InvoiceCustomerReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Mitarbeiterauslastung.resx">
|
||||
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.ServiceImplementations;
|
||||
using BS.Shared.Core;
|
||||
|
||||
|
||||
namespace BeWo.Report.DefaultReports
|
||||
{
|
||||
[IDSpecificClass(Identifier = "Mitarbeiterauslastung")]
|
||||
public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterauslastungRO>
|
||||
{
|
||||
|
||||
|
||||
public Mitarbeiterauslastung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(MitarbeiterauslastungRO pRO)
|
||||
{
|
||||
AuslastungBerechnung b = new AuslastungBerechnung();
|
||||
b.CreateReport(pRO);
|
||||
|
||||
AnalysisServiceImp analysisService = new AnalysisServiceImp();
|
||||
var analysis = analysisService.GetSupportConceptAnalysis4(null, null, null, pRO.ReportStartDate, pRO.ReportEndDate, null, false);
|
||||
|
||||
foreach (var emp in pRO.EmployeeDetailList)
|
||||
{
|
||||
foreach (var sc in emp.SupportConceptDetailList)
|
||||
{
|
||||
var hpBeteiligter = sc.SupportConceptApprovalPeriod.SupportConceptApprovalPeriod2Employee.FirstOrDefault(d => d.Employee.Oid == emp.Employee.Oid); ;
|
||||
if (hpBeteiligter != null)
|
||||
{
|
||||
var analyseDesSC = analysis.FirstOrDefault(a => a.SupportConceptOid == hpBeteiligter.SupportConceptApprovalPeriod.CostBearer2SupportConcept.SupportConcept.Oid);
|
||||
// Jetzt aus der Analyse die Über/Unterbringung ziehen, sie mit dem Anteil des MA verrechnen und in Custom3 schreiben
|
||||
if (analyseDesSC != null)
|
||||
{
|
||||
var anteiligeStunden = analyseDesSC.FLSOpenPerWeek * hpBeteiligter.Betreuungsschluessel / 100;
|
||||
sc.Custom3 = string.Format("{0:0.00}", anteiligeStunden);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,565 +0,0 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace BeWo.Report.DefaultReports
|
||||
{
|
||||
partial class Mitarbeiterauslastung
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
|
||||
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
|
||||
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.DataField = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.fieldTotalSC = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldTotalEmp = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.Expanded = false;
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel2,
|
||||
this.xrLabel1});
|
||||
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Detail1.HeightF = 50F;
|
||||
this.Detail1.KeepTogether = true;
|
||||
this.Detail1.KeepTogetherWithDetailReports = true;
|
||||
this.Detail1.Name = "Detail1";
|
||||
this.Detail1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
|
||||
this.xrLabel2.StyleName = "Title";
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "Wochenstunden: [WeeklyTotalHoursByContract!0.00], FLS/Woche: [FLSTotalHoursByCont" +
|
||||
"ract!0.00]";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")});
|
||||
this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrLabel1.Multiline = true;
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
|
||||
this.xrLabel1.StyleName = "Title";
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
//
|
||||
// xrTableDetail
|
||||
//
|
||||
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableDetail.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTableDetail.Name = "xrTableDetail";
|
||||
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRowDetail});
|
||||
this.xrTableDetail.SizeF = new System.Drawing.SizeF(748F, 25F);
|
||||
this.xrTableDetail.StylePriority.UseBorders = false;
|
||||
this.xrTableDetail.StylePriority.UseFont = false;
|
||||
this.xrTableDetail.StylePriority.UsePadding = false;
|
||||
this.xrTableDetail.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrTableRowDetail
|
||||
//
|
||||
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell3,
|
||||
this.xrTableCell19,
|
||||
this.xrTableCell2,
|
||||
this.xrTableCell28,
|
||||
this.xrTableCell8});
|
||||
this.xrTableRowDetail.Name = "xrTableRowDetail";
|
||||
this.xrTableRowDetail.Weight = 1D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.CustomerFullName")});
|
||||
this.xrTableCell3.Name = "xrTableCell3";
|
||||
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell3.StylePriority.UseFont = false;
|
||||
this.xrTableCell3.StylePriority.UsePadding = false;
|
||||
this.xrTableCell3.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell3.Text = "xrTableCell3";
|
||||
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell3.Weight = 0.18034265103697025D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.TimeRangeString", "{0:0.00}")});
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.Text = "xrTableCell19";
|
||||
this.xrTableCell19.Weight = 0.15329125338142471D;
|
||||
//
|
||||
// xrTableCell2
|
||||
//
|
||||
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.OrganisationName")});
|
||||
this.xrTableCell2.Name = "xrTableCell2";
|
||||
this.xrTableCell2.Text = "xrTableCell2";
|
||||
this.xrTableCell2.Weight = 0.15329125338142469D;
|
||||
//
|
||||
// xrTableCell28
|
||||
//
|
||||
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
|
||||
this.xrTableCell28.Name = "xrTableCell28";
|
||||
this.xrTableCell28.Text = "xrTableCell28";
|
||||
this.xrTableCell28.Weight = 0.090171325518485085D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.Custom3")});
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.Weight = 0.097385031559963892D;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1,
|
||||
this.DetailReport1});
|
||||
this.DetailReport.DataMember = "EmployeeDetailList";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// DetailReport1
|
||||
//
|
||||
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail2,
|
||||
this.GroupHeader2,
|
||||
this.GroupFooter1});
|
||||
this.DetailReport1.DataMember = "EmployeeDetailList.SupportConceptDetailList";
|
||||
this.DetailReport1.DataSource = this.bindingSource1;
|
||||
this.DetailReport1.Level = 0;
|
||||
this.DetailReport1.Name = "DetailReport1";
|
||||
//
|
||||
// Detail2
|
||||
//
|
||||
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTableDetail});
|
||||
this.Detail2.HeightF = 25F;
|
||||
this.Detail2.Name = "Detail2";
|
||||
//
|
||||
// GroupHeader2
|
||||
//
|
||||
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTableHeader});
|
||||
this.GroupHeader2.HeightF = 40F;
|
||||
this.GroupHeader2.Name = "GroupHeader2";
|
||||
this.GroupHeader2.RepeatEveryPage = true;
|
||||
//
|
||||
// xrTableHeader
|
||||
//
|
||||
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableHeader.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTableHeader.Name = "xrTableHeader";
|
||||
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRowHeader});
|
||||
this.xrTableHeader.SizeF = new System.Drawing.SizeF(748F, 40F);
|
||||
this.xrTableHeader.StylePriority.UseBorders = false;
|
||||
this.xrTableHeader.StylePriority.UseFont = false;
|
||||
this.xrTableHeader.StylePriority.UsePadding = false;
|
||||
this.xrTableHeader.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrTableRowHeader
|
||||
//
|
||||
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell5,
|
||||
this.xrTableCell4,
|
||||
this.xrTableCell1,
|
||||
this.xrTableCell9,
|
||||
this.xrTableCell7});
|
||||
this.xrTableRowHeader.Name = "xrTableRowHeader";
|
||||
this.xrTableRowHeader.Weight = 1.5999999999999996D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell5.StylePriority.UsePadding = false;
|
||||
this.xrTableCell5.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell5.Text = "Klient/in";
|
||||
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell5.Weight = 0.18034264782021736D;
|
||||
//
|
||||
// xrTableCell4
|
||||
//
|
||||
this.xrTableCell4.Name = "xrTableCell4";
|
||||
this.xrTableCell4.Text = "Zeitraum";
|
||||
this.xrTableCell4.Weight = 0.15329125478030675D;
|
||||
//
|
||||
// xrTableCell1
|
||||
//
|
||||
this.xrTableCell1.Name = "xrTableCell1";
|
||||
this.xrTableCell1.Text = "Kostenträger";
|
||||
this.xrTableCell1.Weight = 0.15329125478030678D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
this.xrTableCell9.Multiline = true;
|
||||
this.xrTableCell9.Name = "xrTableCell9";
|
||||
this.xrTableCell9.Text = "Bewilligt/Woche";
|
||||
this.xrTableCell9.Weight = 0.090171325937473845D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Text = "Tatsächliches Soll/Woche";
|
||||
this.xrTableCell7.Weight = 0.097385031983482265D;
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable1});
|
||||
this.GroupFooter1.HeightF = 60F;
|
||||
this.GroupFooter1.Level = 1;
|
||||
this.GroupFooter1.Name = "GroupFooter1";
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow1});
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(639.9999F, 25F);
|
||||
this.xrTable1.StylePriority.UseBorders = false;
|
||||
this.xrTable1.StylePriority.UseFont = false;
|
||||
this.xrTable1.StylePriority.UsePadding = false;
|
||||
this.xrTable1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
//
|
||||
// xrTableRow1
|
||||
//
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell35,
|
||||
this.xrTableCell38,
|
||||
this.xrTableCell6,
|
||||
this.cellSollGesamt});
|
||||
this.xrTableRow1.Name = "xrTableRow1";
|
||||
this.xrTableRow1.Weight = 1D;
|
||||
//
|
||||
// xrTableCell35
|
||||
//
|
||||
this.xrTableCell35.Name = "xrTableCell35";
|
||||
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell35.StylePriority.UseFont = false;
|
||||
this.xrTableCell35.StylePriority.UsePadding = false;
|
||||
this.xrTableCell35.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell35.Text = "Gesamt";
|
||||
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell35.Weight = 0.18034254096455143D;
|
||||
//
|
||||
// xrTableCell38
|
||||
//
|
||||
this.xrTableCell38.Name = "xrTableCell38";
|
||||
this.xrTableCell38.Weight = 0.15329111579090118D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Weight = 0.15329140580312939D;
|
||||
//
|
||||
// cellSollGesamt
|
||||
//
|
||||
this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
|
||||
this.cellSollGesamt.Name = "cellSollGesamt";
|
||||
this.cellSollGesamt.Text = "cellSollGesamt";
|
||||
this.cellSollGesamt.Weight = 0.090171342851318267D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO);
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.lblMonat});
|
||||
this.ReportHeader.HeightF = 60F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
//
|
||||
// lblMonat
|
||||
//
|
||||
this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Auslastung {0:MMMM yy}")});
|
||||
this.lblMonat.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
this.lblMonat.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.lblMonat.Multiline = true;
|
||||
this.lblMonat.Name = "lblMonat";
|
||||
this.lblMonat.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
|
||||
this.lblMonat.StyleName = "Title";
|
||||
this.lblMonat.StylePriority.UseFont = false;
|
||||
this.lblMonat.Text = "lblMonat";
|
||||
//
|
||||
// pageFooterBand1
|
||||
//
|
||||
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrPageInfo2,
|
||||
this.xrPageInfo1});
|
||||
this.pageFooterBand1.HeightF = 48F;
|
||||
this.pageFooterBand1.Name = "pageFooterBand1";
|
||||
//
|
||||
// xrPageInfo2
|
||||
//
|
||||
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
|
||||
this.xrPageInfo2.Format = "Seite {0} von {1}";
|
||||
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(342.4169F, 25F);
|
||||
this.xrPageInfo2.Name = "xrPageInfo2";
|
||||
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(297.5831F, 23F);
|
||||
this.xrPageInfo2.StyleName = "PageInfo";
|
||||
this.xrPageInfo2.StylePriority.UseFont = false;
|
||||
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
//
|
||||
// xrPageInfo1
|
||||
//
|
||||
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
|
||||
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
|
||||
this.xrPageInfo1.Name = "xrPageInfo1";
|
||||
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
|
||||
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(287F, 23F);
|
||||
this.xrPageInfo1.StyleName = "PageInfo";
|
||||
this.xrPageInfo1.StylePriority.UseFont = false;
|
||||
//
|
||||
// Title
|
||||
//
|
||||
this.Title.BackColor = System.Drawing.Color.White;
|
||||
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
|
||||
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.Title.BorderWidth = 1F;
|
||||
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
|
||||
this.Title.ForeColor = System.Drawing.Color.Black;
|
||||
this.Title.Name = "Title";
|
||||
//
|
||||
// FieldCaption
|
||||
//
|
||||
this.FieldCaption.BackColor = System.Drawing.Color.White;
|
||||
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
|
||||
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.FieldCaption.BorderWidth = 1F;
|
||||
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
|
||||
this.FieldCaption.Name = "FieldCaption";
|
||||
//
|
||||
// PageInfo
|
||||
//
|
||||
this.PageInfo.BackColor = System.Drawing.Color.White;
|
||||
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
|
||||
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.PageInfo.BorderWidth = 1F;
|
||||
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
|
||||
this.PageInfo.ForeColor = System.Drawing.Color.Black;
|
||||
this.PageInfo.Name = "PageInfo";
|
||||
//
|
||||
// DataField
|
||||
//
|
||||
this.DataField.BackColor = System.Drawing.Color.White;
|
||||
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
|
||||
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.DataField.BorderWidth = 1F;
|
||||
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
|
||||
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.DataField.Name = "DataField";
|
||||
//
|
||||
// fieldFLS
|
||||
//
|
||||
this.fieldFLS.DataMember = "FLSReportGroups";
|
||||
this.fieldFLS.Expression = "[TotalFLM] / 60";
|
||||
this.fieldFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldFLS.Name = "fieldFLS";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 50F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 30F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// fieldTotalSC
|
||||
//
|
||||
this.fieldTotalSC.DataMember = "EmployeeDetailList.SupportConceptDetailList";
|
||||
this.fieldTotalSC.Expression = "[DirectIst]+[MittelbarIst]";
|
||||
this.fieldTotalSC.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldTotalSC.Name = "fieldTotalSC";
|
||||
//
|
||||
// fieldTotalEmp
|
||||
//
|
||||
this.fieldTotalEmp.DataMember = "EmployeeDetailList";
|
||||
this.fieldTotalEmp.Expression = "[DirectIst]+[MittelbarIst]";
|
||||
this.fieldTotalEmp.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldTotalEmp.Name = "fieldTotalEmp";
|
||||
//
|
||||
// Mitarbeiterauslastung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.DetailReport,
|
||||
this.ReportHeader,
|
||||
this.pageFooterBand1,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1});
|
||||
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
|
||||
this.fieldFLS,
|
||||
this.fieldTotalSC,
|
||||
this.fieldTotalEmp});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.Margins = new System.Drawing.Printing.Margins(49, 30, 50, 30);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
|
||||
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
|
||||
this.Title,
|
||||
this.FieldCaption,
|
||||
this.PageInfo,
|
||||
this.DataField});
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail1;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
|
||||
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblMonat;
|
||||
private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1;
|
||||
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
|
||||
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
|
||||
private DevExpress.XtraReports.UI.XRControlStyle Title;
|
||||
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
|
||||
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
|
||||
private DevExpress.XtraReports.UI.XRControlStyle DataField;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTableHeader;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRowHeader;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTableDetail;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRowDetail;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldFLS;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
|
||||
private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt;
|
||||
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail2;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldTotalSC;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldTotalEmp;
|
||||
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
|
||||
}
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -31,6 +31,7 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
@@ -39,6 +40,7 @@
|
||||
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Xpo.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
|
||||
@@ -66,18 +66,18 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing
|
||||
|
||||
if (ii.ItemDescription.ToLower().Contains("gruppe"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 45)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2002678"; // 2 bis 5 Teilnehmer
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration <= 60)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2002677"; // 2 bis 5 Teilnehmer
|
||||
}
|
||||
else
|
||||
{
|
||||
//if (iServiceRecord.RoundedDuration <= 45)
|
||||
//{
|
||||
// ii.UnitDescription = "GPos: 2002678"; // 2 bis 5 Teilnehmer
|
||||
//}
|
||||
//else if (iServiceRecord.RoundedDuration <= 60)
|
||||
//{
|
||||
// ii.UnitDescription = "GPos: 2002677"; // 2 bis 5 Teilnehmer
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
ii.UnitDescription = "GPos: 2002672"; // 2 bis 5 Teilnehmer - 90 Min
|
||||
}
|
||||
//}
|
||||
// Gibt 2 Preise, einmal für Funktion Primärkasse und einmal für Funktion Ersatzkasse
|
||||
var preisGruppe = GetGruppenPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value);
|
||||
ii.AmountPerUnit = preisGruppe;
|
||||
@@ -92,17 +92,13 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing
|
||||
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
|
||||
ii.GrossAmountTotal = ii.AmountTotal;
|
||||
|
||||
if (ii.ItemDescription.ToLower().Contains("probatorik"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001607";
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("video"))
|
||||
if (ii.ItemDescription.ToLower().Contains("video"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001616";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
else
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001615";
|
||||
}
|
||||
@@ -113,30 +109,38 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001618";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 30)
|
||||
else
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001617";
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (ii.ItemDescription.ToLower().Contains("aufsuchende einheit"))
|
||||
{
|
||||
if (iServiceRecord.RoundedDuration <= 10)
|
||||
if (iServiceRecord.RoundedDuration <= 30)
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001613";
|
||||
ii.UnitDescription = "GPos: 2001612 / 2009690";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration <= 30)
|
||||
else
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001612";
|
||||
ii.UnitDescription = "GPos: 2001610 / 2009690";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration <= 45)
|
||||
}
|
||||
else if (ii.ItemDescription.ToLower().Contains("probatorik"))
|
||||
{
|
||||
if (ii.ItemDescription.ToLower().Contains("aufsuchend"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001611";
|
||||
ii.UnitDescription = "GPos: 2001607 / 2009690";
|
||||
}
|
||||
else if (iServiceRecord.RoundedDuration > 45)
|
||||
else if (ii.ItemDescription.ToLower().Contains("büro"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001610";
|
||||
ii.UnitDescription = "GPos: 2001607";
|
||||
}
|
||||
}
|
||||
|
||||
else if (ii.ItemDescription.ToLower().Contains("büro-einheit"))
|
||||
{
|
||||
ii.UnitDescription = "GPos: 2001610";
|
||||
}
|
||||
}
|
||||
|
||||
return ii;
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace DiakonischesWerkDinslakenSozio
|
||||
{
|
||||
s.IsGroup = true;
|
||||
gesamtGruppe += s.Minutes;
|
||||
s.ServiceDescription = "E";
|
||||
s.ServiceDescription = "G";
|
||||
s.Notice5 = "2002672";
|
||||
}
|
||||
else
|
||||
@@ -71,11 +71,11 @@ namespace DiakonischesWerkDinslakenSozio
|
||||
s.ServiceDescription = "V";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001615";
|
||||
s.Notice5 = "2001616";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001616";
|
||||
s.Notice5 = "2001615";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Telefon"))
|
||||
@@ -90,27 +90,37 @@ namespace DiakonischesWerkDinslakenSozio
|
||||
s.Notice5 = "2001617";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Probe"))
|
||||
{
|
||||
s.Notice5 = "2001607";
|
||||
}
|
||||
|
||||
else if (s.ServiceDescription.Contains("Einrichtung") || s.ServiceDescription == "E" || s.ServiceDescription.Contains("Gruppe"))
|
||||
{
|
||||
s.ServiceDescription = "E";
|
||||
}
|
||||
else
|
||||
else if (s.ServiceDescription.Contains("Aufsuchende Einheit"))
|
||||
{
|
||||
s.ServiceDescription = "A";
|
||||
if (s.Minutes <= 30)
|
||||
{
|
||||
s.Notice5 = "2001612";
|
||||
s.Notice5 = "2001612 / 2009690";
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Notice5 = "2001610";
|
||||
s.Notice5 = "2001610 / 2009690";
|
||||
}
|
||||
}
|
||||
else if (s.ServiceDescription.Contains("Probatorik"))
|
||||
{
|
||||
if (s.ServiceDescription.ToLower().Contains("aufsuchend"))
|
||||
{
|
||||
s.ServiceDescription = "AP";
|
||||
s.Notice5 = "2001607 / 2009690";
|
||||
}
|
||||
else if (s.ServiceDescription.ToLower().Contains("büro"))
|
||||
{
|
||||
s.ServiceDescription = "P";
|
||||
s.Notice5 = "2001607";
|
||||
}
|
||||
}
|
||||
|
||||
else if (s.ServiceDescription.Contains("Büro-Einheit"))
|
||||
{
|
||||
s.ServiceDescription = "E";
|
||||
s.Notice5 = "2001610";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,10 +88,10 @@ namespace BeWo.Service.Core
|
||||
|
||||
public static bool SendMail(string subject, string body, string toAddress)
|
||||
{
|
||||
return SendMail(null, null, subject, body, toAddress);
|
||||
return SendMail(subject, body, toAddress, null, null);
|
||||
}
|
||||
|
||||
public static bool SendMail(string senderName, string senderEMail, string subject, string body, string toAddress)
|
||||
public static bool SendMail(string subject , string body, string toAddress, string senderName, string senderEMail)
|
||||
{
|
||||
var server = ConfigurationManager.AppSettings.Get("SmptServer");
|
||||
var user = ConfigurationManager.AppSettings.Get("SmtpUser");
|
||||
@@ -114,27 +114,28 @@ namespace BeWo.Service.Core
|
||||
var body2 = "Kunde: " + MultitenancyOperationContextExt.Current.Tenant;
|
||||
//body2 += "\r\nIP: " + GetClientIP();
|
||||
body += "\n\n" + body2;
|
||||
//}
|
||||
//}
|
||||
|
||||
|
||||
|
||||
//if (to.Equals())
|
||||
|
||||
return SendMail(senderEMail.Trim(), senderName, to, subject, body, server, user, pass, sendAsync);
|
||||
|
||||
}
|
||||
senderEMail = senderEMail.Trim();
|
||||
|
||||
public static bool SendMail(string fromEMail, string fromName, string to, string subject, string body, string smtpServer, string smtpUser, string smtpPassword, bool sendAsync)
|
||||
return SendMail(subject, body, to, senderName, senderEMail, server, user, pass, sendAsync);
|
||||
}
|
||||
|
||||
public static bool SendMail(string subject, string body, string toAddress, string senderName, string senderEMail, string smtpServer, string smtpUser, string smtpPassword, bool sendAsync)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!IsValidEmail(to) || !IsValidEmail(fromEMail))
|
||||
if (!IsValidEmail(toAddress) || !IsValidEmail(senderEMail))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
String from = fromEMail;
|
||||
String from = senderEMail;
|
||||
|
||||
if (to.Equals("support@bewoplaner.de"))
|
||||
if (toAddress.Equals("support@bewoplaner.de"))
|
||||
{
|
||||
var supportSenderMail = ConfigurationManager.AppSettings.Get("SupportSenderEMail");
|
||||
if (String.IsNullOrEmpty(supportSenderMail))
|
||||
@@ -146,20 +147,20 @@ namespace BeWo.Service.Core
|
||||
|
||||
|
||||
MailMessage message = null;
|
||||
if (String.IsNullOrEmpty(fromName))
|
||||
message = new MailMessage(from, to, subject, body);
|
||||
if (String.IsNullOrEmpty(senderName))
|
||||
message = new MailMessage(from, toAddress, subject, body);
|
||||
else
|
||||
{
|
||||
MailAddress fromMailAddress = new MailAddress(from);
|
||||
MailAddress toMailAddress = new MailAddress(to);
|
||||
MailAddress toMailAddress = new MailAddress(toAddress);
|
||||
|
||||
message = new MailMessage(fromMailAddress, toMailAddress);
|
||||
message.Subject = subject;
|
||||
message.Body = body;
|
||||
}
|
||||
if (fromEMail != from)
|
||||
if (senderEMail != from)
|
||||
{
|
||||
message.ReplyToList.Add(new MailAddress(fromEMail, fromName));
|
||||
message.ReplyToList.Add(new MailAddress(senderEMail, senderName));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
if (isReady)
|
||||
{
|
||||
if(!DakotaValidator.IsOrganisationInformationValid(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse, orga.BezDatenannahmestelle))
|
||||
if(!Validator.IsOrganisationInformationValid(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse, orga.BezDatenannahmestelle))
|
||||
{
|
||||
isReady = false;
|
||||
tooltip = "Organisation fehlen Informationen";
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
pDataContract.CustomerFirstName = customer.Person.FirstName;
|
||||
pDataContract.CustomerLastName = customer.Person.LastName;
|
||||
var error = DakotaValidator.ValidateCustomer(customer.InsuranceNumber, customer.VersichertenStatus);
|
||||
var error = Validator.ValidateCustomer(customer.InsuranceNumber, customer.VersichertenStatus);
|
||||
pDataContract.IsGkvValidError = error;
|
||||
pDataContract.IsGkvValid = error is null;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
|
||||
namespace BeWo.Service.DCEntityMapper
|
||||
{
|
||||
@@ -30,6 +32,13 @@ namespace BeWo.Service.DCEntityMapper
|
||||
#endif
|
||||
pDataContract.Apikey = pEntity.Apikey;
|
||||
pDataContract.IKLeistungserbringer = pEntity.IKLeistungserbringer;
|
||||
var can_edit = GetCanEditIKLeistungserbringer();
|
||||
|
||||
pDataContract.CanEditIKLeistungserbringer = can_edit;
|
||||
pDataContract.CanEditIKLeistungserbringerTooltip = can_edit ? null :
|
||||
"Mit dem Senden mind. einer GKV Abrechnung haben Sie sich bereits\n" +
|
||||
"mit dieser IK bei uns registiert. Bei Änderungswunsch wenden Sie\n" +
|
||||
"sich bitte an unseren Support.";
|
||||
|
||||
return pDataContract;
|
||||
}
|
||||
@@ -65,5 +74,21 @@ namespace BeWo.Service.DCEntityMapper
|
||||
|
||||
return pDC.MandatorOid == pEntity.Oid;
|
||||
}
|
||||
|
||||
private bool GetCanEditIKLeistungserbringer()
|
||||
{
|
||||
try
|
||||
{
|
||||
var row_count = DAOFactory.GenericDAO.GetRowCount<GkvTransferProtokoll>();
|
||||
|
||||
return row_count == 0;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using BeWo.Data;
|
||||
using BS.Shared.Core;
|
||||
|
||||
namespace BeWo.Service.Plugins
|
||||
@@ -391,7 +392,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "7653029063"; // SkF Leverkusen JuHi
|
||||
//t = "1453324901"; // Akkurat
|
||||
//t = "5000000000";
|
||||
//t = "5564670353"; // Mittelpunkt GbR
|
||||
t = "5564670353"; // Mittelpunkt GbR
|
||||
//t = "3788859817"; // Zukunft Leben (Stephan Hekermann)
|
||||
//t = "2663321234"; // Aachener Laienhelfer Initiative e.V.
|
||||
//t = "6290975576"; // Caritasverband Kelheim
|
||||
|
||||
@@ -335,7 +335,7 @@ namespace BeWo.Service.Plugins
|
||||
{
|
||||
var res = new List<long>();
|
||||
var filters = new List<string> { "URLAUB" };
|
||||
var reasons = DAOFactory.GenericDAO.GetAllActive<AbsenceReason>();
|
||||
var reasons = DAOFactory.GenericDAO.GetAll<AbsenceReason>();
|
||||
|
||||
foreach (var reason in reasons)
|
||||
{
|
||||
|
||||
@@ -1007,12 +1007,12 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var manager = new DakotaManager();
|
||||
var mandatordc = new OperationsServiceImp().GetMandator();
|
||||
|
||||
DakotaValidator.ValidateMandator(mandatordc);
|
||||
Validator.ValidateMandator(mandatordc);
|
||||
|
||||
var gkvAbrechnungDC = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkvAbrechnung);
|
||||
var orgadc = gkvAbrechnungDC.Organisation;
|
||||
|
||||
DakotaValidator.ValidateOrganisation(orgadc);
|
||||
Validator.ValidateOrganisation(orgadc);
|
||||
|
||||
var datenannahmestelle = orgadc.IKDatenannahmestelle;
|
||||
var (datenaustauschreferenz, transfernummer) = GetNextDatenaustauschreferenzTransfernummer(gkvAbrechnung, datenannahmestelle);
|
||||
@@ -1032,7 +1032,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
var servicedc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(service);
|
||||
var customerdc = MapperFactory.CustomerDC_Customer.MapToNewDC(customer);
|
||||
|
||||
DakotaValidator.ValidateCustomer(customerdc);
|
||||
Validator.ValidateCustomer(customerdc);
|
||||
|
||||
manager.Add(servicedc, orgadc, customerdc, mandatordc, dat_short, tra_short);
|
||||
}
|
||||
|
||||
@@ -859,7 +859,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
IList<Organisation> list = DAOFactory.GenericDAO.GetAllActiveAndArchived<Organisation>();
|
||||
|
||||
list = list.Where(x => DakotaValidator.IsOrganisationInformationValid(x.IKDatenannahmestelle, x.IKKostentrager, x.IKKrankenkasse, x.BezDatenannahmestelle)).ToList();
|
||||
list = list.Where(x => Validator.IsOrganisationInformationValid(x.IKDatenannahmestelle, x.IKKostentrager, x.IKKrankenkasse, x.BezDatenannahmestelle)).ToList();
|
||||
|
||||
return CreateCompactOrganisations(list);
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
|
||||
}
|
||||
return Utils.SendMail(senderName, senderEMail, subject, body, null);
|
||||
return Utils.SendMail(subject, body, null, senderName, senderEMail);
|
||||
}
|
||||
|
||||
private MailDC CreateMailDC(Mail2Receiver m2r)
|
||||
|
||||
@@ -1297,4 +1297,13 @@ namespace BS.Shared
|
||||
Erprobung,
|
||||
Echt
|
||||
}
|
||||
|
||||
public enum ValidationType
|
||||
{
|
||||
CustomerVersichertenstatus,
|
||||
CustomerVersichertennummer,
|
||||
OrganisationIKNumber,
|
||||
OrganisationLeistungserbringergruppe,
|
||||
OrganisationBezDatenannahmestelle
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,49 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BS.Shared.Core
|
||||
{
|
||||
public static class DakotaValidator
|
||||
public static class Validator
|
||||
{
|
||||
public static bool? IsValid(ValidationType val_type, string val_str)
|
||||
{
|
||||
if (string.IsNullOrEmpty(val_str))
|
||||
return null;
|
||||
|
||||
switch (val_type)
|
||||
{
|
||||
case ValidationType.CustomerVersichertenstatus:
|
||||
return IsVersichertenstatusValid(val_str);
|
||||
case ValidationType.CustomerVersichertennummer:
|
||||
return IsVersichertennummerValid(val_str);
|
||||
case ValidationType.OrganisationIKNumber:
|
||||
return IsIKNumberValid(val_str);
|
||||
case ValidationType.OrganisationLeistungserbringergruppe:
|
||||
return IsLeistungserbringergruppeValid(val_str);
|
||||
case ValidationType.OrganisationBezDatenannahmestelle:
|
||||
return IsBezDatenannahmestelleValid(val_str);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string InvalidTooltipTxt(ValidationType val_type)
|
||||
{
|
||||
switch (val_type)
|
||||
{
|
||||
case ValidationType.CustomerVersichertenstatus:
|
||||
return "CustomerVersichertenstatus invalid";
|
||||
case ValidationType.CustomerVersichertennummer:
|
||||
return "CustomerVersichertennummer invalid";
|
||||
case ValidationType.OrganisationIKNumber:
|
||||
return "OrganisationIKNumber invalid";
|
||||
case ValidationType.OrganisationLeistungserbringergruppe:
|
||||
return "OrganisationLeistungserbringergruppe invalid";
|
||||
case ValidationType.OrganisationBezDatenannahmestelle:
|
||||
return "OrganisationBezDatenannahmestelle invalid";
|
||||
}
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
public static string ValidateCustomer(string insuranceNumber, string versichertenStatus)
|
||||
{
|
||||
bool valid_number = IsVersichertennummerValid(insuranceNumber);
|
||||
@@ -26,21 +67,14 @@ namespace BS.Shared.Core
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validiert in erster Phase den Mandator.
|
||||
/// </summary>
|
||||
public static void ValidateMandator(MandatorDC mandatordc)
|
||||
{
|
||||
if (mandatordc == null)
|
||||
throw new GkvException("Mandator ist null");
|
||||
|
||||
if (!DakotaValidator.IsIKNumberValid(mandatordc.IKLeistungserbringer))
|
||||
if (!Validator.IsIKNumberValid(mandatordc.IKLeistungserbringer))
|
||||
throw new GkvException($"Die IK Nummer des Leistungserbringers \"{mandatordc.IKLeistungserbringer}\" ist ungültig.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validiert in zweiter Phase die Daten. Bei Fehler wird eine DakotaException geworfen.
|
||||
/// </summary>
|
||||
public static void ValidateCustomer(CustomerDC customerDC)
|
||||
{
|
||||
string error = null;
|
||||
@@ -55,7 +89,6 @@ namespace BS.Shared.Core
|
||||
if (error != null)
|
||||
throw new GkvException(error);
|
||||
}
|
||||
|
||||
public static void ValidateOrganisation(OrganisationDC orga)
|
||||
{
|
||||
string error = null;
|
||||
@@ -76,17 +109,22 @@ namespace BS.Shared.Core
|
||||
if (error != null)
|
||||
throw new GkvException(error);
|
||||
}
|
||||
|
||||
public static bool IsOrganisationInformationValid(string ik_datenannahmestelle, string ik_kostentrager, string ik_krankenkasse, string bez_datenannahmestelle)
|
||||
=> IsIKNumberValid(ik_datenannahmestelle, ik_kostentrager, ik_krankenkasse) && !string.IsNullOrEmpty(bez_datenannahmestelle);
|
||||
=> IsIKNumberValid(ik_datenannahmestelle, ik_kostentrager, ik_krankenkasse) && IsBezDatenannahmestelleValid(bez_datenannahmestelle);
|
||||
public static bool IsIKNumberValid(params string[] iks)
|
||||
=> iks?.All(IsIKNumberValid) ?? false;
|
||||
|
||||
public static bool IsBezDatenannahmestelleValid(string bez_datenannahmestelle)
|
||||
{
|
||||
return !string.IsNullOrWhiteSpace(bez_datenannahmestelle);
|
||||
}
|
||||
public static bool IsIKNumberValid(string iknummer)
|
||||
{
|
||||
if (iknummer == null)
|
||||
return false;
|
||||
|
||||
iknummer = iknummer.Trim();
|
||||
|
||||
if (iknummer.Length != 9)
|
||||
return false;
|
||||
|
||||
@@ -97,7 +135,12 @@ namespace BS.Shared.Core
|
||||
if (nummer == null)
|
||||
return false;
|
||||
|
||||
if (nummer.Length < 10)
|
||||
nummer = nummer.Trim();
|
||||
|
||||
if (nummer.Length < 6)
|
||||
return false;
|
||||
|
||||
if (nummer.Length > 12)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -107,7 +150,15 @@ namespace BS.Shared.Core
|
||||
if (status == null)
|
||||
return false;
|
||||
|
||||
if (status.Length != 5 && status.Length != 7)
|
||||
status = status.Trim();
|
||||
|
||||
if (status.Length == 0)
|
||||
return false;
|
||||
|
||||
if (status.Length == 6)
|
||||
return false;
|
||||
|
||||
if (status.Length >= 8)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -117,6 +168,8 @@ namespace BS.Shared.Core
|
||||
if (code == null)
|
||||
return false;
|
||||
|
||||
code = code.Trim();
|
||||
|
||||
if (code.Length != 5 && code.Length != 7)
|
||||
return false;
|
||||
|
||||
@@ -58,5 +58,11 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public string IKLeistungserbringer { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public bool CanEditIKLeistungserbringer { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CanEditIKLeistungserbringerTooltip { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -135,7 +135,7 @@
|
||||
<Compile Include="BeWoEntityEnums.cs" />
|
||||
<Compile Include="Core\ComplexWohnheimbuchungsRelationHelper.cs" />
|
||||
<Compile Include="Core\AbstractIDSpecificDefaultClass.cs" />
|
||||
<Compile Include="Core\DakotaValidator.cs" />
|
||||
<Compile Include="Core\Validator.cs" />
|
||||
<Compile Include="Core\DebugUtils.cs" />
|
||||
<Compile Include="Core\ImageUtils.cs" />
|
||||
<Compile Include="Core\PersonFilterEnum.cs" />
|
||||
|
||||
Reference in New Issue
Block a user