This commit is contained in:
Christian
2023-01-17 00:12:33 +01:00
parent 25200b6ec8
commit f3cc657a00
33 changed files with 767 additions and 337 deletions

View File

@@ -8,6 +8,7 @@
xmlns:Shared="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Leistungskategorien" Style="{StaticResource ObjectEditGroupBox}">
@@ -27,33 +28,38 @@
<ColumnDefinition Width="100" />
<ColumnDefinition Width="30" />
<ColumnDefinition Width="150" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="60" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0">Bezeichnung</Label>
<TextBox Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="3" Grid.Row="0">Kürzel</Label>
<TextBox Grid.Column="4" Grid.Row="0" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Abbreviation, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2">
Max. Anteil in % (100 für unbeschränkt)
</Label>
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="4" Grid.Row="1" Margin="3" Height="23" EditValue="{Binding Path=NewVM.Percentage, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2" Content="{t:Translate Prozent Abrechenbar}"/>
<Label Grid.Column="2" Grid.Row="3" Grid.ColumnSpan="2" Content="{t:Translate Prozent Budget}"/>
<Label Grid.Column="2" Grid.Row="4" Grid.ColumnSpan="2" Content="{t:Translate Prozent Stundenkonto}"/>
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="3" Grid.Row="2" Grid.ColumnSpan="2" Margin="3" Height="23" EditValue="{Binding Path=NewVM.Percentage, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="3" Grid.Row="3" Grid.ColumnSpan="2" Margin="3" Height="23" EditValue="{Binding Path=NewVM.ProzentBudget, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="3" Grid.Row="4" Grid.ColumnSpan="2" Margin="3" Height="23" EditValue="{Binding Path=NewVM.ProzentStundenkonto, UpdateSourceTrigger=PropertyChanged}" />
<Label Content="Position" Grid.Column="3" Grid.Row="2" HorizontalAlignment="Left" Margin="-2,0,0,0"/>
<dxe:SpinEdit EditValueType="{x:Type sys:Int32}" MinValue="0" Margin="3" IsFloatValue="False" Grid.Column="4" Grid.Row="2" Height="23" EditValue="{Binding Path=NewVM.Position, UpdateSourceTrigger=PropertyChanged}" />
<Label Content="Position" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Left" Margin="-2,0,0,0"/>
<dxe:SpinEdit EditValueType="{x:Type sys:Int32}" MinValue="0" Margin="3" IsFloatValue="False" Grid.Column="4" Grid.Row="1" Height="23" EditValue="{Binding Path=NewVM.Position, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="1">Abrechenbar</Label>
<CheckBox Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Margin="3,1,3,3" IsChecked="{Binding Path=NewVM.IsBillable, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="2">Abrechenbar</Label>
<CheckBox Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" Margin="3,1,3,3" IsChecked="{Binding Path=NewVM.IsBillable, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="2">Sichtbarkeit</Label>
<Label Grid.Column="0" Grid.Row="1">Sichtbarkeit</Label>
<ComboBox x:Name="combo_approvedvisibility"
Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" Margin="3,1,3,3" Grid.ColumnSpan="2"
Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Margin="3,1,3,3" Grid.ColumnSpan="2"
HorizontalAlignment="Stretch"
ItemsSource="{x:Static core:EnumTranslations.Accountingvisibility2Translations}"
SelectedValue="{Binding NewVM.OhneHilfeplan, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
@@ -63,15 +69,15 @@
</Grid>
<Border Grid.Row="0" Grid.Column="1" Margin="10,3,3,3" BorderThickness="1,0,0,0" BorderBrush="#FF888888" Padding="3,0,0,0">
<Grid >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<localView:CostRatePeriodControl Grid.ColumnSpan="2" CostRateType="{x:Static Shared:CostRatePeriodType.AmountOfMoney}"
VM="{Binding NewVM.CostRatePeriods}" Foreground="#FF000000"
@@ -82,12 +88,12 @@
<Label Grid.Column="0"
Grid.Row="2"
Grid.Row="1"
Content="Abrechnungsintervall" Margin="3,6,3,0" Padding="0"
/>
<ComboBox x:Name="combo_approvedIntervall"
HorizontalAlignment="Stretch"
Margin="3" Grid.Row="2"
Margin="3" Grid.Row="1"
ItemsSource="{x:Static core:EnumTranslations.AccountingInterval2Translations}"
SelectedValue="{Binding NewVM.AccountingInterval, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Key"
@@ -107,11 +113,13 @@
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="column_position" FieldName="Position" Header="Position" Width="70" />
<dxg:GridColumn x:Name="column_position" FieldName="Position" Header="Position" Width="60" />
<dxg:GridColumn FieldName="Name" Header="Bezeichnung" Width="200" />
<dxg:GridColumn FieldName="Abbreviation" Header="Kürzel" Width="100" />
<dxg:GridColumn FieldName="Percentage" Header="max. Anteil (%)" Width="100" />
<dxg:GridColumn FieldName="Abbreviation" Header="Kürzel" Width="50" />
<dxg:GridColumn FieldName="IsBillable" Header="Abrechenbar" Width="100" />
<dxg:GridColumn FieldName="Percentage" Header="Prozent Abrechenbar" Width="130" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
<dxg:GridColumn FieldName="ProzentBudget" Header="Prozent Budget" Width="100" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
<dxg:GridColumn FieldName="ProzentStundenkonto" Header="Prozent Stundenkonto" Width="130" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
<dxg:GridColumn x:Name="column_visibility" FieldName="OhneHilfeplan" Header="Sichtbarkeit" Width="150" />
<dxg:GridColumn x:Name="column_costrateperiods" FieldName="CurrentAmount.CostRateValue" Header="Betrag" Width="60" EditSettings="{dxe:TextSettings DisplayFormat=c, EditFormat=c, MaskCulture=de}">
<dxg:GridColumn.EditTemplate>

View File

@@ -9,14 +9,15 @@
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Leistungen" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -25,19 +26,22 @@
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="Auto" />
<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.Column="0" Grid.Row="0">Bezeichnung</Label>
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="2" Grid.Row="0">Kategorie</Label>
<controls:NullItemComboBox Name="combobox_categories" Grid.Column="3" Grid.Row="0" Height="23" ItemsSource="{Binding Path=PossibleCategories, Mode=OneWay}" Margin="3" SelectedItem="{val:ValidationBinding Path=NewVM.ServiceCategory}" SelectionChanged="Combobox_categories_OnSelected">
<TextBox Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="3" Height="23" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="1">Kategorie</Label>
<controls:NullItemComboBox Name="combobox_categories" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" Height="23" ItemsSource="{Binding Path=PossibleCategories, Mode=OneWay}" Margin="3" SelectedItem="{val:ValidationBinding Path=NewVM.ServiceCategory}" SelectionChanged="Combobox_categories_OnSelected">
<ComboBox.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Grid>
@@ -62,9 +66,17 @@
</ComboBox.ItemContainerStyle>
</controls:NullItemComboBox>
<Label Content="Position" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left"/>
<Label Content="Position" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Grid.ColumnSpan="2" />
<dxe:SpinEdit EditValueType="{x:Type sys:Int32}" MinValue="0" Margin="3" IsFloatValue="False" Grid.Column="1" Grid.Row="1" Height="23" EditValue="{Binding Path=NewVM.Position, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit EditValueType="{x:Type sys:Int32}" MinValue="0" Margin="3" IsFloatValue="False" Grid.Column="2" Grid.Row="2" Height="23" EditValue="{Binding Path=NewVM.Position, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Content="{t:Translate Prozent Abrechenbar}"/>
<Label Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" Content="{t:Translate Prozent Budget}"/>
<Label Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2" Content="{t:Translate Prozent Stundenkonto}"/>
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="2" Grid.Row="3" Margin="3" Height="23" EditValue="{Binding Path=NewVM.Percentage, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="2" Grid.Row="4" Margin="3" Height="23" EditValue="{Binding Path=NewVM.ProzentBudget, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit IsFloatValue="True" MinValue="0" MaxValue="100" Increment="10" Grid.Column="2" Grid.Row="5" Margin="3" Height="23" EditValue="{Binding Path=NewVM.ProzentStundenkonto, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
@@ -75,8 +87,9 @@
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<localView:CostRatePeriodControl Grid.ColumnSpan="2" CostRateType="{x:Static Shared:CostRatePeriodType.AmountOfMoney}"
VM="{Binding NewVM.CostRatePeriods}" Foreground="#FF000000"
@@ -111,6 +124,7 @@
<dxg:GridColumn FieldName="Position" Header="Position" Width="70" />
<dxg:GridColumn FieldName="Name" Header="Bezeichnung" Width="200" />
<dxg:GridColumn x:Name="column_category" FieldName="ServiceCategory" Header="Kategorie" Width="200" SortOrder="Ascending" />
<dxg:GridColumn x:Name="column_costrateperiods" FieldName="CurrentAmount.CostRateValue" Header="Betrag" Width="60" EditSettings="{dxe:TextSettings DisplayFormat=c, EditFormat=c}">
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
@@ -121,6 +135,9 @@
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="column_interval" FieldName="AccountingInterval" Header="Abrechnungsintervall" Width="130" />
<dxg:GridColumn FieldName="ProzentAbrechenbar" Header="Prozent Abrechenbar" Width="130" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
<dxg:GridColumn FieldName="ProzentBudget" Header="Prozent Budget" Width="100" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
<dxg:GridColumn FieldName="ProzentStundenkonto" Header="Prozent Stundenkonto" Width="130" EditSettings="{dxe:TextSettings DisplayFormat=0.##, Mask=f2, MaskType=Numeric}"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />

View File

@@ -24,6 +24,10 @@ namespace BeWo.ViewModel
public static string PropertyName_Percentage = "Percentage";
public static string PropertyName_ProzentBudget = "ProzentBudget";
public static string PropertyName_ProzentStundenkonto = "ProzentStundenkonto";
public static string PropertyName_Position = "Position";
public static string PropertyName_BillableAmount = "BillableAmount";
@@ -50,6 +54,10 @@ namespace BeWo.ViewModel
private decimal _Percentage;
private decimal? _ProzentBudget;
private decimal? _ProzentStundenkonto;
private int _Position;
private decimal _BillableAmount;
@@ -149,6 +157,37 @@ namespace BeWo.ViewModel
}
}
public decimal? ProzentBudget
{
get { return this._ProzentBudget; }
set
{
if (this.AreDifferent(this._ProzentBudget, value))
{
this._ProzentBudget = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ProzentBudget, value), PropertyName_ProzentBudget);
this.FirePropertyChanged(PropertyName_ProzentBudget);
}
}
}
public decimal? ProzentStundenkonto
{
get { return this._ProzentStundenkonto; }
set
{
if (this.AreDifferent(this._ProzentStundenkonto, value))
{
this._ProzentStundenkonto = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ProzentStundenkonto, value), PropertyName_ProzentStundenkonto);
this.FirePropertyChanged(PropertyName_ProzentStundenkonto);
}
}
}
public int Position
{
get { return this._Position; }
@@ -267,6 +306,8 @@ namespace BeWo.ViewModel
this._Name = pDataContract.Name;
this._Abbreviation = pDataContract.Abbreviation;
this._Percentage = pDataContract.Percentage;
this._ProzentBudget = pDataContract.ProzentBudget;
this._ProzentStundenkonto = pDataContract.ProzentStundenkonto;
this._IsBillable = pDataContract.IsBillable;
this._OhneHilfeplan = pDataContract.OhneHilfeplan;
this._IsDeleteable = !pDataContract.IsSystemEntry;
@@ -323,6 +364,8 @@ namespace BeWo.ViewModel
pDataContract.IsBillable = this._IsBillable;
pDataContract.OhneHilfeplan = this._OhneHilfeplan;
pDataContract.Percentage = this._Percentage;
pDataContract.ProzentStundenkonto = this._ProzentStundenkonto;
pDataContract.ProzentBudget = this._ProzentBudget;
pDataContract.Position = this._Position;
pDataContract.BillableAmount = this._BillableAmount;
pDataContract.AccountingInterval = this._AccountingInterval;

View File

@@ -39,6 +39,12 @@ namespace BeWo.ViewModel
public static string PropertyName_DoNotCheckOverlapping = "DoNotCheckOverlapping";
public static string PropertyName_ProzentAbrechenbar = "ProzentAbrechenbar";
public static string PropertyName_ProzentBudget = "ProzentBudget";
public static string PropertyName_ProzentStundenkonto = "ProzentStundenkonto";
private string _CategoryName;
private bool _IsDeleteable = true;
@@ -63,6 +69,12 @@ namespace BeWo.ViewModel
private CostRatePeriodListVM _CostRatePeriods;
private decimal? _ProzentAbrechenbar;
private decimal? _ProzentBudget;
private decimal? _ProzentStundenkonto;
public ServiceDescriptionVM(ServiceDescriptionDC pDataContract)
: base(pDataContract, pDataContract.ServiceDescriptionOid == null)
{
@@ -198,6 +210,50 @@ namespace BeWo.ViewModel
}
}
public decimal? ProzentAbrechenbar
{
get { return this._ProzentAbrechenbar; }
set
{
if (this.AreDifferent(this._ProzentAbrechenbar, value))
{
this._ProzentAbrechenbar = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ProzentAbrechnung, value), PropertyName_ProzentAbrechenbar);
this.FirePropertyChanged(PropertyName_ProzentAbrechenbar);
}
}
}
public decimal? ProzentBudget
{
get { return this._ProzentBudget; }
set
{
if (this.AreDifferent(this._ProzentBudget, value))
{
this._ProzentBudget = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ProzentBudget, value), PropertyName_ProzentBudget);
this.FirePropertyChanged(PropertyName_ProzentBudget);
}
}
}
public decimal? ProzentStundenkonto
{
get { return this._ProzentStundenkonto; }
set
{
if (this.AreDifferent(this._ProzentStundenkonto, value))
{
this._ProzentStundenkonto = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ProzentStundenkonto, value), PropertyName_ProzentStundenkonto);
this.FirePropertyChanged(PropertyName_ProzentStundenkonto);
}
}
}
public CostRatePeriodListVM CostRatePeriods
{
get { return _CostRatePeriods; }
@@ -275,6 +331,9 @@ namespace BeWo.ViewModel
_AccountingInterval = pDataContract.AccountingInterval;
_Unit = pDataContract.Unit;
_ScopeType = pDataContract.ScopeType;
_ProzentAbrechenbar = pDataContract.ProzentAbrechnung;
_ProzentBudget = pDataContract.ProzentBudget;
_ProzentStundenkonto = pDataContract.ProzentStundenkonto;
_IsDefault = pDataContract.IsDefault;
_DoNotCheckOverlapping = pDataContract.DoNotCheckOverlapping;
}
@@ -325,6 +384,9 @@ namespace BeWo.ViewModel
pDataContract.AccountingInterval = _AccountingInterval;
pDataContract.Unit = _Unit;
pDataContract.DoNotCheckOverlapping = _DoNotCheckOverlapping;
pDataContract.ProzentAbrechnung = _ProzentAbrechenbar;
pDataContract.ProzentBudget = _ProzentBudget;
pDataContract.ProzentStundenkonto = _ProzentStundenkonto;
}
pDataContract.CostRatePeriods = new List<CostRatePeriodDC>();

