MH: SupportConcept Histories eingefügt + Einfügen von ganzen Teams in Wohnheime ermöglicht

This commit is contained in:
Marcel Hirschle
2021-12-01 14:09:56 +01:00
parent 52a45455ef
commit 92d44be7ad
28 changed files with 1554 additions and 362 deletions

View File

@@ -1802,7 +1802,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportLayoutDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.HomeViewPanelDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.HomeViewPanelDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ReportTemplateDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTemplateDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTypes))]
@@ -1972,6 +1971,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/UpdateQuittierungsbelegsstatusBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.QuittierungsbelegsstatusDC UpdateQuittierungsbelegsstatus(BS.Shared.DataContracts.QuittierungsbelegsstatusDC quittierungsbelegsstatusDC);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/GetActiveMedVerListOidForCustomer", ReplyAction="http://tempuri.org/ICustomerService/GetActiveMedVerListOidForCustomerResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetActiveMedVerListOidForCustomerBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Nullable<long> GetActiveMedVerListOidForCustomer(long customerOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/UpdateCustomersAbsenceTimes", ReplyAction="http://tempuri.org/ICustomerService/UpdateCustomersAbsenceTimesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/UpdateCustomersAbsenceTimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateCustomersAbsenceTimes(long pCustomerOid, System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> pAbsenceTimes);
@@ -2815,6 +2819,11 @@ namespace BeWo.ServiceProxy
return base.Channel.UpdateQuittierungsbelegsstatus(quittierungsbelegsstatusDC);
}
public System.Nullable<long> GetActiveMedVerListOidForCustomer(long customerOid)
{
return base.Channel.GetActiveMedVerListOidForCustomer(customerOid);
}
public void UpdateCustomersAbsenceTimes(long pCustomerOid, System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> pAbsenceTimes)
{
base.Channel.UpdateCustomersAbsenceTimes(pCustomerOid, pAbsenceTimes);
@@ -4737,6 +4746,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/LoadFilteredAllActiveAppointmentsBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> LoadFilteredAllActiveAppointments(long employeeOid, System.DateTime start, System.DateTime end, System.Collections.Generic.List<long> customerOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/LoadOccurrencesByRecurrenceId", ReplyAction="http://tempuri.org/IResourceService/LoadOccurrencesByRecurrenceIdResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/LoadOccurrencesByRecurrenceIdBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> LoadOccurrencesByRecurrenceId(string recurrenceId);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -5037,6 +5050,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.LoadFilteredAllActiveAppointments(employeeOid, start, end, customerOids);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> LoadOccurrencesByRecurrenceId(string recurrenceId)
{
return base.Channel.LoadOccurrencesByRecurrenceId(recurrenceId);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -5150,7 +5168,15 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonth", ReplyAction="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonthResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonthBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void RemoveAllDiensteForOneMonth(System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd);
void RemoveAllDiensteForOneMonth(BS.Shared.DataContracts.Compact.CompactWohnheimDC dc, System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneYear", ReplyAction="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneYearResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneYearBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void RemoveAllDiensteForOneYear(BS.Shared.DataContracts.Compact.CompactWohnheimDC dc, System.DateTime year, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetCompactEmployeesForTeam", ReplyAction="http://tempuri.org/IOperationsService/GetCompactEmployeesForTeamResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetCompactEmployeesForTeamBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetColorForStatus", ReplyAction="http://tempuri.org/IOperationsService/GetColorForStatusResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetColorForStatusBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -5277,7 +5303,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetWholeIcf", ReplyAction="http://tempuri.org/IOperationsService/GetWholeIcfResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetWholeIcfBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC>> GetWholeIcf();
System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC> GetWholeIcf();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetReportTemplates", ReplyAction="http://tempuri.org/IOperationsService/GetReportTemplatesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetReportTemplatesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -6510,9 +6536,19 @@ namespace BeWo.ServiceProxy
return base.Channel.GetServiceRecordsWithoutConfirmationReceiptSignature(serviceRecordOids, signatureType);
}
public void RemoveAllDiensteForOneMonth(System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd)
public void RemoveAllDiensteForOneMonth(BS.Shared.DataContracts.Compact.CompactWohnheimDC dc, System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd)
{
base.Channel.RemoveAllDiensteForOneMonth(month, rd);
base.Channel.RemoveAllDiensteForOneMonth(dc, month, rd);
}
public void RemoveAllDiensteForOneYear(BS.Shared.DataContracts.Compact.CompactWohnheimDC dc, System.DateTime year, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd)
{
base.Channel.RemoveAllDiensteForOneYear(dc, year, rd);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid)
{
return base.Channel.GetCompactEmployeesForTeam(teamOid);
}
public string GetColorForStatus(bool status)
@@ -6645,7 +6681,7 @@ namespace BeWo.ServiceProxy
return base.Channel.GetIcf();
}
public System.Collections.Generic.List<System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC>> GetWholeIcf()
public System.Collections.Generic.List<BS.Shared.DataContracts.ValueListEntryDC> GetWholeIcf()
{
return base.Channel.GetWholeIcf();
}

View File

@@ -11,27 +11,8 @@
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Dienste" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Border Height="20" MinWidth="20" Background="{Binding}" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Stretch" BorderBrush="Black" />
</DataTemplate>
<DataTemplate x:Key="SelectedItemTemplate">
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding}" BorderBrush="Black" BorderThickness="1" />
</DataTemplate>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!--Erste Zeile-->
<Grid Grid.Column="0" Grid.Row="0">
<!--<ScrollViewer>-->
<Grid>
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Border Height="20" MinWidth="20" Background="{Binding}" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Stretch" BorderBrush="Black" />
@@ -43,137 +24,158 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Content="Dienstname" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" x:Name="_TxtDienstname" Margin="0,3,3,3" MinWidth="200" Text="{val:ValidationBinding Path=NewVM.DienstName, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="2" Content="Kürzel" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" x:Name="_TxtDienstKurz" Margin="0,3,3,3" MinWidth="50" Text="{val:ValidationBinding Path=NewVM.Kurz, UpdateSourceTrigger=PropertyChanged}"/>
<ComboBox x:Name="_FarbeComboBox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SelectedItem="{val:ValidationBinding Path=NewVM.Farbe}" Grid.Column="4" Height="23" Margin="3" ItemsSource="{Binding Path=AllBrushes, Mode=OneWay}" Width="50">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<ComboBox x:Name="_WohnheimeCombobox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="5" Height="23" Margin="3" ItemsSource="{Binding Path=AllWohnheime, Mode=OneWay}" Width="200">
</ComboBox>
</Grid>
<!--Zweite Zeile-->
<Grid Grid.Column="0" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Content="Start" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtStart"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Start, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="2" Content="Ende" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtEnde"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Ende, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="4" Content="Pause (min)" Margin="3,3,0,3"/>
<dxe:SpinEdit Name="_SpinPause" AllowNullInput="True" IsFloatValue="False" MinValue="0" Grid.Column="5"
Height="23" Width="50" EditValue="{Binding Path=NewVM.Pause, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Column="7" Content="Hinzufügen" Click="Button_Click"/>
</Grid>
<!--Dritte Zeile-->
<dxg:GridControl x:Name="_GridControl" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" IsEnabled="{Binding Path=EditValue}" FontFamily="Webdings" Click="DeleteButton_Click" Width="18" Height="18" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="DienstName" Header="Dienstname" Width="200" />
<dxg:GridColumn FieldName="Kurz" Header="Kürzel" Width="50" />
<dxg:GridColumn Header="Start" FixedWidth="True" Width="100" FieldName="Start" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Ende" FixedWidth="True" Width="100" FieldName="Ende" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Pause" Header="Pause" Width="100">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Left"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnFarbe" FieldName="Farbe" Header="Farbe" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding Value, diagnostics:PresentationTraceSources.TraceLevel=High }" BorderBrush="Black" BorderThickness="1" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Part_Editor" BorderThickness="0" Style="{x:Null}" Background="{Binding EditValue}" Foreground="{Binding EditValue}" Height="21" HorizontalAlignment="Stretch" Click="Part_Editor_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnWohnheim" FieldName="Wohnheim" Header="Wohnheim" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Label Content="{Binding Value}" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Button_WohnheimPicker" BorderThickness="0" Style="{x:Null}" Height="21" HorizontalAlignment="Stretch" Click="Button_WohnheimPicker_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
</dxg:GridControl.View>
</dxg:GridControl>
<Popup x:Name="_PopupColorPicker" StaysOpen="false" Placement="MousePoint">
<ListBox x:Name="_Listbox_Colorpicker" BorderThickness="0" Loaded="ColorEditor_Loaded" SelectionChanged="Listbox_Colorpicker_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Popup>
<Popup x:Name="_PopupWohnheimPicker" StaysOpen="false" Placement="MousePoint" Width="200">
<ComboBox x:Name="_Combobox_Wohnheimpicker" BorderThickness="0" Loaded="Listbox_Wohnheimpicker_Loaded" SelectionChanged="Combobox_Wohnheimpicker_SelectionChanged" Height="20"/>
<!--Erste Zeile-->
<Grid Grid.Column="0" Grid.Row="0">
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Border Height="20" MinWidth="20" Background="{Binding}" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Stretch" BorderBrush="Black" />
</DataTemplate>
<DataTemplate x:Key="SelectedItemTemplate">
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding}" BorderBrush="Black" BorderThickness="1" />
</DataTemplate>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Content="Dienstname" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" x:Name="_TxtDienstname" Margin="0,3,3,3" MinWidth="200" Text="{val:ValidationBinding Path=NewVM.DienstName, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="2" Content="Kürzel" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" x:Name="_TxtDienstKurz" Margin="0,3,3,3" MinWidth="50" Text="{val:ValidationBinding Path=NewVM.Kurz, UpdateSourceTrigger=PropertyChanged}"/>
<ComboBox x:Name="_FarbeComboBox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SelectedItem="{val:ValidationBinding Path=NewVM.Farbe}" Grid.Column="4" Height="23" Margin="3" ItemsSource="{Binding Path=AllBrushes, Mode=OneWay}" Width="50">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<ComboBox x:Name="_WohnheimeCombobox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="5" Height="23" Margin="3" ItemsSource="{Binding Path=AllWohnheime, Mode=OneWay}" Width="200">
</ComboBox>
</Grid>
<!--Zweite Zeile-->
<Grid Grid.Column="0" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Content="Start" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtStart"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Start, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="2" Content="Ende" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtEnde"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Ende, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="4" Content="Pause (min)" Margin="3,3,0,3"/>
<dxe:SpinEdit Name="_SpinPause" AllowNullInput="True" IsFloatValue="False" MinValue="0" Grid.Column="5"
Height="23" Width="50" EditValue="{Binding Path=NewVM.Pause, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Column="7" Content="Hinzufügen" Click="Button_Click"/>
</Grid>
<!--Dritte Zeile-->
<dxg:GridControl x:Name="_GridControl" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" IsEnabled="{Binding Path=EditValue}" FontFamily="Webdings" Click="DeleteButton_Click" Width="18" Height="18" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="DienstName" Header="Dienstname" Width="200" />
<dxg:GridColumn FieldName="Kurz" Header="Kürzel" Width="50" />
<dxg:GridColumn Header="Start" FixedWidth="True" Width="100" FieldName="Start" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Ende" FixedWidth="True" Width="100" FieldName="Ende" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Pause" Header="Pause" Width="100">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Left"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnFarbe" FieldName="Farbe" Header="Farbe" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding Value, diagnostics:PresentationTraceSources.TraceLevel=High }" BorderBrush="Black" BorderThickness="1" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Part_Editor" BorderThickness="0" Style="{x:Null}" Background="{Binding EditValue}" Foreground="{Binding EditValue}" Height="21" HorizontalAlignment="Stretch" Click="Part_Editor_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnWohnheim" FieldName="Wohnheim" Header="Wohnheim" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Label Content="{Binding Value}" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Button_WohnheimPicker" BorderThickness="0" Style="{x:Null}" Height="21" HorizontalAlignment="Stretch" Click="Button_WohnheimPicker_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />
</dxg:GridControl.View>
</dxg:GridControl>
<Popup x:Name="_PopupColorPicker" StaysOpen="false" Placement="MousePoint">
<ListBox x:Name="_Listbox_Colorpicker" BorderThickness="0" Loaded="ColorEditor_Loaded" SelectionChanged="Listbox_Colorpicker_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Popup>
<Popup x:Name="_PopupWohnheimPicker" StaysOpen="false" Placement="MousePoint" Width="200">
<ComboBox x:Name="_Combobox_Wohnheimpicker" BorderThickness="0" Loaded="Listbox_Wohnheimpicker_Loaded" SelectionChanged="Combobox_Wohnheimpicker_SelectionChanged" Height="20"/>
</Popup>
</Grid>
</Popup>
</Grid>
<!--</ScrollViewer>-->
</GroupBox>
</localView:BeWoView>

View File

@@ -89,6 +89,12 @@ namespace BeWo.View.Detail
if (ViewModel.NewVM.StartDT.Year != 2000)
ViewModel.NewVM.StartDT = new DateTime(2000, 1, 1, ViewModel.NewVM.StartDT.Hour, ViewModel.NewVM.StartDT.Minute, ViewModel.NewVM.StartDT.Second);
var wh = _WohnheimeCombobox.SelectedItem as CompactWohnheimDC;
if (wh == null)
{
var itemssource = _WohnheimeCombobox.ItemsSource as List<CompactWohnheimDC>;
wh = itemssource.First(i => i.WohnheimOid == -1);
}
if (wh.WohnheimOid != -1)
ViewModel.NewVM.Wohnheim = ServiceFacade.DoCustomerServiceSync(s => s.LoadWohnheim(wh.WohnheimOid));
ViewModel.AddNewVMToList();

View File

@@ -191,7 +191,7 @@ namespace BeWo.View.Detail
{
//var control = new IcfImportControl(ServiceFacade.DoOperationsServiceSync(x => x.GetIcf()));
var control2 = new IcfImportControl(ServiceFacade.DoOperationsServiceSync(x => x.GetWholeIcf()));
var control2 = new IcfImportControl(ServiceFacade.DoOperationsServiceSync(x => x.GetWholeIcf()), ViewModel.DCBackup.ToList());
var beWoWindow = new BeWoWindow
{

View File

@@ -162,7 +162,28 @@
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<controls:PopupNonTopmost Topmost="False" x:Name="popUp_schichtenEntfernen" Width="350" StaysOpen="False" Placement="MousePoint">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_popUp_schichtenEntfernen" Header="Schichten entfernen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Zeitraum" />
<ComboBox x:Name="Combobox_SchichtenEntfernen" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="10 0 0 0"/>
<CheckBox x:Name="Checkbox_RegelmaessigeSchichtenEntfernen" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Left" FlowDirection="LeftToRight" Content="Auch regelmäßige Dienste entfernen"/>
<Button x:Name="Button_SchichtenEntfernenBestaetigen" Grid.Column="2" Grid.Row="2" Content="Entfernen" Click="Button_SchichtenEntfernenBestaetigen_Click" Margin="0 7 0 0"/>
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>

View File

@@ -707,22 +707,6 @@ namespace BeWo.View.Detail.Report
Startzeit = start,
DauerInStunden = dauerInStunden
};
/*
var newEintrag = new DienstEintragDC
{
Datum = datum,
DienstOid = (long)dienst.Oid,
EmployeeOid = (long)employee.EmployeeOid,
Oid = null,
WohnheimOid = AuswahlWohnheim.WohnheimOid,
Zeile = zeile,
Notice = notice,
Startzeit = start,
Endzeit = ende,
DauerInStunden = dauerInStunden// - Convert.ToDouble(dienst.Pause) / 60
};
*/
ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstEintrag(newEintrag));
if (datum.Month == _AuswahlMonat.Month)
{
@@ -829,6 +813,7 @@ namespace BeWo.View.Detail.Report
return b;
DateTime datum = eintrag != null ? eintrag.Datum : vertretung.Datum;
var empOid = eintrag != null ? eintrag.EmployeeOid : vertretung.EmployeeOid;
foreach (var abs in _DienstplanerRootObj.AbsenceTimes)
{
@@ -836,7 +821,7 @@ namespace BeWo.View.Detail.Report
var ende = abs.End;
if (ende != null)
{
if (abs.AbsenceSpan.ContainsDate(datum.Date))
if (abs.EmployeeOid == empOid && abs.AbsenceSpan.ContainsDate(datum.Date))
{
if (start.Date == ende.Value.Date)
{
@@ -1778,26 +1763,18 @@ namespace BeWo.View.Detail.Report
// PopUp zur Entscheidung, was gelöscht werden soll
private void _BtnRemoveAllDiensteForMonth_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult result = (System.Windows.MessageBox.Show("Wollen Sie auch die regelmäßigen Dienste des gewählten löschen? Das Löschen kann nicht" +
" rückgängig gemacht werden.", "BeWoPlaner", MessageBoxButton.YesNoCancel, MessageBoxImage.Question));
// Alle Dienste und die regelmäßigen Dienste löschen
if (result == MessageBoxResult.Yes)
{
RemoveDiensteForMonth(_AuswahlMonat, true);
}
// Alle Dienste löschen, aber regelmäßige Dienste da lassen
else if (result == MessageBoxResult.No)
{
RemoveDiensteForMonth(_AuswahlMonat, false);
}
// Abbrechen
else if (result == MessageBoxResult.Cancel)
return;
List<string> auswahl = new List<string>() { "Schichten für diesen Monat entfernen", "Schichten für dieses Jahr entfernen" };
Combobox_SchichtenEntfernen.ItemsSource = auswahl;
Combobox_SchichtenEntfernen.SelectedIndex = 0;
popUp_schichtenEntfernen.IsOpen = true;
}
private void Button_SchichtenEntfernenBestaetigen_Click(object sender, RoutedEventArgs e)
{
RemoveDiensteForMonthOrYear(_AuswahlMonat, Checkbox_RegelmaessigeSchichtenEntfernen.IsChecked.Value, Combobox_SchichtenEntfernen.SelectedIndex);
}
// Dienste eines Monats löschen
private void RemoveDiensteForMonth(DateTime auswahlMonat, bool includeRegelmaessigeDienste)
private void RemoveDiensteForMonthOrYear(DateTime auswahlMonat, bool includeRegelmaessigeDienste, int monatOderJahr)
{
// Listen leeren
_DienstplanerRootObj.AlleDienstEintraege = new List<DienstEintragDC>();
@@ -1809,10 +1786,17 @@ namespace BeWo.View.Detail.Report
rd.AddRange(_DienstplanerRootObj.RegelmaessigeDienste);
}
// Dienste löschen und Dienstplaner neu initialisieren
ServiceFacade.DoOperationsServiceSync(s => s.RemoveAllDiensteForOneMonth(auswahlMonat, rd));
if (monatOderJahr == 0)
ServiceFacade.DoOperationsServiceSync(s => s.RemoveAllDiensteForOneMonth(_AuswahlWohnheim, auswahlMonat, rd));
else if (monatOderJahr == 1)
ServiceFacade.DoOperationsServiceSync(s => s.RemoveAllDiensteForOneYear(_AuswahlWohnheim, auswahlMonat, rd));
popUp_schichtenEntfernen.IsOpen = false;
Checkbox_RegelmaessigeSchichtenEntfernen.IsChecked = false;
InitGridControl(true);
}
private void combobox_regelmaessige_dienste_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
@@ -2226,6 +2210,8 @@ namespace BeWo.View.Detail.Report
return res;
}
#endregion
/// <summary>

View File

@@ -42,15 +42,31 @@ namespace BeWo.View.Detail.Report
InitTreeView(icfs);
}
public IcfImportControl(List<List<ValueListEntryDC>> icfs)
public IcfImportControl(List<ValueListEntryDC> icfs, List<ValueListEntryDC> vorhandeneKapitel)
{
InitializeComponent();
DataContext = this;
InitWholeTreeView(icfs);
icfs.RemoveRange(TestMethod(icfs, vorhandeneKapitel)); // KLAPPT NICHT
InitTreeView(icfs);
}
private List<ValueListEntryDC> TestMethod(List<ValueListEntryDC> icfs, List<ValueListEntryDC> vorhandeneKapitel)
{
var listeMitUeberschneidungen = new List<ValueListEntryDC>();
foreach (var chapter in icfs)
{
if (vorhandeneKapitel.Contains(chapter))
listeMitUeberschneidungen.Add(chapter);
}
return listeMitUeberschneidungen;
}
private void ButtonImport_Click(object sender, RoutedEventArgs e)
{
ButtonImportClicked?.Invoke();
@@ -87,9 +103,6 @@ namespace BeWo.View.Detail.Report
goalItem.IsExpanded = true;
}
// Sucht nach Einträgen, wo die ParentID gleich der actual.Oid ist
//var remaining = allIcfs.Where(x =>
//x.ParentOid == actual.ValueListEntryOid).ToList();
List<ValueListEntryDC> remaining = new List<ValueListEntryDC>();
foreach (var item in allIcfs)
{
@@ -108,41 +121,6 @@ namespace BeWo.View.Detail.Report
return goalItem;
}
private static SupportConceptGoalDC GetWholeSupportConceptGoal(SupportConceptGoalDC parent, ValueListEntryDC actual, List<ValueListEntryDC> allIcfs)
{
// Erzeugt das O
var goalItem = new SupportConceptGoalDC
{
GoalEntryDC = actual,
ParentGoal = parent
};
if (parent == null)
{
goalItem.IsExpanded = true;
}
// Sucht nach Einträgen, wo die ParentID gleich der actual.Oid ist
//var remaining = allIcfs.Where(x =>
//x.ParentOid == actual.ValueListEntryOid).ToList();
List<ValueListEntryDC> remaining = new List<ValueListEntryDC>();
foreach (var item in allIcfs)
{
if (item != null)
{
if (item.ParentOid == actual.ValueListEntryOid)
remaining.Add(item);
}
}
// Schaut, ob welche gefunden worden, sonst bleibt Children leer
if (remaining.Any())
{
goalItem.Children = remaining.Select(x => GetSupportConceptGoal(goalItem, x, allIcfs)).ToList();
}
return goalItem;
}
private void InitTreeView(List<ValueListEntryDC> icfs)
{
@@ -150,110 +128,6 @@ namespace BeWo.View.Detail.Report
return;
TreeViewGoalItem = GetSupportConceptGoal(null, icfs.Find(x => x.ParentOid == -1), icfs);
// Hier müssen die Children alle Oberkategorien sein und erst nach diesen die Unterkategorien
}
private void InitWholeTreeView(List<List<ValueListEntryDC>> icfs)
{
if (icfs == null)
return;
List<ValueListEntryDC> listEntries = new List<ValueListEntryDC>();
var counter = 0;
foreach (var list in icfs)
{
if (listEntries.Count == 0)
{
listEntries.Add(list[0]);
listEntries = AddKlassifikationen(listEntries);
}
if (listEntries.Count > 0)
{
foreach (var item in list)
{
if (item != null)
{
int? parentOid = null;
switch (counter)
{
case 0:
parentOid = -2;
break;
case 1:
parentOid = -3;
break;
case 2:
parentOid = -4;
break;
case 3:
parentOid = -5;
break;
}
if (item.DisplayName != "ICF")
{
if (item.ParentOid == null)
item.ParentOid = (int)parentOid;
listEntries.Add(item);
}
}
}
counter++;
}
}
//foreach (var list in icfs)
//{
// if (listEntries.Count == 0)
// {
// listEntries.Add(list[0]);
// }
// else
// {
// foreach (var item in list)
// {
// if (item != null)
// {
// if (item.DisplayName != "ICF")
// listEntries.Add(item);
// }
// }
// }
//}
// Hier müssen die Children alle Oberkategorien sein und erst nach diesen die Unterkategorien
// In jedem ersten Slot der Listen befindet sich das Objekt ICF
TreeViewGoalItem = GetSupportConceptGoal(null, listEntries.Find(x => x.ParentOid == -1), listEntries);
}
public List<ValueListEntryDC> AddKlassifikationen(List<ValueListEntryDC> listEntries)
{
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Körperfunktionen (Komponente b)",
ParentOid = null,
ValueListEntryOid = -2
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Körperstrukturen (Komponente s)",
ParentOid = null,
ValueListEntryOid = -3
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Aktivitäten und Partizipationen (Komponente d)",
ParentOid = null,
ValueListEntryOid = -4
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Umweltfaktoren (Komponente e)",
ParentOid = null,
ValueListEntryOid = -5
});
return listEntries;
}
}
}

