Abwesenheits View Filter

This commit is contained in:
rene
2020-02-25 15:08:13 +01:00
parent 54e3660d71
commit 643df6dd75
3 changed files with 49 additions and 6 deletions

View File

@@ -291,6 +291,14 @@
<Page Include="View\Detail\NotizenKategorieView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\AbsenceTimesView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SchulbegleitenderDienst\View\AbsenceTimeEditView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Detail\BudgetView.xaml">
<Generator>MSBuild:Compile</Generator>
@@ -630,6 +638,7 @@
<Compile Include="Converter\AnonymizationRight2VisibilityConverter.cs" />
<Compile Include="Converter\BoolNullCheckConverter.cs" />
<Compile Include="Converter\BoolReverseConverter.cs" />
<Compile Include="Converter\CellColorConverter.cs" />
<Compile Include="Converter\CollectionContainsTag2BoolConverter.cs" />
<Compile Include="Converter\CollectionCountToBoolConverter.cs" />
@@ -653,6 +662,7 @@
<Compile Include="Core\BeWoWebClient.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Core\Commands\ButtonClickCommand.cs" />
<Compile Include="Core\Config\AppSettings.cs" />
<Compile Include="Core\CustomSpellCheckerLocalizer.cs" />
<Compile Include="Core\DocumentWatcher.cs" />
@@ -697,9 +707,13 @@
</Compile>
<Compile Include="SchulbegleitenderDienst\TagesansichtVM.cs" />
<Compile Include="SchulbegleitenderDienst\TagesVertretung.cs" />
<Compile Include="SchulbegleitenderDienst\ViewModel\AbsenceTimeEditViewModel.cs" />
<Compile Include="SchulbegleitenderDienst\ViewModel\SbdConfigVM.cs" />
<Compile Include="SchulbegleitenderDienst\ViewModel\VertretungsansichtBaseVM.cs" />
<Compile Include="SchulbegleitenderDienst\ViewModel\VertretungWochenansichtVM.cs" />
<Compile Include="SchulbegleitenderDienst\View\AbsenceTimeEditView.xaml.cs">
<DependentUpon>AbsenceTimeEditView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\View\SbdAdminView.xaml.cs">
<DependentUpon>SbdAdminView.xaml</DependentUpon>
</Compile>
@@ -875,6 +889,9 @@
</Compile>
<Compile Include="View\Detail\BudgetView.xaml.cs">
<DependentUpon>BudgetView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\AbsenceTimesView.xaml.cs">
<DependentUpon>AbsenceTimesView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\AbwesenheitstabelleView.xaml.cs">
<DependentUpon>AbwesenheitstabelleView.xaml</DependentUpon>

View File

@@ -81,10 +81,19 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Vom" Margin="3"/>
<dxe:DateEdit Grid.Column="1" Grid.Row="0" x:Name="_StartTimePicker" Width="120" Margin="3"/>
<Label Grid.Column="2" Grid.Row="0" Content="Bis" Margin="3"/>
<dxe:DateEdit Grid.Column="3" Grid.Row="0" x:Name="_EndTimePicker" Width="120" Margin="3"/>
<Label Grid.Column="0" Grid.Row="0" Content="Abwesenheitskategorie" Margin="3" />
<dxe:ComboBoxEdit x:Name="FilterAbwesenheit" Grid.Column="1" Grid.Row="0" Margin="3" DisplayMember="Description">
<dxe:ComboBoxEdit.StyleSettings>
<dxe:CheckedComboBoxStyleSettings />
</dxe:ComboBoxEdit.StyleSettings>
</dxe:ComboBoxEdit>
<Label Grid.Column="2" Grid.Row="0" Content="Beschäftigungsart" Margin="3"/>
<dxe:ComboBoxEdit x:Name="FilterBeschaftigungsart" Grid.Column="3" Grid.Row="0" Margin="3" DisplayMember="Name">
<dxe:ComboBoxEdit.StyleSettings>
<dxe:CheckedComboBoxStyleSettings />
</dxe:ComboBoxEdit.StyleSettings>
</dxe:ComboBoxEdit>
</Grid>
<!--Dritte Zeile-->
<Grid Grid.Column="0" Grid.Row="2">

View File

@@ -71,6 +71,18 @@ namespace BeWo.View.Detail.Report
_SchedulerControl.RemoveService(typeof(IMouseHandlerService));
_SchedulerControl.AddService(typeof(IMouseHandlerService), newMouseHandler);
}
var kategorien = ServiceFacade.DoOperationsServiceSync(x => x.GetAllAbsenceReason());
foreach (var item in kategorien)
{
FilterAbwesenheit.Items.Add(item);
}
var arbeitsarten = ServiceFacade.DoEmployeeServiceSync(x => x.GetAllEmploymentTypes());
foreach (var item in arbeitsarten)
{
FilterBeschaftigungsart.Items.Add(item);
}
}
private void _SchedularStorage_AppointmentInserting(object sender, PersistentObjectCancelEventArgs e)
@@ -134,6 +146,7 @@ namespace BeWo.View.Detail.Report
.Where(emp => empIDs.Contains(emp.EmployeeOid.Value)))
.ToList()
.OrderBy(x => x.LastNameFirstName);
try
{
@@ -150,7 +163,8 @@ namespace BeWo.View.Detail.Report
}
_ResourceStorage.Clear();
foreach (var employee in empWithAbsence)
var listEmps = FilterBeschaftigungsart.SelectedItems.Count == 0 ? empWithAbsence : empWithAbsence.Where(x => x.Contracts.Exists(y => FilterBeschaftigungsart.SelectedItems.Contains(y.EmploymentType)));
foreach (var employee in listEmps)
{
var resource = _SchedularStorage.CreateResource(employee.EmployeeOid.Value.ToString());
@@ -160,7 +174,10 @@ namespace BeWo.View.Detail.Report
}
_AppointmentStorage.Clear();
foreach (var absenceTime in absenceTimes)
var listAbs = (FilterAbwesenheit.SelectedItems.Count == 0 ? absenceTimes : absenceTimes.Where(x => FilterAbwesenheit.SelectedItems.Contains(x.Reason)))
.Where(y => listEmps.Select(x => x.EmployeeOid).Contains(y.EmployeeOid));
foreach (var absenceTime in listAbs)
{
var appointment = _SchedularStorage.CreateAppointment(AppointmentType.Normal);