View File

@@ -744,6 +744,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PsychosozialeProjekteSaarpf
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EvVereinFürWohnraumhilfe", "ReportImp\EvVereinFürWohnraumhilfe\EvVereinFürWohnraumhilfe.csproj", "{91FEDB73-0198-474D-9269-1034D0558886}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortaEV", "ReportImp\PortaEV\PortaEV.csproj", "{0114A289-5FD4-4CD9-A704-5161B6FD7726}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetreuungsserviceFuerAlltagUndWohnen", "ReportImp\BetreuungsserviceFuerAlltagUndWohnen\BetreuungsserviceFuerAlltagUndWohnen.csproj", "{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -9055,6 +9059,54 @@ Global
{91FEDB73-0198-474D-9269-1034D0558886}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{91FEDB73-0198-474D-9269-1034D0558886}.Release|x86.ActiveCfg = Release|Any CPU
{91FEDB73-0198-474D-9269-1034D0558886}.Release|x86.Build.0 = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|.NET.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|.NET.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|x86.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Debug|x86.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.DebugRemote|x86.Build.0 = Debug|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|.NET.ActiveCfg = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|.NET.Build.0 = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|Any CPU.Build.0 = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|x86.ActiveCfg = Release|Any CPU
{0114A289-5FD4-4CD9-A704-5161B6FD7726}.Release|x86.Build.0 = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|.NET.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|.NET.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|x86.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Debug|x86.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.DebugRemote|x86.Build.0 = Debug|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|.NET.ActiveCfg = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|.NET.Build.0 = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|Any CPU.Build.0 = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|x86.ActiveCfg = Release|Any CPU
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -9425,6 +9477,8 @@ Global
{48BB802C-43AF-4A3D-93F0-AE88A18E155C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{182599E0-36D9-4804-8904-F28F40A79A5D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{91FEDB73-0198-474D-9269-1034D0558886} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{0114A289-5FD4-4CD9-A704-5161B6FD7726} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{40BE484A-5DC5-4257-95AA-5C2B1AA1B056} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -17,7 +17,7 @@
<AssemblyName>BeWoPlanerMobil</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
@@ -1586,7 +1586,7 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<UseIIS>False</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
@@ -27,21 +27,23 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<StartPageUrl>Views/Main/Main.cshtml</StartPageUrl>
<StartAction>URL</StartAction>
<StartPageUrl>
</StartPageUrl>
<StartAction>CurrentPage</StartAction>
<AspNetDebugging>True</AspNetDebugging>
<SilverlightDebugging>False</SilverlightDebugging>
<NativeDebugging>False</NativeDebugging>
<SQLDebugging>False</SQLDebugging>
<ExternalProgram>
</ExternalProgram>
<StartExternalURL>http://localhost/BeWoPlanerMobil/</StartExternalURL>
<StartExternalURL>
</StartExternalURL>
<StartCmdLineArguments>
</StartCmdLineArguments>
<StartWorkingDirectory>
</StartWorkingDirectory>
<EnableENC>False</EnableENC>
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
<EnableENC>True</EnableENC>
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>

View File

@@ -65,45 +65,55 @@ namespace BeWoPlanerMobil.Controllers
[Authorize]
public ActionResult InitReports()
{
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || !AbstractModel.IsAllowedToSeeScheduler)
try
{
return Logout();
}
if (!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || !AbstractModel.IsAllowedToSeeScheduler)
{
return Logout();
}
if (!AbstractModel.IsAllowedToSeeBills)
{
return RedirectToActionPermanent("Main", "Main");
}
if(!AbstractModel.IsAllowedToSeeBills)
var month = DateTime.Today.Month;
var year = DateTime.Today.Year;
var first = new DateTime(year, month, 1).AddMonths(-1);
var last = first.AddMonths(1).AddDays(-1);
Model.SelectedYear = first.Year;
Model.SelectedMonth = first.Month;
Model.SelectedStartDay = first.Day;
Model.SelectedEndDay = last.Day;
var filterEnums = Enum.GetValues(typeof(QBFilterEnum)).Cast<QBFilterEnum>();
Model.QbFilters.Clear();
foreach (var filterEnum in filterEnums)
{
Model.QbFilters.AddIfNotIn(new QbFilterItem(filterEnum));
}
Model.Customers = EmployeeService.GetActiveCompactCustomersForEmployee(null).OrderBy(d => d.ToString()).ToList();
Model.Employees = EmployeeService.GetActiveCompactEmployeesForEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid);
Model.ServiceCategories = OperationsService.GetAllServiceCategories();
Model.Organisations = CustomerService.GetAllCostBearerCompact();
Model.Organisations.Sort((x, y) => x.Name.CompareTo(y.Name));
Model.AllTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(MobileSessionFacade.LoggedInEmployee.EmployeeOid);
}
catch (Exception e)
{
return RedirectToActionPermanent("Main", "Main");
Log.Error(e.Message, e);
}
var month = DateTime.Today.Month;
var year = DateTime.Today.Year;
var first = new DateTime(year, month, 1).AddMonths(-1);
var last = first.AddMonths(1).AddDays(-1);
Model.SelectedYear = first.Year;
Model.SelectedMonth = first.Month;
Model.SelectedStartDay = first.Day;
Model.SelectedEndDay = last.Day;
var filterEnums = Enum.GetValues(typeof(QBFilterEnum)).Cast<QBFilterEnum>();
Model.QbFilters.Clear();
foreach(var filterEnum in filterEnums)
{
Model.QbFilters.AddIfNotIn(new QbFilterItem(filterEnum));
}
Model.Customers = EmployeeService.GetActiveCompactCustomersForEmployee(null).OrderBy(d => d.ToString()).ToList();
Model.Employees = EmployeeService.GetActiveCompactEmployeesForEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid);
Model.ServiceCategories = OperationsService.GetAllServiceCategories();
Model.Organisations = CustomerService.GetAllCostBearerCompact();
Model.Organisations.Sort((x, y) => x.Name.CompareTo(y.Name));
Model.AllTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(MobileSessionFacade.LoggedInEmployee.EmployeeOid);
return View("Report", Model);
}