View File

@@ -64,18 +64,18 @@
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Center">Ort</Label>
<Label Grid.Column="0" Grid.Row="4" Margin="3" VerticalAlignment="Top">Bemerkung</Label>
<Label x:Name="lblArchiviert" Grid.Column="0" Grid.Row="5" Margin="3" VerticalAlignment="Center">Archiviert</Label>
<TextBox x:Name="textbox_first" Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{Binding Path=WohnheimName, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{Binding Path=Strasse, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
<TextBox Grid.Column="1" Grid.Row="2" Margin="3" Height="23" Text="{Binding Path=PLZ, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
<TextBox Grid.Column="1" Grid.Row="3" Margin="3" Height="23" Text="{Binding Path=Ort, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
<TextBox TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" Grid.Column="1" Grid.Row="4" Margin="3" Height="100" Width="500" Text="{Binding Path=Bemerkung, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" />
<CheckBox x:Name="chkArchiviert" Grid.Column="1" Grid.Row="5" Margin="3" Height="23"
<CheckBox x:Name="chkArchiviert" Grid.Column="1" Grid.Row="5" Margin="3" Height="23"
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</GroupBox>
</Grid>
</ScrollViewer>
@@ -93,7 +93,7 @@
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.ColumnSpan="1" HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="25" Margin="3" Content="Klienten Hinzufügen" x:Name="button_addKlientRelation" Click="button_addKlientRelation_Klick" />
<dxg:GridControl x:Name="grid_CustomerRelation" Grid.Row="1" VerticalAlignment="Stretch" DataSource="{Binding Path=WohnheimCustomerRelations.VMList}"
HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
@@ -165,12 +165,20 @@
</Grid.RowDefinitions>
<GroupBox Visibility="Visible" x:Name="groupbox_newMitarbeiterRel" Header="Zugeordnete Mitarbeiter" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="26*"/>
<ColumnDefinition Width="29*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.ColumnSpan="1" HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="25" Margin="3" Content="Mitarbeiter Hinzufügen" x:Name="button_addMitarbeiterRelation_Click" Click="button_addMitarbeiterRelation_Klick" />
<Popup Grid.Row="0" x:Name="popup_newEmployeeRel" Width="350" StaysOpen="True" Placement="MousePoint">
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.ColumnSpan="2">
<Button x:Name="button_addMitarbeiterRelation_Click" Height="25" Margin="3" Content="Mitarbeiter hinzufügen" Click="button_addMitarbeiterRelation_Klick" />
<Button x:Name="button_openTeamRelation" Height="25" Margin="3" Content="Ganzes Team hinzufügen" Click="button_openTeamRelation_Click"/>
</WrapPanel>
<Popup Grid.Row="0" x:Name="popup_newEmployeeRel" Width="350" StaysOpen="True" Placement="MousePoint" Grid.ColumnSpan="2" Margin="45,0">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newEmployeeRel" Header="Mitarbeiter zuordnen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
@@ -211,7 +219,51 @@
</GroupBox>
</Border>
</Popup>
<dxg:GridControl x:Name="grid_EmployeeRelation" Grid.Row="1" VerticalAlignment="Stretch" DataSource="{Binding Path=WohnheimEmployeeRelations.VMList}" HorizontalAlignment="Stretch">
<Popup Grid.Row="0" x:Name="popup_newTeamRel" Width="350" StaysOpen="True" Placement="MousePoint" Grid.ColumnSpan="2" Margin="45,0">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newTeamRel" Header="Team zuordnen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Center" Content="Teams" />
<uc:PopUpEdit IsReadOnly="True"
DeleteButtonVisibility="Collapsed"
Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="3" Height="23" x:Name="popupedit_TeamRelations"
Text="{val:ValidationBinding Path=WohnheimTeamRelations.Name}"
PopUpClick="popupedit_TeamRelations_PopUpClick"
PreviewMouseDoubleClick="Popupedit_TeamRelations_OnPreviewMouseDoubleClick"
SelectionChanged="popupedit_TeamRelations_SelectionChanged"
Cursor="Arrow" />
<Label Content="Notiz" Grid.Row="2" Grid.Column="0" VerticalAlignment="Top" />
<TextBox Grid.Row="2" Grid.Column="1" Height="50" Margin="3" Grid.ColumnSpan="2"
x:Name="textbox_teamRelations_Notice" />
<Button Grid.Row="3" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Hinzufügen" x:Name="button_addTeamRelation"
Click="button_addTeamRelation_Click" />
<Button Grid.Row="3" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Abbrechen" x:Name="button_cancelTeamRelation"
Click="button_cancelTeamRelation_Click" />
</Grid>
</GroupBox>
</Border>
</Popup>
<dxg:GridControl x:Name="grid_EmployeeRelation" Grid.Row="1" VerticalAlignment="Stretch" DataSource="{Binding Path=WohnheimEmployeeRelations.VMList}" HorizontalAlignment="Stretch" Grid.ColumnSpan="2">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Notice" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
@@ -255,5 +307,9 @@
Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:EmployeeSearchView x:Name="employeesearchview" />
</Popup>
<Popup Margin="10" x:Name="popup_team" StaysOpen="False" Placement="MousePoint" Width="370" Height="250"
Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:TeamSearchView x:Name="teamsearchview" />
</Popup>
</Grid>
</localView:BeWoView>

View File

@@ -27,6 +27,7 @@ namespace BeWo.View.Detail
private bool initTabIndex;
private List<CompactEmployeeDC> regelmaessigeDiensteVonMitarbeiternLoeschen;
private CompactTeamDC gewaehltesTeam;
public WohnheimView(WohnheimVM pWohnheimDC)
{
@@ -58,9 +59,8 @@ namespace BeWo.View.Detail
lblArchiviert.Visibility = Visibility.Hidden;
chkArchiviert.Visibility = Visibility.Hidden;
}
}
}
private void UserControl_GotFocus(object sender, RoutedEventArgs e)
{
if (e.OriginalSource.Equals(this))
@@ -163,15 +163,66 @@ namespace BeWo.View.Detail
{
if (ValidationTrigger.Validate(groupbox_newEmployeeRel))
{
bool contains = false;
foreach (var item in ViewModel.WohnheimEmployeeRelations.VMList)
{
if (item.Employee.EmployeeOid == ViewModel.WohnheimEmployeeRelations.NewVM.Employee.EmployeeOid)
{
contains = true;
break;
}
}
if (contains)
return;
popup_newEmployeeRel.IsOpen = false;
ViewModel.WohnheimEmployeeRelations.AddNewVMToList();
}
}
private void button_addTeamRelation_Click(object sender, RoutedEventArgs e) //TEAM
{
if (ValidationTrigger.Validate(groupbox_newTeamRel))
{
popup_newTeamRel.IsOpen = false;
var empsInTeam = ServiceFacade.DoOperationsServiceSync(s => s.GetCompactEmployeesForTeam(gewaehltesTeam.TeamOid));
var notice = textbox_teamRelations_Notice.Text;
foreach (var emp in empsInTeam)
{
bool contains = false;
foreach (var item in ViewModel.WohnheimEmployeeRelations.VMList)
{
if (item.Employee.EmployeeOid == emp.EmployeeOid)
{
contains = true;
break;
}
}
if (contains)
continue;
ViewModel.WohnheimEmployeeRelations.NewVM.Employee = emp;
ViewModel.WohnheimEmployeeRelations.NewVM.Notice= notice;
ViewModel.WohnheimEmployeeRelations.AddNewVMToList();
}
}
}
private void button_openTeamRelation_Click(object sender, RoutedEventArgs e) // TEAM
{
popup_newTeamRel.IsOpen = true;
}
private void button_cancelEmployeeRelation_Click(object sender, RoutedEventArgs e)
{
popup_newEmployeeRel.IsOpen = false;
}
private void button_cancelTeamRelation_Click(object sender, RoutedEventArgs e)
{
popup_newTeamRel.IsOpen = false;
}
private void Employeesearchview_EnvironmentEmployeeSelected(object sender, EventArgs<CompactEmployeeDC> e)
{
@@ -187,6 +238,23 @@ namespace BeWo.View.Detail
popup_employee.IsOpen = true;
}
private void Teamsearchview_EnvironmentTeamSelected(object sender, EventArgs<CompactTeamDC> e)
{
popup_team.IsOpen = false;
teamsearchview.ItemSelected -= Teamsearchview_EnvironmentTeamSelected;
ViewModel.WohnheimTeamRelations = e.Data;
ViewModel.WohnheimTeamRelations.Name = e.Data.Name;
gewaehltesTeam = e.Data;
popup_team.Focus();
}
private void popupedit_TeamRelations_PopUpClick(object sender, RoutedEventArgs e) // First
{
teamsearchview.ItemSelected += Teamsearchview_EnvironmentTeamSelected;
popup_team.IsOpen = true;
}
private void Popupedit_EmployeeRelations_OnPreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit)sender, e) || !BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
@@ -196,6 +264,20 @@ namespace BeWo.View.Detail
CreateModalViewWindow(ViewModel.WohnheimEmployeeRelations.NewVM.Employee);
}
private void Popupedit_TeamRelations_OnPreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) // TEAM
{
if (!BeWoUtils.CheckPopupEditClickableSpace((PopUpEdit)sender, e) || !BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View))
{
return;
}
CreateModalViewWindow(ViewModel.WohnheimTeamRelations);
}
private void popupedit_TeamRelations_SelectionChanged(object sender, RoutedEventArgs e)
{
popup_team.IsOpen = false;
//popupedit_TeamRelations.Text = popupedit_TeamRelations.SelectedText;
}
public void button_removeEmployeeRelation_Click(object sender, RoutedEventArgs e)
{
@@ -212,6 +294,18 @@ namespace BeWo.View.Detail
private void button_addKlientRelation_Click(object sender, RoutedEventArgs e)
{
bool contains = false;
foreach (var item in ViewModel.WohnheimCustomerRelations.VMList)
{
if (item.Customer.Oid == ViewModel.WohnheimCustomerRelations.NewVM.Customer.CustomerOid)
{
contains = true;
break;
}
}
if (contains)
return;
popup_newKlientRel.IsOpen = false;
ViewModel.WohnheimCustomerRelations.AddNewVMToList();
}
@@ -279,6 +373,9 @@ namespace BeWo.View.Detail
private void CreateModalViewWindow<T>(T pDC) where T : IDataContract
{
if (pDC == null)
return;
var pDCType = pDC.GetType();
if (pDCType == typeof(CompactEmployeeDC))
@@ -297,5 +394,7 @@ namespace BeWo.View.Detail
() => BeWoUtils.UpdateAllViews((pDC as CompactCustomerDC))))));
}
}
}
}
}

