MoK:
Bugs bei der Rechtebeachtung im Auswertungsmodul behoben
This commit is contained in:
@@ -83,7 +83,13 @@ namespace BeWo.View.Master
|
||||
// tabitem_annualReport.Visibility = Visibility.Visible;
|
||||
// }
|
||||
|
||||
if (BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
|
||||
if (BeWoApp.Tenant == "3010479871" ||
|
||||
(
|
||||
!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) &&
|
||||
!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) &&
|
||||
!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)
|
||||
)
|
||||
)
|
||||
{
|
||||
//Aachener Verein
|
||||
tabitem_makonto.Visibility = Visibility.Collapsed;
|
||||
|
||||
@@ -5,121 +5,115 @@
|
||||
xmlns:localSearchView="clr-namespace:BeWo.View.Search"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
||||
xmlns:dxpbars="http://schemas.devexpress.com/winfx/2008/xaml/printing/bars"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
||||
<GroupBox Header="Stundenkonto" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="120" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="Stundenkonto" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="120" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<RadioButton x:Name="radioEmployeeReport" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Content="{markup:Translate Nach Mitarbeiter auswerten}"
|
||||
GroupName="radioReportType" IsChecked="True" Margin="4,3,0,3" Checked="RadioButton_Checked" Height="22" />
|
||||
<RadioButton x:Name="radioTeamReport" Grid.Column="2" Grid.Row="0" Grid.ColumnSpan="3" GroupName="radioReportType"
|
||||
Content="Nach Team auswerten" Margin="-10,3,0,3" Checked="RadioButton_Checked" />
|
||||
|
||||
<RadioButton x:Name="radioEmployeeReport" Grid.Column="0" Grid.ColumnSpan="2" Content="{markup:Translate Nach Mitarbeiter auswerten}" GroupName="radioReportType" IsChecked="True" Margin="4,3,0,3" Checked="RadioButton_Checked" Height="22" />
|
||||
<RadioButton x:Name="radioTeamReport" Grid.Column="2" Grid.ColumnSpan="3" GroupName="radioReportType" Content="Nach Team auswerten" Margin="-10,3,0,3" Checked="RadioButton_Checked" />
|
||||
<CheckBox Margin="3" Name="checkbox_all" Grid.Row="1" Grid.Column="0" IsChecked="False" Content="{markup:Translate Alle Mitarbeiter}"
|
||||
Checked="CheckBox_Checked" Unchecked="CheckBox_Checked" VerticalAlignment="Center" />
|
||||
|
||||
<CheckBox Margin="3" Name="checkbox_all" Grid.Row="1" IsChecked="False" Content="{markup:Translate Alle Mitarbeiter}" Checked="CheckBox_Checked" Unchecked="CheckBox_Checked" VerticalAlignment="Center"/>
|
||||
|
||||
<uc:PopUpEdit Grid.Row="1" IsReadOnly="True" Grid.Column="1" Grid.ColumnSpan="3"
|
||||
x:Name="popupedit_employee" DeleteButtonVisibility="Collapsed"
|
||||
<uc:PopUpEdit Grid.Row="1" IsReadOnly="True" Grid.Column="1" Grid.ColumnSpan="3" x:Name="popupedit_employee" DeleteButtonVisibility="Collapsed"
|
||||
Margin="3" Height="22" VerticalAlignment="Top" PopUpClick="popupedit_employee_PopUpClick" Cursor="Arrow" />
|
||||
|
||||
<CheckBox Grid.Column="0" Grid.Row="1" Margin="3" x:Name="checkbox_all_teams" IsChecked="True" Content="Alle Teams" Checked="CheckBoxAllTeams_Checked" Unchecked="CheckBoxAllTeams_Checked" VerticalAlignment="Center" Visibility="Collapsed" />
|
||||
<CheckBox Grid.Column="0" Grid.Row="1" Margin="3" x:Name="checkbox_all_teams" IsChecked="True" Content="Alle Teams" Checked="CheckBoxAllTeams_Checked"
|
||||
Unchecked="CheckBoxAllTeams_Checked" VerticalAlignment="Center" Visibility="Collapsed" />
|
||||
|
||||
<uc:PopUpEdit Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" IsReadOnly="True" Visibility="Collapsed"
|
||||
x:Name="popupedit_team" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_team_PopUpClick" HorizontalAlignment="Stretch"
|
||||
HorizontalContentAlignment="Left" Height="22" Margin="3"
|
||||
Cursor="Arrow" />
|
||||
<uc:PopUpEdit Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" IsReadOnly="True" Visibility="Collapsed"
|
||||
x:Name="popupedit_team" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_team_PopUpClick" HorizontalAlignment="Stretch"
|
||||
HorizontalContentAlignment="Left" Height="22" Margin="3" Cursor="Arrow" />
|
||||
|
||||
<!--<CheckBox Margin="3" Name="checkbox_showTeamReport" Height="22" Grid.Row="2" Grid.ColumnSpan="2" IsChecked="False" Content="Nach Teams sortieren" VerticalContentAlignment="Center"/>-->
|
||||
<!--<CheckBox Margin="3" Grid.Column="0" Grid.Row="3" Height="22" Grid.ColumnSpan="2" Content="Klienten auflisten" VerticalAlignment="Center" x:Name="chkShowCustomer" />-->
|
||||
<!--<CheckBox Margin="3" Name="checkbox_showTeamReport" Height="22" Grid.Row="2" Grid.ColumnSpan="2" IsChecked="False" Content="Nach Teams sortieren" VerticalContentAlignment="Center"/>-->
|
||||
<!--<CheckBox Margin="3" Grid.Column="0" Grid.Row="3" Height="22" Grid.ColumnSpan="2" Content="Klienten auflisten" VerticalAlignment="Center" x:Name="chkShowCustomer" />-->
|
||||
|
||||
<!--<Label Content="Startdatum:" Grid.Column="0" VerticalAlignment="Center" Grid.Row="4"/>
|
||||
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="4" x:Name="datePickerStartDate" Width="120" HorizontalAlignment="Left" Margin="3,0,0,0" Height="22"/>
|
||||
<Label Content="Enddatum:" Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" />
|
||||
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="5" x:Name="datePickerEndDate" HorizontalAlignment="Left" Width="120" Margin="3,0,0,0" Height="22"/>-->
|
||||
<!--<Label Content="Startdatum:" Grid.Column="0" VerticalAlignment="Center" Grid.Row="4"/>
|
||||
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="4" x:Name="datePickerStartDate" Width="120" HorizontalAlignment="Left" Margin="3,0,0,0" Height="22"/>
|
||||
<Label Content="Enddatum:" Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" />
|
||||
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="5" x:Name="datePickerEndDate" HorizontalAlignment="Left" Width="120" Margin="3,0,0,0" Height="22"/>-->
|
||||
|
||||
<!--<Label Grid.Row="0" Content="Intervall" Margin="15,0,0,0" Grid.Column="2" Padding="0,5,0,0" />
|
||||
<StackPanel Grid.ColumnSpan="1" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" Orientation="Vertical" Margin="15,8,0,0" Grid.RowSpan="6" VerticalAlignment="Stretch">
|
||||
<RadioButton Content="Tag" Height="23" GroupName="interval" x:Name="radioButtonIntervalDay" />
|
||||
<RadioButton Content="Woche" Height="23" IsChecked="True" GroupName="interval" x:Name="radioButtonIntervalWeek" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Monat" Height="23" GroupName="interval" x:Name="radioButtonIntervalMonth" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Quartal" Height="23" GroupName="interval" x:Name="radioButtonIntervalQuarter" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Jahr" Height="23" GroupName="interval" x:Name="radioButtonIntervalYear" Margin="0,0,0,0" />
|
||||
</StackPanel>-->
|
||||
<!--<Label Grid.Row="0" Content="Intervall" Margin="15,0,0,0" Grid.Column="2" Padding="0,5,0,0" />
|
||||
<StackPanel Grid.ColumnSpan="1" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" Orientation="Vertical" Margin="15,8,0,0" Grid.RowSpan="6" VerticalAlignment="Stretch">
|
||||
<RadioButton Content="Tag" Height="23" GroupName="interval" x:Name="radioButtonIntervalDay" />
|
||||
<RadioButton Content="Woche" Height="23" IsChecked="True" GroupName="interval" x:Name="radioButtonIntervalWeek" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Monat" Height="23" GroupName="interval" x:Name="radioButtonIntervalMonth" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Quartal" Height="23" GroupName="interval" x:Name="radioButtonIntervalQuarter" Margin="0,0,0,0" />
|
||||
<RadioButton Content="Jahr" Height="23" GroupName="interval" x:Name="radioButtonIntervalYear" Margin="0,0,0,0" />
|
||||
</StackPanel>-->
|
||||
|
||||
<Label Margin="0 2" Content="Monat" Grid.Row="3" />
|
||||
<ComboBox Height="23" x:Name="combobox_month" Grid.Row="3" Grid.Column="1" Margin="3" VerticalAlignment="Top" Width="90" />
|
||||
<Label Margin="0 2" Content="Monat" Grid.Row="3" Grid.Column="0" />
|
||||
<ComboBox Height="23" x:Name="combobox_month" Grid.Row="3" Grid.Column="1" Margin="3" VerticalAlignment="Top" Width="90" />
|
||||
|
||||
<TextBlock Margin="0 7,3,0" Text=" Jahr" Grid.Row="3" Grid.Column="2" Foreground="Black"/>
|
||||
<ComboBox Height="23" x:Name="combobox_year" Grid.Row="3" Grid.Column="3" VerticalAlignment="Top" Margin="3" Width="60" />
|
||||
<TextBlock Margin="0 7,3,0" Text=" Jahr" Grid.Row="3" Grid.Column="2" Foreground="Black"/>
|
||||
<ComboBox Height="23" x:Name="combobox_year" Grid.Row="3" Grid.Column="3" VerticalAlignment="Top" Margin="3" Width="60" />
|
||||
|
||||
<StackPanel x:Name="AnsichtPanel" Orientation="Horizontal" Grid.Row="4" Grid.ColumnSpan="5">
|
||||
<StackPanel x:Name="AnsichtPanel" Orientation="Horizontal" Grid.Row="4" Grid.ColumnSpan="5" Grid.Column="0">
|
||||
<Label Margin="0,3,3,3" Content="Ansicht: " />
|
||||
<RadioButton Margin="3" GroupName="RadioAnsicht" Name="radio_tagesansicht" IsChecked="False" Content="Tag" VerticalAlignment="Center" />
|
||||
<RadioButton Margin="6,3,3,3" GroupName="RadioAnsicht" Name="radio_monatsansicht" IsChecked="True" Content="Monat" VerticalAlignment="Center" />
|
||||
<RadioButton Margin="6,3,3,3" GroupName="RadioAnsicht" Name="radio_jahresansicht" IsChecked="False" Content="Jahr" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<Label Margin="0,3,3,3" Content="Ansicht: " />
|
||||
<RadioButton Margin="3" GroupName="RadioAnsicht" Name="radio_tagesansicht" IsChecked="False" Content="Tag" VerticalAlignment="Center">
|
||||
<CheckBox Margin="3" Name="checkbox_tagesansicht" Grid.Row="4" Grid.ColumnSpan="5" Grid.Column="0"
|
||||
IsChecked="False" Content="StundenkontoTagesansicht" VerticalAlignment="Center" Visibility="Collapsed"/>
|
||||
|
||||
</RadioButton>
|
||||
<Button Name="button_generate" Grid.Row="5" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen"
|
||||
Click="button_generate_Click" Height="23" Margin="3" />
|
||||
|
||||
<RadioButton Margin="6,3,3,3" GroupName="RadioAnsicht" Name="radio_monatsansicht" IsChecked="True" Content="Monat" VerticalAlignment="Center">
|
||||
|
||||
</RadioButton>
|
||||
<RadioButton Margin="6,3,3,3" GroupName="RadioAnsicht" Name="radio_jahresansicht" IsChecked="False" Content="Jahr" VerticalAlignment="Center">
|
||||
|
||||
</RadioButton>
|
||||
</StackPanel>
|
||||
<CheckBox Margin="3" Name="checkbox_tagesansicht" Grid.Row="4" Grid.ColumnSpan="5" IsChecked="False" Content="StundenkontoTagesansicht" VerticalAlignment="Center" Visibility="Collapsed"/>
|
||||
|
||||
<Button Name="button_generate" Grid.Row="5" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />
|
||||
|
||||
|
||||
<dxp:DocumentPreviewControl x:Name="docPrevControl" Grid.Row="6" Grid.ColumnSpan="5" Grid.Column="0" Visibility="Collapsed" CommandBarStyle="Bars">
|
||||
<dxp:DocumentPreviewControl.CommandProvider>
|
||||
<dxp:DocumentCommandProvider>
|
||||
<dxp:DocumentCommandProvider.Actions>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportCsv}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportMht}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportTxt}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Open}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.DocumentMap}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Watermark}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Scale}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PrintDirect}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PageSetup}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Save}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Send}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Parameters}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Thumbnails}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.EditingFields}"/>
|
||||
</dxp:DocumentCommandProvider.Actions>
|
||||
</dxp:DocumentCommandProvider>
|
||||
</dxp:DocumentPreviewControl.CommandProvider>
|
||||
</dxp:DocumentPreviewControl>
|
||||
|
||||
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="7" Height="400" Grid.ColumnSpan="5" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
|
||||
</Popup>
|
||||
<Popup Margin="10" Name="popup_team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="7" Grid.ColumnSpan="5" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<localSearchView:TeamSearchView ItemSelected="TeamSearchView_TeamSelected" x:Name="teamsearchview" />
|
||||
</Popup>
|
||||
</Grid>
|
||||
|
||||
</GroupBox>
|
||||
<dxp:DocumentPreviewControl x:Name="docPrevControl" Grid.Row="6" Grid.ColumnSpan="5" Grid.Column="0" Visibility="Collapsed" CommandBarStyle="Bars">
|
||||
<dxp:DocumentPreviewControl.CommandProvider>
|
||||
<dxp:DocumentCommandProvider>
|
||||
<dxp:DocumentCommandProvider.Actions>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportCsv}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportMht}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportTxt}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Open}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.DocumentMap}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Watermark}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Scale}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PrintDirect}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PageSetup}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Save}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Send}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Parameters}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Thumbnails}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.EditingFields}"/>
|
||||
</dxp:DocumentCommandProvider.Actions>
|
||||
</dxp:DocumentCommandProvider>
|
||||
</dxp:DocumentPreviewControl.CommandProvider>
|
||||
</dxp:DocumentPreviewControl>
|
||||
|
||||
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="7"
|
||||
Height="400" Grid.ColumnSpan="5" Grid.Column="0" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
|
||||
</Popup>
|
||||
<Popup Margin="10" Name="popup_team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="7" Grid.ColumnSpan="5"
|
||||
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<localSearchView:TeamSearchView ItemSelected="TeamSearchView_TeamSelected" x:Name="teamsearchview" />
|
||||
</Popup>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</localView:BeWoView>
|
||||
@@ -5,36 +5,28 @@ using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
using BeWo.Controls;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.ViewModel;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Xpf.Core;
|
||||
using DevExpress.Xpf.Printing;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace BeWo.View.Report.Employee
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for EmployeeHourReportView.xaml
|
||||
/// </summary>
|
||||
public partial class EmployeeHourReportView : BeWoView
|
||||
public partial class EmployeeHourReportView
|
||||
{
|
||||
private CompactEmployeeDC _SelectedEmployee;
|
||||
|
||||
private CompactTeamDC _SelectedTeam;
|
||||
|
||||
public CompactEmployeeDC Employee { get { return _SelectedEmployee; } set { _SelectedEmployee = value; } }
|
||||
public CompactEmployeeDC Employee
|
||||
{
|
||||
get => _SelectedEmployee;
|
||||
set { _SelectedEmployee = value; }
|
||||
}
|
||||
|
||||
public EmployeeHourReportView()
|
||||
{
|
||||
@@ -48,8 +40,7 @@ namespace BeWo.View.Report.Employee
|
||||
checkbox_all.IsEnabled = false;
|
||||
checkbox_all.IsChecked = false;
|
||||
|
||||
popupedit_employee.Text = String.Format("{0}, {1}", BeWoApp.LoggedOnEmployee.LastName,
|
||||
BeWoApp.LoggedOnEmployee.FirstName);
|
||||
popupedit_employee.Text = $"{BeWoApp.LoggedOnEmployee.LastName}, {BeWoApp.LoggedOnEmployee.FirstName}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,8 +59,6 @@ namespace BeWo.View.Report.Employee
|
||||
}
|
||||
|
||||
ChangeReportType();
|
||||
|
||||
|
||||
|
||||
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
|
||||
//ThemeManager.SetTheme(docPrevControl, Theme.Office2010Black);
|
||||
@@ -83,8 +72,10 @@ namespace BeWo.View.Report.Employee
|
||||
|
||||
private void CheckBox_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (popupedit_employee == null)
|
||||
if (popupedit_employee is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
popupedit_employee.Text = string.Empty;
|
||||
_SelectedEmployee = null;
|
||||
@@ -125,37 +116,37 @@ namespace BeWo.View.Report.Employee
|
||||
//datePickerEndDate.DateTime = start.AddMonths(1).AddDays(-1);
|
||||
|
||||
InitDateCombos();
|
||||
|
||||
}
|
||||
|
||||
private void InitDateCombos()
|
||||
{
|
||||
this.combobox_month.ItemsSource = DateTimeFormatInfo.CurrentInfo.MonthNames.Where(s => !string.IsNullOrEmpty(s));
|
||||
int monthIdx = DateTime.Now.Month - 1;
|
||||
var monthIdx = DateTime.Now.Month - 1;
|
||||
//if (DateTime.Now.Day < 15)
|
||||
//{
|
||||
monthIdx--;
|
||||
if (monthIdx < 0)
|
||||
{
|
||||
monthIdx = 11;
|
||||
}
|
||||
//}
|
||||
this.combobox_month.SelectedIndex = monthIdx;
|
||||
combobox_month.SelectedIndex = monthIdx;
|
||||
var years = new List<int>();
|
||||
for (int i = -1; i <= 10; i++)
|
||||
for (var i = -1; i <= 10; i++)
|
||||
{
|
||||
years.Add(DateTime.Now.Year - i);
|
||||
}
|
||||
|
||||
this.combobox_year.ItemsSource = years;
|
||||
combobox_year.ItemsSource = years;
|
||||
if (monthIdx == 11)
|
||||
{
|
||||
this.combobox_year.SelectedItem = DateTime.Now.Year - 1;
|
||||
combobox_year.SelectedItem = DateTime.Now.Year - 1;
|
||||
}
|
||||
else
|
||||
this.combobox_year.SelectedItem = DateTime.Now.Year;
|
||||
|
||||
{
|
||||
combobox_year.SelectedItem = DateTime.Now.Year;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void button_generate_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
@@ -165,7 +156,7 @@ namespace BeWo.View.Report.Employee
|
||||
var auswertungNachTeam = radioTeamReport.IsChecked.Value;
|
||||
var auswertungNachMa = !auswertungNachTeam;
|
||||
|
||||
var url = string.Format("{0}/ReportView.aspx?type={1}", BeWoApp.SiteOfOrigin, Utils.EnumName(ReportTypes.EmployeeHourReport));
|
||||
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={Utils.EnumName(ReportTypes.EmployeeHourReport)}";
|
||||
|
||||
if (auswertungNachMa)
|
||||
{
|
||||
@@ -210,11 +201,13 @@ namespace BeWo.View.Report.Employee
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var sb = new StringBuilder();
|
||||
sb.Append("&toid=");
|
||||
|
||||
if (_SelectedTeam != null)
|
||||
{
|
||||
teamOid = _SelectedTeam.TeamOid;
|
||||
}
|
||||
|
||||
if (teamOid > 0 && !checkbox_all_teams.IsChecked.Value)
|
||||
{
|
||||
@@ -226,13 +219,14 @@ namespace BeWo.View.Report.Employee
|
||||
var ol = teamsearchview.ObjectList;
|
||||
if (ol != null)
|
||||
{
|
||||
bool first = true;
|
||||
var first = true;
|
||||
foreach (var t in ol)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
sb.Append(",");
|
||||
}
|
||||
|
||||
sb.Append(t.TeamOid);
|
||||
first = false;
|
||||
}
|
||||
@@ -294,12 +288,8 @@ namespace BeWo.View.Report.Employee
|
||||
{
|
||||
if (radioTeamReport != null && popupedit_team != null)
|
||||
{
|
||||
bool isEmployee = true;
|
||||
var isEmployee = !(radioTeamReport.IsChecked != null && radioTeamReport.IsChecked.Value);
|
||||
|
||||
if (radioTeamReport.IsChecked != null && radioTeamReport.IsChecked.Value)
|
||||
{
|
||||
isEmployee = false;
|
||||
}
|
||||
checkbox_all.Visibility = isEmployee ? Visibility.Visible : Visibility.Hidden;
|
||||
popupedit_employee.Visibility = isEmployee ? Visibility.Visible : Visibility.Hidden;
|
||||
|
||||
@@ -316,7 +306,6 @@ namespace BeWo.View.Report.Employee
|
||||
popupedit_team.Visibility = checkbox_all_teams.IsChecked.Value ? Visibility.Hidden : Visibility.Visible;
|
||||
}
|
||||
|
||||
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll))
|
||||
{
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams))
|
||||
@@ -346,7 +335,7 @@ namespace BeWo.View.Report.Employee
|
||||
var ol = teamsearchview.ObjectList;
|
||||
if (ol != null)
|
||||
{
|
||||
List<CompactTeamDC> teams = new List<CompactTeamDC>();
|
||||
var teams = new List<CompactTeamDC>();
|
||||
var emp = BeWoApp.LoggedOnUser.Employee;
|
||||
if (emp.LeadingTeamOids != null && emp.LeadingTeamOids.Count > 0)
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@ using BeWoPlanerMobil.Util;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace BeWoPlanerMobil.Controllers
|
||||
@@ -55,22 +56,50 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.SelectedYear = Model.SelectedYear ?? first.Year;
|
||||
Model.SelectedMonth = Model.SelectedMonth ?? first.Month;
|
||||
|
||||
Model.AllEmployees = EmployeeService.GetActiveCompactEmployeesForEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid);
|
||||
Model.AllTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(MobileSessionFacade.LoggedInEmployee.EmployeeOid);
|
||||
Model.AllEmployees = AbstractModel.HasRightMitarbeiterstundenkontoViewAll
|
||||
? EmployeeService.GetActiveCompactEmployeesForEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid)
|
||||
: new List<CompactEmployeeDC> { MobileSessionFacade.LoggedInCompactEmployee };
|
||||
|
||||
Model.ReportTypes = new List<SelectListItem>
|
||||
// Alle Teams darf man nur sehen, wenn man das Recht "HasRightMitarbeiterstundenkontoViewAll" hat.
|
||||
// Hat man weder das Recht "HasRightMitarbeiterstundenkontoViewAll" noch "HasRightMitarbeiterstundenkontoViewTeams", sieht man die Teams gar nicht.
|
||||
// Hat man das Recht "HasRightMitarbeiterstundenkontoViewTeams", aber nicht das Recht "HasRightMitarbeiterstundenkontoViewAll", sieht man nur die Teams, deren Teamleiter man ist.
|
||||
|
||||
var test = EmployeeService.FindLeadingCompactTeamsOfEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid);
|
||||
|
||||
Model.AllTeams = AbstractModel.HasRightMitarbeiterstundenkontoViewAll
|
||||
? EmployeeService.GetAllActiveCompactTeamsForEmployee(MobileSessionFacade.LoggedInEmployee.EmployeeOid)
|
||||
: EmployeeService.FindLeadingCompactTeamsOfEmployee(MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid);
|
||||
|
||||
if(!AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
||||
{
|
||||
new SelectListItem
|
||||
Model.SelectedEmployeeOid = MobileSessionFacade.LoggedInCompactEmployee.EmployeeOid;
|
||||
}
|
||||
|
||||
// ToDo: Hat man das Recht "Nur Team" nicht, kann man nur die Teams sehen, bei denen man auch Leiter ist.
|
||||
if(!AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Model.ReportTypes = new List<SelectListItem>();
|
||||
|
||||
if(AbstractModel.HasRightToViewReports)
|
||||
{
|
||||
Model.ReportTypes.Add(new SelectListItem
|
||||
{
|
||||
Text = "Berichte",
|
||||
Value = "0"
|
||||
},
|
||||
new SelectListItem
|
||||
});
|
||||
}
|
||||
|
||||
if(AbstractModel.HasRightToViewMitarbeiterstundenkonto)
|
||||
{
|
||||
Model.ReportTypes.Add(new SelectListItem
|
||||
{
|
||||
Text = "Mitarbeiterstundenkonto",
|
||||
Value = "1"
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
Model.SelectedReportType = ReportType.Berichte;
|
||||
|
||||
@@ -86,12 +115,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
return PartialView("DocumentWebViewerPartial", Model);
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult ExportDocumentViewer()
|
||||
{
|
||||
throw new NotImplementedException("Service dafür implementieren!");
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public ActionResult LoadCustomReport(long? reportOid)
|
||||
{
|
||||
@@ -207,7 +230,13 @@ namespace BeWoPlanerMobil.Controllers
|
||||
var year = int.Parse(splitParameters[1]);
|
||||
var isEmployee = bool.Parse(splitParameters[2]);
|
||||
var all = bool.Parse(splitParameters[3]);
|
||||
var oid = long.Parse(splitParameters[4]);
|
||||
|
||||
long? oid = null;
|
||||
if(long.TryParse(splitParameters[4], out var oOid))
|
||||
{
|
||||
oid = oOid;
|
||||
}
|
||||
|
||||
var ansicht = int.Parse(splitParameters[5]);
|
||||
|
||||
var siteOfOrigin = GetSiteOfOrigin();
|
||||
@@ -216,7 +245,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
if(isEmployee)
|
||||
{
|
||||
long? employeeOid = oid;
|
||||
var employeeOid = oid;
|
||||
|
||||
if(all || !AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
||||
{
|
||||
@@ -240,9 +269,9 @@ namespace BeWoPlanerMobil.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
long? teamOid = oid;
|
||||
var teamOid = oid;
|
||||
|
||||
if(all || !AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
||||
if(all || (!AbstractModel.HasRightMitarbeiterstundenkontoViewAll && !AbstractModel.HasRightMitarbeiterstundenkontoViewTeams))
|
||||
{
|
||||
teamOid = null;
|
||||
}
|
||||
|
||||
@@ -115,6 +115,11 @@ namespace BeWoPlanerMobil.Models
|
||||
return MobileSessionFacade.CheckForUserRight(userRightType);
|
||||
}
|
||||
|
||||
public static bool CheckForAtLeastOneRight(UserRightType[] rights)
|
||||
{
|
||||
return rights.Any(MobileSessionFacade.CheckForUserRight);
|
||||
}
|
||||
|
||||
public static bool HasRightToInsertEmployeeAppointments => CheckRight(UserRightType.KalenderMitarbeitertermineAnlegen) ||
|
||||
CheckRight(UserRightType.CreateAll);
|
||||
|
||||
@@ -147,5 +152,15 @@ namespace BeWoPlanerMobil.Models
|
||||
public static bool HasRightMitarbeiterstundenkontoViewAll => CheckRight(UserRightType.Mitarbeiterstundenkonto_ViewAll);
|
||||
public static bool HasRightMitarbeiterstundenkontoViewTeams => CheckRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams);
|
||||
public static bool HasRightMitarbeiterstundenkontoViewSelf => CheckRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf);
|
||||
|
||||
public static bool HasRightToViewReports => CheckRight(UserRightType.QueryView_View);
|
||||
|
||||
public static bool HasRightToViewMitarbeiterstundenkonto
|
||||
{
|
||||
get
|
||||
{
|
||||
return MobileSessionFacade.Tenant != "3010479871" && CheckForAtLeastOneRight(new[] { UserRightType.Mitarbeiterstundenkonto_ViewAll, UserRightType.Mitarbeiterstundenkonto_ViewTeams, UserRightType.Mitarbeiterstundenkonto_ViewSelf });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,4 @@
|
||||
settings.Name = "webDocumentViewer1";
|
||||
settings.SettingsMobile.ReaderMode = true;
|
||||
|
||||
}).Bind(Model.Report).GetHtml()
|
||||
|
||||
@*@Html.DevExpress().DocumentViewer(settings =>{
|
||||
// The following settings are required for a Document Viewer.
|
||||
settings.Name = "documentViewer1";
|
||||
settings.Report = Model.Report;
|
||||
// Callback and export route values specify corresponding controllers and their actions.
|
||||
// These settings are also required.
|
||||
settings.CallbackRouteValues = new { Controller="ReportViewer", Action="DocumentWebViewerPartial" };
|
||||
settings.ExportRouteValues = new { Controller="ReportViewer", Action="ExportDocumentWebViewer" };
|
||||
}).GetHtml()*@
|
||||
}).Bind(Model.Report).GetHtml()
|
||||
@@ -63,7 +63,7 @@ Mitarbeiterstundenkonto
|
||||
|
||||
<div class="container-fluid my-3">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-4 col-lg-3 col-xl-2">
|
||||
<div class="col-sm-12 col-md-4 col-lg-4 col-xl-3">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
@Html.DropDownListFor(model => model.SelectedReportType, Model.ReportTypes, new { @class = "custom-select", onchange = "updateForm()", id = "msk-report-type-select" })
|
||||
@@ -76,7 +76,7 @@ Mitarbeiterstundenkonto
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-8 col-lg-9 col-xl-10" id="msk-report-container">
|
||||
<div class="col-sm-12 col-md-8 col-lg-8 col-xl-9" id="msk-report-container">
|
||||
@if(!(Model.Report is null))
|
||||
{
|
||||
@Html.Partial("DocumentWebViewerPartial", Model)
|
||||
|
||||
@@ -73,7 +73,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
var isEmployeeFormSelected = $("#msk-employee-form").css("display") === "block";
|
||||
var teamForm = $("#msk-team-form");
|
||||
var employeeForm = $("#msk-employee-form");
|
||||
|
||||
var isEmployeeFormSelected = employeeForm.css("display") === "block" || employeeForm.css("display") === "none" && (teamForm.css("display") === "none" || teamForm.length === 0);
|
||||
|
||||
var parameterString = month + ";" + year + ";" + isEmployeeFormSelected + ";";
|
||||
|
||||
@@ -114,7 +117,7 @@
|
||||
@Html.DropDownListFor(model => model.SelectedCustomReport, Model.CustomReports, new { @class = "custom-select", id = "msk-customReportSelect", onchange = "loadCustomReport()" })
|
||||
}
|
||||
|
||||
@if(Model.SelectedReportType == ReportType.Mitarbeiterstundenkonto)
|
||||
@if(Model.SelectedReportType == ReportType.Mitarbeiterstundenkonto && AbstractModel.HasRightToViewMitarbeiterstundenkonto)
|
||||
{
|
||||
<div id="report-form-container">
|
||||
<div class="form-row">
|
||||
@@ -124,22 +127,26 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForEmployeesRadio" onchange="reportFilterOnChange()" checked/>
|
||||
<label for="msk-filterForEmployeesRadio">Nach Mitarbeiter filtern</label>
|
||||
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll || AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForEmployeesRadio" onchange="reportFilterOnChange()" checked/>
|
||||
<label for="msk-filterForEmployeesRadio">Nach Mitarbeiter filtern</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForTeamsRadio" onchange="reportFilterOnChange()"/>
|
||||
<label for="msk-filterForTeamsRadio">Nach Teams filtern</label>
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForTeamsRadio" onchange="reportFilterOnChange()"/>
|
||||
<label for="msk-filterForTeamsRadio">Nach Teams filtern</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div id="msk-employee-form">
|
||||
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
||||
{
|
||||
@@ -158,20 +165,17 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
||||
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll || AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
||||
{
|
||||
<div id="msk-team-form">
|
||||
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="msk-all-teams-cb" />
|
||||
<label class="form-check-label" for="msk-all-teams-cb" onclick="allTeamsCbOnClick()">Alle Teams</label>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" id="msk-all-teams-cb" />
|
||||
<label class="form-check-label" for="msk-all-teams-cb" onclick="allTeamsCbOnClick()">Alle Teams</label>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="form-row" id="msk-team-list">
|
||||
<div class="col">
|
||||
|
||||
@@ -364,15 +364,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
@if(Html.IsInDebugMode())
|
||||
@if(AbstractModel.HasRightToViewReports)
|
||||
{
|
||||
using(Html.BeginForm("RedirectToReportViewer", "Main", FormMethod.Post))
|
||||
{
|
||||
<li class="nav-item bg-bewo-dev">
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||
<i class="fas fa-chart-bar text-bewo-report">
|
||||
|
||||
</i>
|
||||
<i class="fas fa-chart-bar text-bewo-report"></i>
|
||||
Auswertungen
|
||||
</button>
|
||||
</li>
|
||||
|
||||
@@ -506,5 +506,13 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<EmployeeDC> GetAbsenceOverview(AbsenceOverviewFilterDC filter);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<CompactTeamDC> LoadCompactTeamsByOid(List<long> teamOids);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
|
||||
}
|
||||
}
|
||||
@@ -2365,5 +2365,29 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw Utils.CreateBeWoFaultException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
public List<CompactTeamDC> LoadCompactTeamsByOid(List<long> teamOids)
|
||||
{
|
||||
try
|
||||
{
|
||||
return teamOids is null ? new List<CompactTeamDC>() : MapperFactory.CompactTeamDC_Team.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Team>(teamOids));
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
public List<CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid)
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.CompactTeamDC_Team.MapToNewDCs(DAOFactory.SearchDAO.FindLeadingTeams(employeeOid));
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user