View File

@@ -44,7 +44,7 @@ namespace BeWoPlanerMobil.Models
{
var mandator = new MobileSessionFacade().OperationsService.GetMandator();
var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(mandator.Settings, SettingsKeys.ShowEmployeeSignature);
var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(mandator.Settings, SettingsKeys.ShowSignature);
return CheckRight(UserRightType.Analysis_ServiceOverview_View) && showEmployeeSignatureSetting != null && showEmployeeSignatureSetting.Equals("1");
}

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
<UseIISExpress>true</UseIISExpress>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />

View File

@@ -2389,80 +2389,153 @@ namespace BeWo.Report.ReportObjects
foreach (var dayDetail in days)
{
if (dayDetail.BreakMinutes2.HasValue && dayDetail.MaxHoursUntilBreak2.HasValue)
{
addHours += CalculateBreakMinutes(dayDetail, dayDetail.MaxHoursUntilBreak2.Value, dayDetail.BreakMinutes2.Value);
}
if (dayDetail.BreakMinutes.HasValue && dayDetail.MaxHoursUntilBreak.HasValue)
{
addHours += CalculateBreakMinutes(dayDetail, dayDetail.MaxHoursUntilBreak.Value, dayDetail.BreakMinutes.Value);
}
//if (dayDetail.Date >= new DateTime(2022, 1, 1))
//{
// addHours += CalculateBreakMinutesNeu(dayDetail);
//}
//else
//{
if (dayDetail.BreakMinutes2.HasValue && dayDetail.MaxHoursUntilBreak2.HasValue)
{
addHours += CalculateBreakMinutes(dayDetail, dayDetail.MaxHoursUntilBreak2.Value, dayDetail.BreakMinutes2.Value);
}
if (dayDetail.BreakMinutes.HasValue && dayDetail.MaxHoursUntilBreak.HasValue)
{
addHours += CalculateBreakMinutes(dayDetail, dayDetail.MaxHoursUntilBreak.Value, dayDetail.BreakMinutes.Value);
}
//}
}
return addHours;
}
// public virtual decimal CalculateBreakMinutesNeu(MitarbeiterstundenkontoRO.DayDetail dayDetail)
// {
// decimal addHours = 0;
//var maxHoursUntilBreakTotal = dayDetail.MaxHoursUntilBreak ?? 0 + dayDetail.MaxHoursUntilBreak2 ?? 0;
//if (maxHoursUntilBreakTotal == 0)
// {
// return 0;
// }
// if (dayDetail.ZusammenhaengendeZeitraeume != null && dayDetail.ZusammenhaengendeZeitraeume.Count > 0)
// {
// foreach (var span in dayDetail.ZusammenhaengendeZeitraeume)
// {
// var gesetzlichePause = BerechneGesetzlichePauseInMinuten(dayDetail, span.StartDateTime, span.EndDateTime);
// addHours -= (gesetzlichePause / 60m);
// dayDetail.MinutesTotal -= gesetzlichePause;
// dayDetail.PauseInMinuten += gesetzlichePause;
// }
// return addHours;
// }
// if (dayDetail.EndDateTime1.HasValue && dayDetail.StartDateTime1.HasValue)
// {
// if (dayDetail.EndDateTime1.Value.Subtract(dayDetail.StartDateTime1.Value).TotalHours > maxHoursUntilBreak)
// {
// addHours -= (breakMinutes / 60m);
// dayDetail.MinutesTotal -= breakMinutes;
// dayDetail.PauseInMinuten += breakMinutes;
// }
// }
// if (dayDetail.EndDateTime2.HasValue && dayDetail.StartDateTime2.HasValue)
// {
// if (dayDetail.EndDateTime2.Value.Subtract(dayDetail.StartDateTime2.Value).TotalHours > maxHoursUntilBreak)
// {
// addHours -= (breakMinutes / 60m);
// dayDetail.MinutesTotal -= breakMinutes;
// dayDetail.PauseInMinuten += breakMinutes;
// }
// }
// if (dayDetail.EndDateTime3.HasValue && dayDetail.StartDateTime3.HasValue)
// {
// if (dayDetail.EndDateTime3.Value.Subtract(dayDetail.StartDateTime3.Value).TotalHours > maxHoursUntilBreak)
// {
// addHours -= (breakMinutes / 60m);
// dayDetail.MinutesTotal -= breakMinutes;
// dayDetail.PauseInMinuten += breakMinutes;
// }
// }
// if (dayDetail.EndDateTime4.HasValue && dayDetail.StartDateTime4.HasValue)
// {
// if (dayDetail.EndDateTime4.Value.Subtract(dayDetail.StartDateTime4.Value).TotalHours > maxHoursUntilBreak)
// {
// addHours -= (breakMinutes / 60m);
// dayDetail.MinutesTotal -= breakMinutes;
// dayDetail.PauseInMinuten += breakMinutes;
// }
// }
// return addHours;
// }
public virtual decimal CalculateBreakMinutes(MitarbeiterstundenkontoRO.DayDetail dayDetail, int maxHoursUntilBreak, int breakMinutes)
{
decimal addHours = 0;
if (dayDetail.ZusammenhaengendeZeitraeume != null && dayDetail.ZusammenhaengendeZeitraeume.Count > 0)
{
foreach (var span in dayDetail.ZusammenhaengendeZeitraeume)
{
if (span.EndDateTime.Subtract(span.StartDateTime).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
return addHours;
}
if (dayDetail.EndDateTime1.HasValue && dayDetail.StartDateTime1.HasValue)
{
if (dayDetail.EndDateTime1.Value.Subtract(dayDetail.StartDateTime1.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime2.HasValue && dayDetail.StartDateTime2.HasValue)
{
if (dayDetail.EndDateTime2.Value.Subtract(dayDetail.StartDateTime2.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime3.HasValue && dayDetail.StartDateTime3.HasValue)
{
if (dayDetail.EndDateTime3.Value.Subtract(dayDetail.StartDateTime3.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime4.HasValue && dayDetail.StartDateTime4.HasValue)
{
if (dayDetail.EndDateTime4.Value.Subtract(dayDetail.StartDateTime4.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
return addHours;
}
public virtual decimal CalculateBreakMinutes(MitarbeiterstundenkontoRO.DayDetail dayDetail, int maxHoursUntilBreak, int breakMinutes)
{
decimal addHours = 0;
if (dayDetail.ZusammenhaengendeZeitraeume != null && dayDetail.ZusammenhaengendeZeitraeume.Count > 0)
{
foreach (var span in dayDetail.ZusammenhaengendeZeitraeume)
{
if (span.EndDateTime.Subtract(span.StartDateTime).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
return addHours;
}
if (dayDetail.EndDateTime1.HasValue && dayDetail.StartDateTime1.HasValue)
{
if (dayDetail.EndDateTime1.Value.Subtract(dayDetail.StartDateTime1.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime2.HasValue && dayDetail.StartDateTime2.HasValue)
{
if (dayDetail.EndDateTime2.Value.Subtract(dayDetail.StartDateTime2.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime3.HasValue && dayDetail.StartDateTime3.HasValue)
{
if (dayDetail.EndDateTime3.Value.Subtract(dayDetail.StartDateTime3.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
if (dayDetail.EndDateTime4.HasValue && dayDetail.StartDateTime4.HasValue)
{
if (dayDetail.EndDateTime4.Value.Subtract(dayDetail.StartDateTime4.Value).TotalHours > maxHoursUntilBreak)
{
addHours -= (breakMinutes / 60m);
dayDetail.MinutesTotal -= breakMinutes;
dayDetail.PauseInMinuten += breakMinutes;
}
}
return addHours;
}
public virtual void BerechneExtraUeberstunden(Employee emp, DateTime start, DateTime ende, out decimal stunden)
public virtual void BerechneExtraUeberstunden(Employee emp, DateTime start, DateTime ende, out decimal stunden)
{
stunden = 0;

View File

@@ -1395,7 +1395,7 @@ namespace BeWo.Report.ReportObjects
var mandatorSettings = lResult.Mandator?.Settings;
if(mandatorSettings != null && mandatorSettings.Contains("ShowEmployeeSignature=1"))
if(mandatorSettings != null && mandatorSettings.Contains("ShowSignature=1"))
{
var serviceRecordOids = lResult.Services.Select(service => service.ServiceRecordOid).ToList();

View File

@@ -116,7 +116,7 @@ namespace BeWo.ABCBetreuungenReports
item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration *
item.ServiceDescription.ServiceCategory.Percentage) / 100;
item.ServiceDescription.ServiceCategory.ProzentAbrechnung) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -36,6 +36,21 @@ namespace BehindertNaUnd
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblAbrechnungstext = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
@@ -64,24 +79,10 @@ namespace BehindertNaUnd
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -111,6 +112,8 @@ namespace BehindertNaUnd
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel9});
this.bottomMarginBand1.HeightF = 90F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
@@ -136,6 +139,147 @@ namespace BehindertNaUnd
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// xrTable2
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(366.9998F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow4,
this.xrTableRow3,
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow8});
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 134F);
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.13245033112582783D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.13245033112582783D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderContactPerson]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.13245033112582783D;
//
// xrTableCell11
//
this.xrTableCell11.CanShrink = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "[SenderContactPersonDivision]";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell11.Weight = 1D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell8});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.13245033112582783D;
//
// xrTableCell8
//
this.xrTableCell8.CanShrink = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "[SenderContactPersonMail]";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell8.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.13245033112582783D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "[SenderContactPersonPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.11258278145695365D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderContactPersonFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 1D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.11258278145695365D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell5.Weight = 1D;
//
// lblAbrechnungstext
//
this.lblAbrechnungstext.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
@@ -413,146 +557,17 @@ namespace BehindertNaUnd
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrTable2
// xrLabel9
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(366.9998F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow4,
this.xrTableRow3,
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow8});
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 134F);
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.13245033112582783D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.13245033112582783D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderContactPerson]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.13245033112582783D;
//
// xrTableCell11
//
this.xrTableCell11.CanShrink = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "[SenderContactPersonDivision]";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell11.Weight = 1D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell8});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.13245033112582783D;
//
// xrTableCell8
//
this.xrTableCell8.CanShrink = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "[SenderContactPersonMail]";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell8.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.13245033112582783D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "[SenderContactPersonPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.11258278145695365D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderContactPersonFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 1D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.11258278145695365D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell5.Weight = 1D;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F);
this.xrLabel9.Multiline = true;
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(386.1666F, 67.83335F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "Steuernummer: 132/59002594\r\nVereinsregister - Nr.: VR 2585 /Amtsgericht Wuppertal" +
")\r\nSteuerbefreiung nach §5 Abs.1 Nr. 9 KstG";
//
// Rechnung
//
@@ -573,9 +588,9 @@ namespace BehindertNaUnd
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -630,5 +645,6 @@ namespace BehindertNaUnd
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
}
}

View File

@@ -70,6 +70,7 @@ namespace BeWo.Report.DefaultReports
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
@@ -501,6 +502,8 @@ namespace BeWo.Report.DefaultReports
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7});
this.bottomMarginBand1.HeightF = 100F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
@@ -525,6 +528,18 @@ namespace BeWo.Report.DefaultReports
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
//
// xrLabel7
//
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(386.1666F, 67.83335F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "Steuernummer: 132/59002594\r\nVereinsregister - Nr.: VR 2585 /Amtsgericht Wuppertal" +
")\r\nSteuerbefreiung nach §5 Abs.1 Nr. 9 KstG";
//
// InvoiceCustomerReport
//
@@ -595,5 +610,6 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRLabel lblAddress;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
}
}

View File

@@ -102,6 +102,7 @@ namespace BeWo.Report.DefaultReports.Alt
this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
@@ -549,6 +550,8 @@ namespace BeWo.Report.DefaultReports.Alt
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7});
this.bottomMarginBand1.HeightF = 100F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
@@ -860,6 +863,18 @@ namespace BeWo.Report.DefaultReports.Alt
this.xrTableCell58.Text = "[Claim]";
this.xrTableCell58.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell58.Weight = 0.21685899000901443D;
//
// xrLabel7
//
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(386.1666F, 67.83335F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "Steuernummer: 132/59002594\r\nVereinsregister - Nr.: VR 2585 /Amtsgericht Wuppertal" +
")\r\nSteuerbefreiung nach §5 Abs.1 Nr. 9 KstG";
//
// Spitzabrechnung
//
@@ -967,5 +982,6 @@ namespace BeWo.Report.DefaultReports.Alt
private DevExpress.XtraReports.UI.XRTableRow xrTableRow36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell57;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell58;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
}
}

View File

@@ -96,6 +96,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableRow37 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell59 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell60 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
@@ -448,6 +449,8 @@ namespace BeWo.Report.DefaultReports
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7});
this.bottomMarginBand1.HeightF = 100F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
@@ -765,6 +768,18 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell60.Text = "xrTableCell17";
this.xrTableCell60.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell60.Weight = 0.21685899000901443D;
//
// xrLabel7
//
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(386.1666F, 67.83335F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "Steuernummer: 132/59002594\r\nVereinsregister - Nr.: VR 2585 /Amtsgericht Wuppertal" +
")\r\nSteuerbefreiung nach §5 Abs.1 Nr. 9 KstG";
//
// Spitzabrechnung
//
@@ -866,5 +881,6 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell59;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell60;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
}
}