View File

@@ -9,6 +9,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using System.Windows.Forms;
using BS.Shared.DataContracts.Compact;
namespace BeWo.ViewModel
{
@@ -18,6 +19,7 @@ namespace BeWo.ViewModel
public static string PropertyName_WohnheimEmployeeRelations = "WohnheimEmployeeRelations";
public static string PropertyName_WohnheimCustomerRelations = "WohnheimCustomerRelations";
public static string PropertyName_WohnheimTeamRelations = "WohnheimTeamRelations";
public static string PropertyName_IsArchived = "IsArchived";
@@ -43,6 +45,7 @@ namespace BeWo.ViewModel
private WohnheimEmployeeRelationListVM _WohnheimEmployeeRelations;
private WohnheimCustomerRelationListVM _WohnheimCustomerRelations;
private CompactTeamDC _WohnheimTeamRelations;
public WohnheimVM(WohnheimDC pWohnheimDC)
: base(pWohnheimDC, pWohnheimDC.WohnheimOid == null)
@@ -172,6 +175,16 @@ namespace BeWo.ViewModel
FirePropertyChanged(PropertyName_WohnheimCustomerRelations);
}
}
public CompactTeamDC WohnheimTeamRelations
{
get { return _WohnheimTeamRelations; }
set
{
_WohnheimTeamRelations = value;
FirePropertyChanged(PropertyName_WohnheimTeamRelations);
}
}
// HACK: Bug bei den RadioButtons, geben false nicht weiter
// TODO nochmal angucken wenn mehr als zwei Optionen, dann in listbox und an selected item binden