View File

@@ -258,10 +258,15 @@ namespace KontaktUndKrisenhilfe.Invoicing
if (iRecord.GroupOid == null || !groupBookingDict.ContainsKey(iRecord.GroupOid.Value))
{
decimal rd = iRecord.RoundedDuration;
if (iRecord.ServiceDescription.ServiceCategory.Percentage != 100)
var prozent = iRecord.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (iRecord.ServiceDescription.ProzentAbrechnung.HasValue)
{
rd = (rd * iRecord.ServiceDescription.ServiceCategory.Percentage) / 100;
prozent = iRecord.ServiceDescription.ProzentAbrechnung.Value;
}
rd *= (prozent / 100);
decimal duration = rd / 60;
if (si.RecordedBillableFLSBrutto == null)

View File

@@ -27,7 +27,7 @@ namespace BeWo.LebenshilfeBorkenReports
if (!sr.DistanceInMeter.HasValue && sr.ServiceRecordOid.HasValue)
{
var srBO = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(sr.ServiceRecordOid.Value);
sr.DistanceInMeter = srBO.DistanceInMeter;
sr.DistanceInMeter = (int?)srBO.DistanceInMeter;
}
}
}

View File

@@ -22,7 +22,7 @@ namespace BeWo.LebenshilfeBorkenReports
if (!sr.DistanceInMeter.HasValue && sr.ServiceRecordOid.HasValue)
{
var srBO = DAOFactory.GenericDAO.LoadByID<ServiceRecord>(sr.ServiceRecordOid.Value);
sr.DistanceInMeter = srBO.DistanceInMeter;
sr.DistanceInMeter = (int?)srBO.DistanceInMeter;
}
}
}