View File

@@ -200,6 +200,7 @@
<Compile Include="Entities\AbwesenheitsInformationPrint.cs" />
<Compile Include="Entities\AddressHistory.cs" />
<Compile Include="Entities\ConfirmationReceiptSignature.cs" />
<Compile Include="Entities\CostBearer2SupportConceptHistory.cs" />
<Compile Include="Entities\Dienstvertretung.cs" />
<Compile Include="Entities\Dokumentvorlage.cs" />
<Compile Include="Entities\GeschenkterUrlaubstag.cs" />
@@ -271,6 +272,8 @@
<Compile Include="Entities\ChatBewoMessageSync.cs" />
<Compile Include="Entities\PersonHistory.cs" />
<Compile Include="Entities\QuittierungsCheck.cs" />
<Compile Include="Entities\SupportConceptApprovalPeriodHistory.cs" />
<Compile Include="Entities\SupportConceptHistory.cs" />
<Compile Include="Entities\Textbaustein.cs" />
<Compile Include="Entities\Timesheet2Mail.cs" />
<Compile Include="Entities\Token.cs" />
@@ -709,6 +712,15 @@
<EmbeddedResource Include="Mappings\RegelmaessigerDienst.hbm.xml" />
<EmbeddedResource Include="Mappings\GeschenkterUrlaubstag.hbm.xml" />
<EmbeddedResource Include="Mappings\AbwesenheitsInformationPrint.hbm.xml" />
<EmbeddedResource Include="Mappings\SupportConceptHistory.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Costbearer2SupportConceptHistory.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\SupportConceptApprovalPeriodHistory.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -0,0 +1,194 @@
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class CostBearer2SupportConceptHistory : BeWoEntityBase
{
private IList<AccountingTransaction> _CostBearer2SupportConcept_AccountingTransactions;
private IList<SupportConceptApprovalPeriodHistory> _CostBearer2SupportConcept_SupportConceptApprovalPeriodList;
private DateTime? _CostBearer2SupportConcept_ApprovedEndDate;
private DateTime? _CostBearer2SupportConcept_ApprovedStartDate;
private long? _CostBearer2SupportConcept_CostBearerOid;
private long? _CostBearer2SupportConcept_CostBearerContactPersonOid;
private string _CostBearer2SupportConcept_CustomerReferenceNumber;
private string _CostBearer2SupportConcept_AuswahlBezeichnung;
private decimal? _CostBearer2SupportConcept_MonthlyPayment;
private DateTime? _CostBearer2SupportConcept_RequestedEndDate;
private DateTime? _CostBearer2SupportConcept_RequestedStartDate;
private IList<ServiceRecord> _CostBearer2SupportConcept_ServiceRecords;
private CostBearer2SupportConceptStatus _CostBearer2SupportConcept_Status;
private long? _CostBearer2SupportConcept_SupportConceptHistoryOid;
private long? _CostBearer2SupportConcept_ServiceCategoryOid;
private StatementType _ChangeType;
public CostBearer2SupportConceptHistory()
{
_Tid = TableID.Costbearer2SupportConceptHistory;
}
public IList<AccountingTransaction> CostBearer2SupportConcept_AccountingTransactions
{
get { return _CostBearer2SupportConcept_AccountingTransactions; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_AccountingTransactions, value))
_CostBearer2SupportConcept_AccountingTransactions = value;
}
}
public IList<SupportConceptApprovalPeriodHistory> CostBearer2SupportConcept_SupportConceptApprovalPeriodList
{
get { return _CostBearer2SupportConcept_SupportConceptApprovalPeriodList; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_SupportConceptApprovalPeriodList, value))
_CostBearer2SupportConcept_SupportConceptApprovalPeriodList = value;
}
}
public DateTime? CostBearer2SupportConcept_ApprovedEndDate
{
get { return _CostBearer2SupportConcept_ApprovedEndDate; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_ApprovedEndDate, value))
_CostBearer2SupportConcept_ApprovedEndDate = value;
}
}
public DateTime? CostBearer2SupportConcept_ApprovedStartDate
{
get { return _CostBearer2SupportConcept_ApprovedStartDate; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_ApprovedStartDate, value))
_CostBearer2SupportConcept_ApprovedStartDate = value;
}
}
public long? CostBearer2SupportConcept_CostBearerOid
{
get { return _CostBearer2SupportConcept_CostBearerOid; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_CostBearerOid, value))
_CostBearer2SupportConcept_CostBearerOid = value;
}
}
public long? CostBearer2SupportConcept_CostBearerContactPersonOid
{
get { return _CostBearer2SupportConcept_CostBearerContactPersonOid; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_CostBearerContactPersonOid, value))
_CostBearer2SupportConcept_CostBearerContactPersonOid = value;
}
}
public string CostBearer2SupportConcept_CustomerReferenceNumber
{
get { return _CostBearer2SupportConcept_CustomerReferenceNumber; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_CustomerReferenceNumber, value))
_CostBearer2SupportConcept_CustomerReferenceNumber = value;
}
}
public string CostBearer2SupportConcept_AuswahlBezeichnung
{
get { return _CostBearer2SupportConcept_AuswahlBezeichnung; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_AuswahlBezeichnung, value))
_CostBearer2SupportConcept_AuswahlBezeichnung = value;
}
}
public decimal? CostBearer2SupportConcept_MonthlyPayment
{
get { return _CostBearer2SupportConcept_MonthlyPayment; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_MonthlyPayment, value))
_CostBearer2SupportConcept_MonthlyPayment = value;
}
}
public DateTime? CostBearer2SupportConcept_RequestedEndDate
{
get { return _CostBearer2SupportConcept_RequestedEndDate; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_RequestedEndDate, value))
_CostBearer2SupportConcept_RequestedEndDate = value;
}
}
public DateTime? CostBearer2SupportConcept_RequestedStartDate
{
get { return _CostBearer2SupportConcept_RequestedStartDate; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_RequestedStartDate, value))
_CostBearer2SupportConcept_RequestedStartDate = value;
}
}
public IList<ServiceRecord> CostBearer2SupportConcept_ServiceRecords
{
get { return _CostBearer2SupportConcept_ServiceRecords; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_ServiceRecords, value))
_CostBearer2SupportConcept_ServiceRecords = value;
}
}
public CostBearer2SupportConceptStatus CostBearer2SupportConcept_Status
{
get { return _CostBearer2SupportConcept_Status; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_Status, value))
_CostBearer2SupportConcept_Status = value;
}
}
public long? CostBearer2SupportConcept_SupportConceptHistoryOid
{
get { return _CostBearer2SupportConcept_SupportConceptHistoryOid; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_SupportConceptHistoryOid, value))
_CostBearer2SupportConcept_SupportConceptHistoryOid = value;
}
}
public long? CostBearer2SupportConcept_ServiceCategoryOid
{
get { return _CostBearer2SupportConcept_ServiceCategoryOid; }
set
{
if (AreDifferent(_CostBearer2SupportConcept_ServiceCategoryOid, value))
_CostBearer2SupportConcept_ServiceCategoryOid = value;
}
}
public virtual StatementType ChangeType
{
get { return _ChangeType; }
set
{
if (AreDifferent(_ChangeType, value))
_ChangeType = value;
}
}
}
}

View File

@@ -0,0 +1,199 @@
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class SupportConceptApprovalPeriodHistory : BeWoEntityBase
{
private IList<SupportConceptApprovalPeriod2Employee> _SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee;
private SupportConceptApprovalInterval? _SupportConceptApprovalPeriod_ApprovedBEInterval;
private decimal? _SupportConceptApprovalPeriod_ApprovedBEPerInterval;
private SupportConceptApprovalInterval? _SupportConceptApprovalPeriod_ContactCountInterval;
private decimal? _SupportConceptApprovalPeriod_ContactCountPerInterval;
private decimal? _SupportConceptApprovalPeriod_ApprovedBETotal;
private decimal? _SupportConceptApprovalPeriod_ApprovedFixedAmount;
private SupportConceptApprovalInterval? _SupportConceptApprovalPeriod_ApprovedFixedAmountInterval;
private long? _SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid;
private long? _SupportConceptApprovalPeriod_SupportConceptHistoryOid;
private DateTime? _SupportConceptApprovalPeriod_EndDate;
private bool _SupportConceptApprovalPeriod_IsApprovedBEShifting;
private bool _SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting;
private decimal? _SupportConceptApprovalPeriod_MonthlyPayment;
private DateTime? _SupportConceptApprovalPeriod_StartDate;
private long? _SupportConceptApprovalPeriod_BudgetOid;
private Bewilligungsart _SupportConceptApprovalPeriod_Bewilligungsart;
private StatementType _ChangeType;
public SupportConceptApprovalPeriodHistory()
{
_Tid = TableID.SupportConceptApprovalPeriodHistory;
}
public IList<SupportConceptApprovalPeriod2Employee> SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee
{
get { return _SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee ?? (_SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee = new List<SupportConceptApprovalPeriod2Employee>()); }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee, value))
_SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee = value;
}
}
public SupportConceptApprovalInterval? SupportConceptApprovalPeriod_ApprovedBEInterval
{
get { return _SupportConceptApprovalPeriod_ApprovedBEInterval; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ApprovedBEInterval, value))
_SupportConceptApprovalPeriod_ApprovedBEInterval = value;
}
}
public decimal? SupportConceptApprovalPeriod_ApprovedBEPerInterval
{
get { return _SupportConceptApprovalPeriod_ApprovedBEPerInterval; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ApprovedBEPerInterval, value))
_SupportConceptApprovalPeriod_ApprovedBEPerInterval = value;
}
}
public SupportConceptApprovalInterval? SupportConceptApprovalPeriod_ContactCountInterval
{
get { return _SupportConceptApprovalPeriod_ContactCountInterval; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ContactCountInterval, value))
_SupportConceptApprovalPeriod_ContactCountInterval = value;
}
}
public decimal? SupportConceptApprovalPeriod_ContactCountPerInterval
{
get { return _SupportConceptApprovalPeriod_ContactCountPerInterval; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ContactCountPerInterval, value))
_SupportConceptApprovalPeriod_ContactCountPerInterval = value;
}
}
public decimal? SupportConceptApprovalPeriod_ApprovedBETotal
{
get { return _SupportConceptApprovalPeriod_ApprovedBETotal; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ApprovedBETotal, value))
_SupportConceptApprovalPeriod_ApprovedBETotal = value;
}
}
public decimal? SupportConceptApprovalPeriod_ApprovedFixedAmount
{
get { return _SupportConceptApprovalPeriod_ApprovedFixedAmount; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ApprovedFixedAmount, value))
_SupportConceptApprovalPeriod_ApprovedFixedAmount = value;
}
}
public SupportConceptApprovalInterval? SupportConceptApprovalPeriod_ApprovedFixedAmountInterval
{
get { return _SupportConceptApprovalPeriod_ApprovedFixedAmountInterval; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_ApprovedFixedAmountInterval, value))
_SupportConceptApprovalPeriod_ApprovedFixedAmountInterval = value;
}
}
public long? SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid
{
get { return _SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid, value))
_SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid = value;
}
}
public long? SupportConceptApprovalPeriod_SupportConceptHistoryOid
{
get { return _SupportConceptApprovalPeriod_SupportConceptHistoryOid; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_SupportConceptHistoryOid, value))
_SupportConceptApprovalPeriod_SupportConceptHistoryOid = value;
}
}
public DateTime? SupportConceptApprovalPeriod_EndDate
{
get { return _SupportConceptApprovalPeriod_EndDate; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_EndDate, value))
_SupportConceptApprovalPeriod_EndDate = value;
}
}
public bool SupportConceptApprovalPeriod_IsApprovedBEShifting
{
get { return _SupportConceptApprovalPeriod_IsApprovedBEShifting; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_IsApprovedBEShifting, value))
_SupportConceptApprovalPeriod_IsApprovedBEShifting = value;
}
}
public bool SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting
{
get { return _SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting, value))
_SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting = value;
}
}
public decimal? SupportConceptApprovalPeriod_MonthlyPayment
{
get { return _SupportConceptApprovalPeriod_MonthlyPayment; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_MonthlyPayment, value))
_SupportConceptApprovalPeriod_MonthlyPayment = value;
}
}
public DateTime? SupportConceptApprovalPeriod_StartDate
{
get { return _SupportConceptApprovalPeriod_StartDate; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_StartDate, value))
_SupportConceptApprovalPeriod_StartDate = value;
}
}
public long? SupportConceptApprovalPeriod_BudgetOid
{
get { return _SupportConceptApprovalPeriod_BudgetOid; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_BudgetOid, value))
_SupportConceptApprovalPeriod_BudgetOid = value;
}
}
public Bewilligungsart SupportConceptApprovalPeriod_Bewilligungsart
{
get { return _SupportConceptApprovalPeriod_Bewilligungsart; }
set
{
if (AreDifferent(_SupportConceptApprovalPeriod_Bewilligungsart, value))
_SupportConceptApprovalPeriod_Bewilligungsart = value;
}
}
public StatementType ChangeType
{
get { return _ChangeType; }
set
{
if (AreDifferent(_ChangeType, value))
_ChangeType = value;
}
}
}
}

View File