View File

@@ -111,8 +111,10 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.lblBezahlungText = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.groupFooterPreisanpassung = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -1075,17 +1077,10 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell27.Weight = 0.22538461538461535D;
//
// ReportFooter
//
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblBezahlungText});
this.ReportFooter.HeightF = 70F;
this.ReportFooter.Name = "ReportFooter";
//
// lblBezahlungText
//
this.lblBezahlungText.CanGrow = false;
this.lblBezahlungText.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00001F);
this.lblBezahlungText.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20F);
this.lblBezahlungText.Multiline = true;
this.lblBezahlungText.Name = "lblBezahlungText";
this.lblBezahlungText.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -1093,6 +1088,36 @@ namespace LebenshilfeFrankfurtOder
this.lblBezahlungText.StylePriority.UseFont = false;
this.lblBezahlungText.Text = "Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Kunden-Nr., der Rechnun" +
"gs-Nr. und des\r\nVerwendungszwecks auf das unten angegebene Konto.";
//
// GroupFooter2
//
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblBezahlungText});
this.GroupFooter2.HeightF = 69.16668F;
this.GroupFooter2.Level = 1;
this.GroupFooter2.Name = "GroupFooter2";
//
// groupFooterPreisanpassung
//
this.groupFooterPreisanpassung.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2});
this.groupFooterPreisanpassung.HeightF = 36.66667F;
this.groupFooterPreisanpassung.Level = 2;
this.groupFooterPreisanpassung.Name = "groupFooterPreisanpassung";
//
// xrLabel2
//
this.xrLabel2.CanGrow = false;
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(696.4994F, 26.66667F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Preisanpassung! Auch wir werden unsere Preise ab 01.02.2023 erhöhen.";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
//
// RechnungFud
//
@@ -1103,7 +1128,8 @@ namespace LebenshilfeFrankfurtOder
this.bottomMarginBand1,
this.DetailReport,
this.GroupFooter1,
this.ReportFooter});
this.GroupFooter2,
this.groupFooterPreisanpassung});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
@@ -1195,7 +1221,6 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter;
private DevExpress.XtraReports.UI.XRLabel lblBezahlungText;
private DevExpress.XtraReports.UI.XRLine xrLine1;
private DevExpress.XtraReports.UI.XRLabel xrLabel37;
@@ -1206,5 +1231,8 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungsart;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2;
private DevExpress.XtraReports.UI.GroupFooterBand groupFooterPreisanpassung;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
}
}