@@ -0,0 +1,265 @@
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class SupportConceptHistory : BeWoEntityBase
{
private DateTime? _SupportConcept_ApprovalDate;
private bool? _SupportConcept_Conference;
private DateTime? _SupportConcept_ConferenceDate;
private string _SupportConcept_ConferenceVenue;
private bool? _SupportConcept_ConsultingNeeded;
private IList<CostBearer2SupportConcept> _SupportConcept_CostBearer2SupportConceptList;
private long? _SupportConcept_CustomerOid;
private long? _SupportConcept_EmployeeOid;
private DateTime? _SupportConcept_RenewalSendDate;
private DateTime? _SupportConcept_RequisitionSendDate;
private DateTime? _SupportConcept_SupportConceptSendDate;
private long? _SupportConceptOid;
private StatementType _ChangeType;
public SupportConceptHistory()
{
_Tid = TableID.SupportConceptHistory;
}
public virtual DateTime? SupportConcept_ApprovalDate
{
get { return _SupportConcept_ApprovalDate; }
set
{
if (AreDifferent(_SupportConcept_ApprovalDate, value))
{
_SupportConcept_ApprovalDate = value;
}
}
}
public virtual bool? SupportConcept_Conference
{
get { return _SupportConcept_Conference; }
set
{
if (AreDifferent(_SupportConcept_Conference, value))
{
_SupportConcept_Conference = value;
}
}
}
public virtual DateTime? SupportConcept_ConferenceDate
{
get { return _SupportConcept_ConferenceDate; }
set
{
if (AreDifferent(_SupportConcept_ConferenceDate, value))
{
_SupportConcept_ConferenceDate = value;
}
}
}
public virtual string SupportConcept_ConferenceVenue
{
get { return _SupportConcept_ConferenceVenue; }
set
{
if (AreDifferent(_SupportConcept_ConferenceVenue, value))
{
_SupportConcept_ConferenceVenue = value;
}
}
}
public virtual bool? SupportConcept_ConsultingNeeded
{
get { return _SupportConcept_ConsultingNeeded; }
set
{
if (AreDifferent(_SupportConcept_ConsultingNeeded, value))
{
_SupportConcept_ConsultingNeeded = value;
}
}
}
public virtual IList<CostBearer2SupportConcept> SupportConcept_CostBearer2SupportConceptList // HELP: entsprechende History zurückgeben oder das Original?
{
get
{
return _SupportConcept_CostBearer2SupportConceptList ?? (_SupportConcept_CostBearer2SupportConceptList = new List<CostBearer2SupportConcept>());
}
set
{
if (AreDifferent(_SupportConcept_CostBearer2SupportConceptList, value))
{
_SupportConcept_CostBearer2SupportConceptList = value;
}
}
}
public virtual long? SupportConcept_CustomerOid
{
get { return _SupportConcept_CustomerOid; }
set
{
if (AreDifferent(_SupportConcept_CustomerOid, value))
{
_SupportConcept_CustomerOid = value;
}
}
}
public virtual DateTime? SupportConcept_EndDate
{
get
{
DateTime? maxDate = null;
foreach (CostBearer2SupportConcept cb in SupportConcept_CostBearer2SupportConceptList)
{
DateTime? end = null;
end = cb.ApprovedEndDate;
if (end == null)
{
end = cb.RequestedEndDate;
}
if (maxDate == null || (end != null && end.Value > maxDate.Value))
{
maxDate = end;
}
}
return maxDate;
}
}
public virtual long? SupportConcept_EmployeeOid
{
get { return _SupportConcept_EmployeeOid; }
set
{
if (AreDifferent(_SupportConcept_EmployeeOid, value))
{
_SupportConcept_EmployeeOid = value;
}
}
}
public virtual DateTime? SupportConcept_RenewalSendDate
{
get { return _SupportConcept_RenewalSendDate; }
set
{
if (AreDifferent(_SupportConcept_RenewalSendDate, value))
{
_SupportConcept_RenewalSendDate = value;
}
}
}
public virtual DateTime? SupportConcept_RequisitionSendDate
{
get { return _SupportConcept_RequisitionSendDate; }
set
{
if (AreDifferent(_SupportConcept_RequisitionSendDate, value))
{
_SupportConcept_RequisitionSendDate = value;
}
}
}
public virtual DateTime? SupportConcept_StartDate
{
get
{
DateTime? minDate = null;
foreach (CostBearer2SupportConcept cb in SupportConcept_CostBearer2SupportConceptList)
{
DateTime? start = null;
start = cb.ApprovedStartDate;
if (start == null)
{
start = cb.RequestedStartDate;
}
if (minDate == null || (start != null && start.Value < minDate.Value))
{
minDate = start;
}
}
return minDate;
}
}
public virtual DateTime? SupportConcept_SupportConceptSendDate
{
get { return _SupportConcept_SupportConceptSendDate; }
set
{
if (AreDifferent(_SupportConcept_SupportConceptSendDate, value))
{
_SupportConcept_SupportConceptSendDate = value;
}
}
}
public virtual long? SupportConceptOid
{
get { return _SupportConceptOid; }
set
{
if (AreDifferent(_SupportConceptOid, value))
{
_SupportConceptOid = value;
}
}
}
public virtual string SupportConcept_TimeSpanString
{
get { return string.Format("{0:dd.MM.yyyy} - {1:dd.MM.yyyy}", SupportConcept_StartDate, SupportConcept_EndDate); }
}
public virtual StatementType ChangeType
{
get { return _ChangeType; }
set {
if (AreDifferent(_ChangeType, value))
_ChangeType = value;
}
}
}
}

View File

@@ -60,7 +60,7 @@ namespace BeWo.Data.ICF
return returnvalue;
}
public static List<List<ValueListEntryDC>> GetWholeIcf()
public static List<ValueListEntryDC> GetWholeIcf()
{
if (_RootList == null)
return null;
@@ -74,7 +74,83 @@ namespace BeWo.Data.ICF
}
return returnvalueList;
// Alles in eine Liste und übergeordnete Kapitel einfügen
List<ValueListEntryDC> listEntries = new List<ValueListEntryDC>();
var counter = 0;
foreach (var list in returnvalueList)
{
if (listEntries.Count == 0)
{
listEntries.Add(list[0]);
listEntries = AddKlassifikationen(listEntries);
}
if (listEntries.Count > 0)
{
foreach (var item in list)
{
if (item != null)
{
int? parentOid = null;
switch (counter)
{
case 0:
parentOid = -2;
break;
case 1:
parentOid = -3;
break;
case 2:
parentOid = -4;
break;
case 3:
parentOid = -5;
break;
}
if (item.DisplayName != "ICF")
{
if (item.ParentOid == null)
item.ParentOid = (int)parentOid;
listEntries.Add(item);
}
}
}
counter++;
}
}
return listEntries;
}
public static List<ValueListEntryDC> AddKlassifikationen(List<ValueListEntryDC> listEntries)
{
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Körperfunktionen (Komponente b)",
ParentOid = null,
ValueListEntryOid = -2
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Körperstrukturen (Komponente s)",
ParentOid = null,
ValueListEntryOid = -3
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Aktivitäten und Partizipationen (Komponente d)",
ParentOid = null,
ValueListEntryOid = -4
});
listEntries.Add(new ValueListEntryDC()
{
TypeDescription = "Klassifikation der Umweltfaktoren (Komponente e)",
ParentOid = null,
ValueListEntryOid = -5
});
return listEntries;
}
//var chapters = root.Descendants("SubClass");

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.CostBearer2SupportConceptHistory, BeWo.Data" table="CostBearer2SupportConceptHistory" lazy="false">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version column="Version" type="Int64" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Notice" type="String" name="Notice" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" />
<property column="UdpUser" type="String" name="UdpUser" />
<property column="ChangeType" type="BS.Shared.StatementType, BS.Shared" name="ChangeType" />
<property name="CostBearer2SupportConcept_CostBearerOid" type="Int64" />
<property name="CostBearer2SupportConcept_SupportConceptHistoryOid" type="Int64"/>
<property name="CostBearer2SupportConcept_Status" type="BS.Shared.CostBearer2SupportConceptStatus, BS.Shared"/>
<property name="CostBearer2SupportConcept_RequestedStartDate" type="DateTime"/>
<property name="CostBearer2SupportConcept_RequestedEndDate" type="DateTime"/>
<property name="CostBearer2SupportConcept_ApprovedStartDate" type="DateTime"/>
<property name="CostBearer2SupportConcept_ApprovedEndDate" type="DateTime"/>
<property name="CostBearer2SupportConcept_MonthlyPayment" type="System.Decimal"/>
<property name="CostBearer2SupportConcept_CostBearerContactPersonOid" type="System.Decimal"/>
<property name="CostBearer2SupportConcept_AuswahlBezeichnung" type="String"/>
</class>
</hibernate-mapping>

View File