View File

@@ -141,7 +141,7 @@ namespace LebenshilfeFrankfurtOder
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
}
bool ankuendigungAnzeigen = false;
if (gg.Contains("§39"))
{
lblAbrechnungsart.Text = "stundenweise Verhinderungspflege nach §39 SGB XI lt. beil. Leistungsnachweis";
@@ -150,6 +150,15 @@ namespace LebenshilfeFrankfurtOder
{
lblAbrechnungsart.Text = "Kurzzeitpflege nach §42 SGB XI lt. beiliegendem Leistungsnachweis";
}
else
{
ankuendigungAnzeigen = true;
}
if (!ankuendigungAnzeigen)
{
groupFooterPreisanpassung.Visible = false;
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -107,7 +107,14 @@ namespace PraunheimerWerkstaetten2
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
minutenIst += (item.RoundedDuration * prozent) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -107,7 +107,14 @@ namespace PraunheimerWerkstaetten2
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
minutenIst += (item.RoundedDuration * prozent) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -107,7 +107,14 @@ namespace PraunheimerWerkstaetten3
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
minutenIst += (item.RoundedDuration * prozent) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -107,7 +107,15 @@ namespace PraunheimerWerkstaetten3
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
minutenIst += (item.RoundedDuration * prozent) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -116,7 +116,14 @@ namespace PraunheimerWerkstaettenGmbh
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
minutenIst += (item.RoundedDuration * prozent) / 100;
if (item.GroupOid.HasValue)
groupBookingDict.Add(item.GroupOid.Value, true);

View File

@@ -126,11 +126,16 @@ namespace VSDHammReports
if (iRecord.GroupOid == null || !groupBookingDict.ContainsKey(iRecord.GroupOid.Value))
{
decimal rd = iRecord.RoundedDuration;
if (iRecord.ServiceDescription.ServiceCategory.Percentage != 100)
var prozent = iRecord.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (iRecord.ServiceDescription.ProzentAbrechnung.HasValue)
{
rd = (rd * iRecord.ServiceDescription.ServiceCategory.Percentage) / 100;
prozent = iRecord.ServiceDescription.ProzentAbrechnung.Value;
}
rd = (rd * prozent) / 100;
var ap = apList.FirstOrDefault(
iap =>
{

View File

@@ -156,7 +156,15 @@ namespace WahlEv
if (item.ServiceDescription != null &&
item.ServiceDescription.ServiceCategory != null)
{
var d = (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
var d = (item.RoundedDuration * prozent) / 100;
if (item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += d;

View File

@@ -164,7 +164,14 @@ namespace WahlEv
if (item.ServiceDescription != null &&
item.ServiceDescription.ServiceCategory != null)
{
var d = (item.RoundedDuration * item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
var d = (item.RoundedDuration * prozent) / 100;
if (item.ServiceDescription.ServiceCategory.IsBillable)
{
minutenIst += d;

View File

@@ -143,8 +143,15 @@ namespace WahlEv
{
if (CheckServiceRecord(item, bewo))
{
var d = (item.RoundedDuration *
item.ServiceDescription.ServiceCategory.Percentage) / 100;
var prozent = item.ServiceDescription.ServiceCategory.ProzentAbrechnung;
if (item.ServiceDescription.ProzentAbrechnung.HasValue)
{
prozent = item.ServiceDescription.ProzentAbrechnung.Value;
}
var d = (item.RoundedDuration * prozent) / 100;
if (item.ServiceDescription.ServiceCategory.IsBillable || bewo)
{
minutenIst += d;

View File

@@ -42,14 +42,6 @@ namespace BeWo.Service.DCEntityMapper
pEntity.ProzentAbrechnung = pDataContract.Percentage;
pEntity.ProzentBudget = pDataContract.ProzentBudget;
pEntity.ProzentStundenkonto = pDataContract.ProzentStundenkonto;
if (!pEntity.ProzentBudget.HasValue)
{
pEntity.ProzentBudget = pEntity.ProzentAbrechnung;
}
if (!pEntity.ProzentStundenkonto.HasValue)
{
pEntity.ProzentStundenkonto = pEntity.ProzentAbrechnung;
}
pEntity.Abbreviation = pDataContract.Abbreviation;
pEntity.Position = pDataContract.Position;
pEntity.BillableAmount = pDataContract.BillableAmount;

View File

@@ -167,7 +167,7 @@ namespace BeWo.Service.Plugins
//t = "3614251071"; // Pusteblume
//t = "7755740484"; // Sawo
//t = "8275654834"; // Twg Jonathan
//t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
//t = "2632162696"; // Hand in Hand (ehemals Pro BeWo Düren)
//t = "6340891020"; // Caritas Ahlen
//t = "3659854106"; // alpha e.V.