@@ -23,6 +23,7 @@
<property column="UdpUser" type="String" name="UdpUser" />
<many-to-one name="Customer" column="CustomerOid" class="BeWo.Data.Entities.Customer, BeWo.Data" fetch="join"/>
<many-to-one name="Originator" column="EmployeeOid" class="BeWo.Data.Entities.Employee, BeWo.Data" />
<bag name="CostBearer2SupportConceptList" table="CostBearer2SupportConcept" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="SupportConceptOid" />
<one-to-many class="BeWo.Data.Entities.CostBearer2SupportConcept,BeWo.Data" />

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.SupportConceptApprovalPeriodHistory, BeWo.Data" table="SupportConceptApprovalPeriodHistory" lazy="false">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version column="Version" type="Int64" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Notice" type="String" name="Notice" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" />
<property column="UdpUser" type="String" name="UdpUser" />
<property column="ChangeType" type="BS.Shared.StatementType, BS.Shared" name="ChangeType" />
<property name="SupportConceptApprovalPeriod_ApprovedBEInterval" type="BS.Shared.SupportConceptApprovalInterval, BS.Shared" />
<property name="SupportConceptApprovalPeriod_ApprovedBEPerInterval" type="System.Decimal" />
<property name="SupportConceptApprovalPeriod_ContactCountInterval" type="BS.Shared.SupportConceptApprovalInterval, BS.Shared" />
<property name="SupportConceptApprovalPeriod_ContactCountPerInterval" type="System.Decimal" />
<property name="SupportConceptApprovalPeriod_ApprovedBETotal" type="System.Decimal" />
<property name="SupportConceptApprovalPeriod_ApprovedFixedAmount" type="System.Decimal" />
<property name="SupportConceptApprovalPeriod_ApprovedFixedAmountInterval" type="BS.Shared.SupportConceptApprovalInterval, BS.Shared" />
<property name="SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid" type="Int64" />
<property name="SupportConceptApprovalPeriod_SupportConceptHistoryOid" type="Int64" />
<property name="SupportConceptApprovalPeriod_EndDate" type="DateTime" />
<property name="SupportConceptApprovalPeriod_IsApprovedBEShifting" type="Boolean" />
<property name="SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting" type="Boolean" />
<property name="SupportConceptApprovalPeriod_MonthlyPayment" type="System.Decimal" />
<property name="SupportConceptApprovalPeriod_StartDate" type="DateTime" />
<property name="SupportConceptApprovalPeriod_BudgetOid" type="Int64" />
<property name="SupportConceptApprovalPeriod_Bewilligungsart" type="BS.Shared.Bewilligungsart, BS.Shared" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.SupportConceptHistory, BeWo.Data" table="SupportConceptHistory" lazy="false">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version column="Version" type="Int64" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="SupportConcept_Conference" type="Boolean" name="SupportConcept_Conference" />
<property column="SupportConcept_ConferenceVenue" type="String" name="SupportConcept_ConferenceVenue" />
<property column="SupportConcept_ConferenceDate" type="DateTime" name="SupportConcept_ConferenceDate" />
<property column="SupportConcept_ApprovalDate" type="DateTime" name="SupportConcept_ApprovalDate" />
<property column="SupportConcept_RenewalSendDate" type="DateTime" name="SupportConcept_RenewalSendDate" />
<property column="SupportConcept_RequisitionSendDate" type="DateTime" name="SupportConcept_RequisitionSendDate" />
<property column="SupportConcept_SupportConceptSendDate" type="DateTime" name="SupportConcept_SupportConceptSendDate" />
<property column="SupportConcept_ConsultingNeeded" type="Boolean" name="SupportConcept_ConsultingNeeded" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Notice" type="String" name="Notice" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" />
<property column="UdpUser" type="String" name="UdpUser" />
<property column="ChangeType" type="BS.Shared.StatementType, BS.Shared" name="ChangeType" />
<property name="SupportConcept_CustomerOid" type="Int64" />
<property name="SupportConcept_EmployeeOid" type="Int64" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,25 @@
CREATE TABLE `supportconcepthistory` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`SupportConcept_CustomerOid` bigint NOT NULL,
`SupportConcept_EmployeeOid` bigint DEFAULT NULL,
`Tid` int NOT NULL,
`SupportConcept_Conference` tinyint DEFAULT NULL,
`SupportConcept_Originator` varchar(256) DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`Notice` mediumtext,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`SupportConcept_ConferenceDate` datetime DEFAULT NULL,
`SupportConcept_ApprovalDate` datetime DEFAULT NULL,
`SupportConcept_ConsultingNeeded` tinyint DEFAULT NULL,
`SupportConcept_RenewalSendDate` datetime DEFAULT NULL,
`SupportConcept_RequisitionSendDate` datetime DEFAULT NULL,
`SupportConcept_SupportConceptSendDate` datetime DEFAULT NULL,
`SupportConcept_ConferenceVenue` varchar(1024) DEFAULT NULL,
`ChangeType` tinyint DEFAULT NULL,
`SupportConceptOid` bigint DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -0,0 +1,28 @@
CREATE TABLE `costbearer2supportconcepthistory` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Notice` varchar(1024) DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`InsTs` datetime DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`Tid` int NOT NULL,
`SystemEntryID` int DEFAULT NULL,
`CostBearer2SupportConcept_CostBearerOid` bigint DEFAULT NULL,
`CostBearer2SupportConcept_SupportConceptHistoryOid` bigint DEFAULT NULL,
`CostBearer2SupportConcept_HourlyRate` decimal(18,10) DEFAULT NULL,
`CostBearer2SupportConcept_RateFactor` decimal(18,10) DEFAULT NULL,
`CostBearer2SupportConcept_ApprovedFLS` decimal(18,10) DEFAULT NULL,
`CostBearer2SupportConcept_ApprovedFLSTotal` decimal(18,10) DEFAULT NULL,
`CostBearer2SupportConcept_Status` int DEFAULT NULL,
`CostBearer2SupportConcept_RequestedStartDate` datetime DEFAULT NULL,
`CostBearer2SupportConcept_RequestedEndDate` datetime DEFAULT NULL,
`CostBearer2SupportConcept_ApprovedStartDate` datetime DEFAULT NULL,
`CostBearer2SupportConcept_ApprovedEndDate` datetime DEFAULT NULL,
`CostBearer2SupportConcept_CustomerReferenceNumber` varchar(512) DEFAULT NULL,
`CostBearer2SupportConcept_MonthlyPayment` decimal(18,10) DEFAULT NULL,
`CostBearer2SupportConcept_CostBearerContactPersonOid` bigint DEFAULT NULL,
`CostBearer2SupportConcept_AuswahlBezeichnung` varchar(512) DEFAULT NULL,
`ChangeType` tinyint DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

View File

@@ -0,0 +1,31 @@
CREATE TABLE `supportconceptapprovalperiodhistory` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Tid` int NOT NULL,
`IsActive` varchar(45) DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`ChangeType` tinyint NOT NULL DEFAULT '0',
`supportconceptapprovalperiod_EndDate` datetime DEFAULT NULL,
`supportconceptapprovalperiod_StartDate` datetime DEFAULT NULL,
`supportconceptapprovalperiod_MonthlyPayment` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_IsApprovedFixedAmountShifting` tinyint(1) DEFAULT NULL,
`supportconceptapprovalperiod_ApprovedBEPerInterval` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_ApprovedBEInterval` int DEFAULT NULL,
`supportconceptapprovalperiod_IsApprovedBEShifting` tinyint(1) DEFAULT NULL,
`supportconceptapprovalperiod_ApprovedBETotal` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_ApprovedFixedAmount` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_ApprovedFixedAmountInterval` int DEFAULT NULL,
`supportconceptapprovalperiod_CostBearer2SupportConceptHistoryOid` bigint DEFAULT NULL,
`supportconceptapprovalperiod_Percentage` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_SupportConceptHistoryOid` bigint DEFAULT NULL,
`supportconceptapprovalperiod_ServiceCategoryOid` bigint DEFAULT NULL,
`supportconceptapprovalperiod_ContactCountPerInterval` decimal(18,10) DEFAULT NULL,
`supportconceptapprovalperiod_ContactCountInterval` int DEFAULT NULL,
`supportconceptapprovalperiod_BudgetOid` bigint DEFAULT NULL,
`supportconceptapprovalperiod_Bewilligungsart` int NOT NULL DEFAULT '0',
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -361,6 +361,11 @@ namespace BeWo.Report.DefaultReports
private System.Windows.Media.Color TransformStringToColor(string colorString)
{
//Hier bei keiner Farbe String weiß machen(Übergangslösung)
if (colorString == null)
colorString = "#FF7B68EE";
int argb = Int32.Parse(colorString.Replace("#", ""), NumberStyles.HexNumber);
var clr = Color.FromArgb(argb);

View File

@@ -7,6 +7,7 @@ using BeWo.Service.ServiceImplementations;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -131,11 +132,27 @@ namespace BeWo.Service.Dienstplanung
{
List<DienstInfo> list = new List<DienstInfo>();
if (whOid == null)
{
list = DAOFactory.GenericDAO.GetAllActive<DienstInfo>().ToList();
var withoutWH = new List<DienstInfo>();
foreach (var d in list)
{
if (d.Wohnheim == null)
withoutWH.Add(d);
}
list.RemoveRange(withoutWH);
list = list.OrderBy(l => l.Wohnheim).ThenBy(d => d.DienstName).ToList();
list.AddRange(withoutWH.OrderBy(w => w.DienstName));
}
else
list = DAOFactory.SearchDAO.FindDiensteForWohnheim(whOid).ToList();
return MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(list);
var dcs = MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(list);
return dcs;//.OrderBy(d => d.Wohnheim).ThenBy(d => d.DienstName).ToList();
}
public static void InsertNewDienst(List<DienstInfoDC> dienst)
{
@@ -397,7 +414,7 @@ namespace BeWo.Service.Dienstplanung
DAOFactory.GenericDAO.Delete(toDelete[i]);
}
}
public static void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd)
public static void RemoveAllDiensteForOneMonth(CompactWohnheimDC wh, DateTime month, List<RegelmaessigerDienstDC> rd)
{
if (rd.Count > 0)
{
@@ -413,12 +430,37 @@ namespace BeWo.Service.Dienstplanung
var alleVertretungen = DAOFactory.GenericDAO.GetAll<Dienstvertretung>();
foreach (var dienst in alleDienste)
{
if (dienst.Datum.Month == month.Month)
if (dienst.Datum.Month == month.Month && dienst.WohnheimOid == wh.WohnheimOid)
DAOFactory.GenericDAO.Delete(dienst);
}
foreach (var vertretung in alleVertretungen)
{
if (vertretung.Datum.Month == month.Month)
if (vertretung.Datum.Month == month.Month && vertretung.WohnheimOid == wh.WohnheimOid)
DAOFactory.GenericDAO.Delete(vertretung);
}
}
public static void RemoveAllDiensteForOneYear(CompactWohnheimDC wh, DateTime year, List<RegelmaessigerDienstDC> rd)
{
if (rd.Count > 0)
{
List<RegelmaessigerDienst> entities = new List<RegelmaessigerDienst>();
foreach (var dienst in rd)
{
entities.Add(DAOFactory.GenericDAO.GetByID<RegelmaessigerDienst>((long)dienst.Oid));
}
DAOFactory.GenericDAO.Delete(entities);
}
var alleDienste = DAOFactory.GenericDAO.GetAll<DienstEintrag>();
var alleVertretungen = DAOFactory.GenericDAO.GetAll<Dienstvertretung>();
foreach (var dienst in alleDienste)
{
if (dienst.Datum.Year == year.Year && dienst.WohnheimOid == wh.WohnheimOid)
DAOFactory.GenericDAO.Delete(dienst);
}
foreach (var vertretung in alleVertretungen)
{
if (vertretung.Datum.Year == year.Year && vertretung.WohnheimOid == wh.WohnheimOid)
DAOFactory.GenericDAO.Delete(vertretung);
}
}
@@ -593,5 +635,12 @@ namespace BeWo.Service.Dienstplanung
{
return true;
}
public static List<CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid)
{
var team = DAOFactory.GenericDAO.GetByID<Team>(teamOid);
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(team.MemberList); ;
}
}
}

View File

@@ -864,7 +864,7 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<List<ValueListEntryDC>> GetWholeIcf();
List<ValueListEntryDC> GetWholeIcf();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
@@ -1154,7 +1154,15 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd);
void RemoveAllDiensteForOneMonth(CompactWohnheimDC dc, DateTime month, List<RegelmaessigerDienstDC> rd);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void RemoveAllDiensteForOneYear(CompactWohnheimDC dc, DateTime year, List<RegelmaessigerDienstDC> rd);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]

View File

@@ -75,6 +75,7 @@ namespace BeWo.Service.ServiceImplementations
try
{
ServiceLogic.SetActivationType<SupportConcept>(pOid, pVersion, ActivationTypeId.Archived);
MakeSupportConceptHistoryEntry(DAOFactory.GenericDAO.GetByID<SupportConcept>(pOid), pOid, StatementType.Archived);
}
catch (Exception e)
{
@@ -175,6 +176,7 @@ namespace BeWo.Service.ServiceImplementations
try
{
ServiceLogic.SetActivationType<SupportConcept>(pOid, pVersion, ActivationTypeId.Deleted);
MakeSupportConceptHistoryEntry(DAOFactory.GenericDAO.GetByID<SupportConcept>(pOid), pOid, StatementType.Delete);
}
catch (Exception e)
{
@@ -187,6 +189,8 @@ namespace BeWo.Service.ServiceImplementations
try
{
ServiceLogic.SetActivationType<SupportConcept>(pOid2Version, ActivationTypeId.Deleted);
foreach (var item in pOid2Version)
MakeSupportConceptHistoryEntry(DAOFactory.GenericDAO.GetByID<SupportConcept>(item.Key), item.Key, StatementType.Delete);
}
catch (Exception e)
{
@@ -1002,6 +1006,8 @@ namespace BeWo.Service.ServiceImplementations
DAOFactory.GenericDAO.Insert(lSupportConcept);
MakeSupportConceptHistoryEntry(lSupportConcept, lSupportConcept.Oid.Value, StatementType.Insert);
return lSupportConcept.Oid.Value;
}
catch (Exception e)
@@ -1332,7 +1338,6 @@ namespace BeWo.Service.ServiceImplementations
try
{
// Alle dazugehörigen ServiceRecords holen
CheckDefaultServiceCategory(pSupportConcept);
var lOriginal = DAOFactory.GenericDAO.LoadByID<SupportConcept>(pSupportConcept.SupportConceptOid.Value);
@@ -1341,6 +1346,7 @@ namespace BeWo.Service.ServiceImplementations
lOriginal.Customer.Customer2CostBearerList.AddRange(lOriginal.CostBearer2SupportConceptList.Where(cb2sc => !lOriginal.Customer.Customer2CostBearerList.Exists(c2cb => c2cb.CostBearer.Equals(cb2sc.CostBearer))).Select(c2cb => new Customer2CostBearer { CostBearer = c2cb.CostBearer, ReferenceNumber = c2cb.CustomerReferenceNumber }));
DAOFactory.GenericDAO.Update(lOriginal);
MakeSupportConceptHistoryEntry(lOriginal, lOriginal.Oid.Value, StatementType.Update);
return lOriginal.Oid.Value;
}
@@ -2180,6 +2186,84 @@ namespace BeWo.Service.ServiceImplementations
var person = lOriginal.Person;
MakeNewPersonHistoryEntry(person, statementType);
}
private static void MakeSupportConceptHistoryEntry(SupportConcept lOriginal, long? Oid, StatementType statementType)
{
var supportConceptHistoryEntry = new SupportConceptHistory()
{
ChangeType = statementType,
SupportConcept_ApprovalDate = lOriginal.ApprovalDate,
SupportConcept_Conference = lOriginal.Conference,
SupportConcept_ConferenceDate = lOriginal.ConferenceDate,
SupportConcept_ConferenceVenue = lOriginal.ConferenceVenue,
SupportConcept_ConsultingNeeded = lOriginal.ConsultingNeeded,
//SupportConcept_CostBearer2SupportConceptList = lOriginal.CostBearer2SupportConceptList,
SupportConcept_CustomerOid = lOriginal.Customer.Oid,
SupportConcept_EmployeeOid = lOriginal.Originator.Oid,
SupportConcept_RenewalSendDate = lOriginal.RenewalSendDate,
SupportConcept_RequisitionSendDate = lOriginal.RequisitionSendDate,
SupportConcept_SupportConceptSendDate = lOriginal.RequisitionSendDate,
SupportConceptOid = lOriginal.Oid,
Notice = lOriginal.Notice
};
DAOFactory.GenericDAO.Insert(supportConceptHistoryEntry);
List<CostBearer2SupportConceptHistory> cb2schToInsert = new List<CostBearer2SupportConceptHistory>();
List<SupportConceptApprovalPeriodHistory> scApprovalPeriodHistoriesToInsert = new List<SupportConceptApprovalPeriodHistory>();
foreach (var originalC2S in lOriginal.CostBearer2SupportConceptList)
{
var C2SHistory = new CostBearer2SupportConceptHistory()
{
CostBearer2SupportConcept_AccountingTransactions = originalC2S.AccountingTransactions,
CostBearer2SupportConcept_ApprovedEndDate = originalC2S.ApprovedEndDate,
CostBearer2SupportConcept_ApprovedStartDate = originalC2S.ApprovedStartDate,
CostBearer2SupportConcept_AuswahlBezeichnung = originalC2S.AuswahlBezeichnung,
CostBearer2SupportConcept_CostBearerContactPersonOid = originalC2S.CostBearerContactPerson.Oid,
CostBearer2SupportConcept_CostBearerOid = originalC2S.CostBearer.Oid,
CostBearer2SupportConcept_CustomerReferenceNumber = originalC2S.CustomerReferenceNumber,
CostBearer2SupportConcept_MonthlyPayment = originalC2S.MonthlyPayment,
CostBearer2SupportConcept_RequestedEndDate = originalC2S.RequestedEndDate,
CostBearer2SupportConcept_RequestedStartDate = originalC2S.RequestedStartDate,
CostBearer2SupportConcept_ServiceRecords = originalC2S.ServiceRecords,
CostBearer2SupportConcept_Status = originalC2S.Status,
//CostBearer2SupportConcept_SupportConceptApprovalPeriodList = originalC2S.ApprovalPeriodList
CostBearer2SupportConcept_SupportConceptHistoryOid = supportConceptHistoryEntry.Oid.Value,
ChangeType = statementType,
Notice = originalC2S.Notice
};
DAOFactory.GenericDAO.Insert(C2SHistory);
foreach (var item in originalC2S.ApprovalPeriodList)
{
var scApprovalPeriodHistory = new SupportConceptApprovalPeriodHistory()
{
ChangeType = statementType,
SupportConceptApprovalPeriod_ApprovedBEInterval = item.ApprovedBEInterval,
SupportConceptApprovalPeriod_ApprovedBEPerInterval = item.ApprovedBEPerInterval,
SupportConceptApprovalPeriod_ApprovedBETotal = item.ApprovedBETotal,
SupportConceptApprovalPeriod_ApprovedFixedAmount = item.ApprovedFixedAmount,
SupportConceptApprovalPeriod_ApprovedFixedAmountInterval = item.ApprovedFixedAmountInterval,
SupportConceptApprovalPeriod_Bewilligungsart = item.Bewilligungsart,
SupportConceptApprovalPeriod_BudgetOid = item.Budget?.Oid.Value,
SupportConceptApprovalPeriod_ContactCountInterval = item.ContactCountInterval,
SupportConceptApprovalPeriod_ContactCountPerInterval = item.ContactCountPerInterval,
SupportConceptApprovalPeriod_CostBearer2SupportConceptHistoryOid = C2SHistory.Oid.Value,
SupportConceptApprovalPeriod_EndDate = item.EndDate,
SupportConceptApprovalPeriod_IsApprovedBEShifting = item.IsApprovedBEShifting,
SupportConceptApprovalPeriod_IsApprovedFixedAmountShifting = item.IsApprovedFixedAmountShifting,
SupportConceptApprovalPeriod_MonthlyPayment = item.MonthlyPayment,
SupportConceptApprovalPeriod_StartDate = item.StartDate,
SupportConceptApprovalPeriod_SupportConceptApprovalPeriod2Employee = item.SupportConceptApprovalPeriod2Employee,
SupportConceptApprovalPeriod_SupportConceptHistoryOid = supportConceptHistoryEntry.Oid.Value,
Notice = item.Notice
};
DAOFactory.GenericDAO.Insert(scApprovalPeriodHistory);
}
}
//MakeHistoryEntry(lOriginal.Customer2PersonList, originalCustomer2PersonList, lOriginal.Oid, statementType);
//MakeHistoryEntry(lOriginal.Customer2OrganisationList, originalC2OList, lOriginal.Oid, statementType);
//MakeHistoryEntry(lOriginal.Employee2CustomerList, originale2CList, lOriginal.Oid, statementType);
}
private static void MakeHistoryEntry<T>(IList<T> lNewList, List<T> lOriginalList, long? customerOid, StatementType sType) where T : BeWoEntityBase
{
@@ -2511,6 +2595,7 @@ namespace BeWo.Service.ServiceImplementations
try
{
ServiceLogic.SetActivationType<SupportConcept>(pOid, pVersion, ActivationTypeId.Active);
MakeSupportConceptHistoryEntry(DAOFactory.GenericDAO.GetByID<SupportConcept>(pOid), pOid, StatementType.Reactivate);
}
catch (Exception e)
{

View File

@@ -5761,7 +5761,7 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public List<List<ValueListEntryDC>> GetWholeIcf()
public List<ValueListEntryDC> GetWholeIcf()
{
try
{
@@ -6871,11 +6871,22 @@ namespace BeWo.Service.ServiceImplementations
}
public void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd)
public void RemoveAllDiensteForOneMonth(CompactWohnheimDC wh, DateTime month, List<RegelmaessigerDienstDC> rd)
{
try
{
DienstplanungsManager.RemoveAllDiensteForOneMonth(month, rd);
DienstplanungsManager.RemoveAllDiensteForOneMonth(wh, month, rd);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void RemoveAllDiensteForOneYear(CompactWohnheimDC wh, DateTime year, List<RegelmaessigerDienstDC> rd)
{
try
{
DienstplanungsManager.RemoveAllDiensteForOneYear(wh, year, rd);
}
catch (Exception e)
{
@@ -6945,6 +6956,19 @@ namespace BeWo.Service.ServiceImplementations
}
}
public List<CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid)
{
try
{
return DienstplanungsManager.GetCompactEmployeesForTeam(teamOid);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public Dictionary<string, string> GetAdditionalEmployeeInformationForScheduler(long empOid)
{
Dictionary<string, string> dict = new Dictionary<string, string>();

View File

@@ -160,7 +160,10 @@ namespace BS.Shared
RegelmaessigerDienst = 153,
GeschenkterUrlaubstag = 154,
Preis = 155,
AbwesenheitsInformationPrint = 156
AbwesenheitsInformationPrint = 156,
SupportConceptHistory = 157,
Costbearer2SupportConceptHistory = 158,
SupportConceptApprovalPeriodHistory = 159
}
public enum SystemEntryID