MH: Kalender Übertrag von Terminen in Mitarbeiterabwesenheiten

This commit is contained in:
2026-02-20 12:36:20 +01:00
parent 79a8f58232
commit a1a595d528
8 changed files with 491 additions and 36 deletions

View File

@@ -2133,8 +2133,6 @@ namespace BeWo.Core
{
BeWo.Scheduling.View.AbsenceTimesCreationView newView = new Scheduling.View.AbsenceTimesCreationView(start, end, customer, employees, notice, appointment, schedulerCallback);
newView.ShowDialog();
}

View File

@@ -1898,6 +1898,14 @@
Content="{markup:Translate In Zeiterfassung übertragen}"
ItemClick="ZeiterfassungButtonItem_OnItemClick" />
</dxb:AddBarItemAction>
<dxb:AddBarItemAction>
<dxb:BarButtonItem
Name="AbwesenheitButtonItem"
Content="{markup:Translate In Abwesenheiten übertragen}"
ItemClick="AbwesenheitButtonItem_OnItemClick"
IsVisible="False"
/>
</dxb:AddBarItemAction>
<dxb:AddBarItemAction>
<dxb:BarButtonItem

View File

@@ -409,6 +409,7 @@ namespace BeWo.Scheduler.View
// Kalenderaufruf aus dem CustomerView2 heraus
CustomerOidToPreselect = customerOid;
ConstructObject();
//PruefeObAbwesenheitsuebertragungErlaubt();
}
public NewSchedulerView()
@@ -608,6 +609,8 @@ namespace BeWo.Scheduler.View
MitarbeiterfarbenEinAusCheckBox.Visibility = MitarbeiterTabItem.Visibility;
ButtonDeleteAppointments.Visibility = BeWoApp.LoggedOnUser.HasRight(UserRightType.Termine_IntervalDelete) ? Visibility.Visible : Visibility.Collapsed;
AbwesenheitButtonItem.IsVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderInAbwesenheitenUebernehmen) ? true : false;
}
private void UpdateDataSource(ISchedulerViewModel vm)
@@ -2010,6 +2013,45 @@ namespace BeWo.Scheduler.View
}
});
}
private void AbwesenheitButtonItem_OnItemClick(object sender, ItemClickEventArgs e)
{
// Wenn nichts ausgewählt wurde, nichts tun
if (Scheduler.SelectedAppointments.Count <= 0)
{
return;
}
var appointment = Scheduler.SelectedAppointments.FirstOrDefault();
if (appointment is null)
{
return;
}
// Listen der teilnehmenden Personen füllen
var employee2SchedulerAppointmentList = appointment.CF_EmployeeList();
var customerList = appointment.CF_CustomerList();
var employeeList = employee2SchedulerAppointmentList.Select(employee2SchedulerAppointment => employee2SchedulerAppointment.Employee).ToList();
// Betreff des Termins als Notiz der einzutragenden Abwesenheit nutzen
String notice = "(aus Kalender übertragen)";
if (appointment.Subject.IsNotNullOrEmpty())
{
notice = appointment.Subject + " " + notice;
}
BeWoUtils.CreateAbsenceTime(appointment.Start, appointment.End, customerList, employeeList, notice, appointment, absenceTimes =>
{
try
{
IgnoreManualAppointmentCreation = true;
IgnoreChangeEvents = true;
}
finally
{
IgnoreManualAppointmentCreation = false;
IgnoreChangeEvents = false;
}
});
}
private bool IgnoreManualAppointmentCreation { get; set; }

View File

@@ -5,8 +5,168 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BeWo.Scheduling.View"
mc:Ignorable="d"
Title="AbsenceTimesCreationView" Height="450" Width="800">
<Grid>
</Grid>
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:converter="clr-namespace:BeWo.Converter"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
dx:ThemeManager.ThemeName="Office2010Black"
Title="BeWoPlaner"
Height="250" MinHeight="250" Width="400" MinWidth="400"
WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
<converter:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
</Window.Resources>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.ColumnDefinitions>
<!-- 6 Spalten -->
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<!-- 6 -->
</Grid.RowDefinitions>
<!--#region Abwesenheitskategorie-->
<Label
Grid.Row="0"
Grid.Column="0"
Margin="3"
Content="Art der Abwesenheit"/>
<ComboBox
x:Name="ListboxAbwesenheitskategorie"
Grid.Row="0"
Grid.Column="1"
Grid.ColumnSpan="3"
Height="23"
Margin="3"
SelectedIndex="0"
SelectionChanged="ListboxAbwesenheitskategorie_OnSelectionChanged" />
<!--#endregion Betreff-->
<!--#region Bemerkung-->
<Label
Grid.Row="1"
Grid.Column="0"
Margin="3"
Content="Bemerkung"/>
<dxe:TextEdit
x:Name="TextEditBemerkung"
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="3"
Height="23"
Margin="3" />
<!--#endregion Bemerkung-->
<!--#region Start-->
<Label
Grid.Row="2"
Grid.Column="0"
Margin="3"
Content="Start"/>
<dxe:DateEdit
x:Name="DateEditStartDate"
Grid.Row="2"
Grid.Column="1"
Height="23"
MinWidth="80"
Margin="3"
MaskType="DateTimeAdvancingCaret"/>
<dxe:TextEdit
x:Name="TextEditStartTime"
Grid.Row="2"
Grid.Column="2"
Height="23"
Width="75"
Margin="3"
InvalidValueBehavior="WaitForValidValue"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="True"
Visibility="{Binding IsChecked,
ElementName=IsAllDay,
Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}"
/>
<!--#endregion Start-->
<!--#region Ende-->
<Label
Grid.Row="3"
Grid.Column="0"
Margin="3"
Content="Ende"
Visibility="{Binding ActualViewModel.IsTask, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}" />
<dxe:DateEdit
x:Name="DateEditEndDate"
Grid.Row="3"
Grid.Column="1"
Height="23"
MinWidth="80"
Margin="3"
MaskType="DateTimeAdvancingCaret" />
<dxe:TextEdit
x:Name="TextEditEndTime"
Grid.Row="3"
Grid.Column="2"
Height="23"
Width="75"
Margin="3"
InvalidValueBehavior="WaitForValidValue"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="True"
Visibility="{Binding IsChecked,
ElementName=IsAllDay,
Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}" />
<!--#endregion Ende-->
<!--#region Ganztägig-->
<dxe:CheckEdit
x:Name="IsAllDay"
Grid.Row="4"
Grid.Column="0"
Grid.ColumnSpan="2"
Height="23"
Margin="3"
Content="Ganztägig"
EditValue="True"/>
<!--#endregion Ganztägig-->
<!--#region Speichern & Abbrechen-->
<StackPanel Margin="3" Orientation="Horizontal" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="6" HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Button
x:Name="ButtonSpeichern"
Height="23"
Margin="0,2,3,0"
BorderThickness="3,3,3,3"
Content="Übertragen"
FontWeight="Normal" Click="ButtonSpeichern_Click" />
<Button
x:Name="ButtonAbbrechen"
Height="23"
Margin="0,2,3,0"
BorderThickness="3,3,3,3"
Content="Abbrechen"
FontWeight="Normal" Click="ButtonAbbrechen_Click" />
</StackPanel>
<!--#endregion Speichern & Abbrechen-->
</Grid>
</Window>

View File

@@ -1,4 +1,10 @@
using System;
using BeWo.ServiceProxy;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using DevExpress.XtraScheduler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -19,9 +25,169 @@ namespace BeWo.Scheduling.View
/// </summary>
public partial class AbsenceTimesCreationView : Window
{
public AbsenceTimesCreationView()
public List<CompactEmployeeDC> EmployeeList { get; set; }
public DateTime Start { get; set; }
public DateTime Ende { get; set; }
public AbsenceTimesCreationView(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, string notice, Appointment appointment, Action<List<AbsenceTimeDC>> schedulerCallback)
{
InitializeComponent();
// Wenn ein Termin im Kalender ganztägig eingetragen wird, ist das Enddatum einen Tag später als eingetragen. Die DevExpress Logik ist einfach anders als die vom BWP
// Beim Einsetzen in die Übertragsmaske muss das Enddatum um 1 reduziert werden, wenn der Termin ganztätig ist
if (appointment != null && !appointment.AllDay)
{
IsAllDay.IsChecked = false;
TextEditStartTime.EditValue = string.Format("{0:HH:mm}", start);
TextEditEndTime.EditValue = string.Format("{0:HH:mm}", end);
}
else
end = end.AddDays(-1);
EmployeeList = employees;
var allAbsenceReasons = ServiceFacade.DoOperationsServiceSync(s => s.GetAllAbsenceReason());
ListboxAbwesenheitskategorie.ItemsSource = allAbsenceReasons;
DateEditStartDate.EditValue = start.Date;
DateEditEndDate.EditValue = end.Date;
TextEditBemerkung.EditValue = notice;
}
private void ListboxAbwesenheitskategorie_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
private void ButtonSpeichern_Click(object sender, RoutedEventArgs e)
{
bool doSave = true;
bool auchUeberschneidungenSpeichern = false;
// Hat der zu übertragende Termin keine Mitarbeiter in der Liste, kann auch nichts übertragen werden
if (EmployeeList == null || EmployeeList != null && EmployeeList.Count == 0)
MessageBox.Show(Translator.Translate(
"Der zu übertragende Termin wurde keinem Mitarbeiter zugeordnet. Der Übertrag ist so nicht möglich."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
else if (ListboxAbwesenheitskategorie.SelectedItem == null)
MessageBox.Show(Translator.Translate(
"Bitte wählen Sie eine Abwesenheitskatgorie aus der Liste aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
// Eine Liste zusammenstellen, in der alle MA drin sind, die schon eine Abwesenheit in dem Zeitraum haben, der gespeichert werden soll
var ueberschneidungen = PruefeAufUeberschneidungen(EmployeeList);
if (ueberschneidungen != null && ueberschneidungen.Count > 0)
{
// Namen zusammenstellen und Nutzer*in anzeigen
var mitarbeiterNamen = string.Join(Environment.NewLine, ueberschneidungen.Select(u => u.FirstNameLastName));
doSave = false;
var result = MessageBox.Show(Translator.Translate(
"Bei folgenden Mitarbeitern gibt es mind. eine Abwesenheit, die sich mit der zu übertragenden überschneidet:\n\n") + mitarbeiterNamen +
"\n\nSoll trotzdem auch für diese gespeichert werden?\nJa = Auch bei Überschneidung speichern\nNein = Für oben genannte nicht speichern",
"BeWoPlaner", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning);
// "Ja" heißt, es soll gespeichert werden und auch für die mitt einer Überschneidung
if (result == MessageBoxResult.Yes)
{
doSave = true;
auchUeberschneidungenSpeichern = true;
}
// "Nein" heißt, es soll gespeichert werden, aber die mit Überschneidung werden ausgelassen
else if (result == MessageBoxResult.No)
{
doSave = true;
}
// Vorgang abbrechen
else if (result == MessageBoxResult.Cancel)
{
doSave = false;
}
}
if (DateEditEndDate.EditValue == null)
{
doSave = false;
MessageBox.Show(Translator.Translate(
"Die Abwesenheit hat kein Startdatum. Ohne Startdatum kann die Abwesenheit nicht gespeichert werden"),
"BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
}
if (DateEditEndDate.EditValue == null)
{
doSave = false;
if (MessageBox.Show(Translator.Translate(
"Die Abwesenheit hat kein Enddatum.\nBeachten Sie, dass Abwesenheiten ohne Enddatum unbegrenzt weiterlaufen und es dadurch " +
"zu Fehlberechnungen im Stunden- und Urlaubskonto kommen kann.\nMöchten Sie trotzdem fortfahren?"),
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
doSave = true;
}
}
if (doSave)
{
if (!auchUeberschneidungenSpeichern)
EmployeeList.RemoveRange(ueberschneidungen);
string bemerkung = TextEditBemerkung.EditValue != null ? TextEditBemerkung.EditValue.ToString() : "";
AbsenceReasonDC absReasonDC = (AbsenceReasonDC)ListboxAbwesenheitskategorie.SelectedItem;
try
{
ServiceFacade.DoEmployeeServiceSync(s => s.SpeichereKalenderterminAlsAbwesenheit(EmployeeList, absReasonDC, bemerkung, Start, Ende));
if (EmployeeList.Count > 0)
{
MessageBox.Show(Translator.Translate(
"Übertrag erfolgreich!"), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
MessageBox.Show(Translator.Translate(
"Es wurde nichts gespeichert, da es ausschließlich Überschneidungen gab."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
catch (Exception ex)
{
MessageBox.Show(Translator.Translate(
"Beim Speichern gab es einen Fehler. Grund:\n" + ex.Message), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Error);
}
this.Close();
}
}
}
private void ButtonAbbrechen_Click(object sender, RoutedEventArgs e)
{
var result = MessageBox.Show("Sind Sie sicher, dass Sie das Übertragen abbrechen wollen?", "", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
this.Close();
}
private List<CompactEmployeeDC> PruefeAufUeberschneidungen(List<CompactEmployeeDC> employee)
{
DateTime start = (DateTime)DateEditStartDate.EditValue;
DateTime ende = (DateTime)DateEditEndDate.EditValue;
var startZeitArray = new string[2] { "00", "00" };
var endZeitArray = new string[2] { "00", "00" };
// Wenn es bestimmte Start- und Endzeiten gibt in Start- und Enddatum übernehmen
if (!IsAllDay.IsChecked.Value)
{
if (TextEditStartTime.EditValue != null && TextEditStartTime.EditValue.ToString() != "")
startZeitArray = TextEditStartTime.EditValue.ToString().Split(':');
if (TextEditEndTime.EditValue != null && TextEditEndTime.EditValue.ToString() != "")
endZeitArray = TextEditEndTime.EditValue.ToString().Split(':');
Start = new DateTime(start.Year, start.Month, start.Day, Convert.ToInt32(startZeitArray[0]), Convert.ToInt32(startZeitArray[1]), 0);
Ende = new DateTime(ende.Year, ende.Month, ende.Day, Convert.ToInt32(endZeitArray[0]), Convert.ToInt32(endZeitArray[1]), 0);
}
else
{
Start = start;
Ende = ende;
}
return ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeMitUeberschneidendenAbwesenheiten(employee, Start, Ende));
}
}
}

View File

@@ -17,6 +17,19 @@ namespace BeWo.ServiceProxy
public interface IEmployeeService
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployee", ReplyAction="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsCompactResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompactBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroups", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadCompactTeam", ReplyAction="http://tempuri.org/IEmployeeService/LoadCompactTeamResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactTeamBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid);
@@ -292,11 +305,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactTeamsByOidBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> LoadCompactTeamsByOid(System.Collections.Generic.List<long> teamOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployee", ReplyAction="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
void ArchiveEmployee(long pOid, long pVersion);
@@ -540,6 +548,19 @@ namespace BeWo.ServiceProxy
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetAllEmployeeAbsenceTimesForYear(int year);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllEmployeeMitUeberschneidendenAbwesenheit" +
"en", ReplyAction="http://tempuri.org/IEmployeeService/GetAllEmployeeMitUeberschneidendenAbwesenheit" +
"enResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllEmployeeMitUeberschneidendenAbwesenheit" +
"enBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllEmployeeMitUeberschneidendenAbwesenheiten(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> compactEmployeeList, System.DateTime newAbsEnd, System.DateTime newAbsStart);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/SpeichereKalenderterminAlsAbwesenheit", ReplyAction="http://tempuri.org/IEmployeeService/SpeichereKalenderterminAlsAbwesenheitResponse" +
"")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/SpeichereKalenderterminAlsAbwesenheitBeWoFaul" +
"tFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
void SpeichereKalenderterminAlsAbwesenheit(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> compactEmployeeList, BS.Shared.DataContracts.AbsenceReasonDC reason, string notice, System.DateTime newAbsStart, System.DateTime newAbsEnd);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetMultipleEmployeeAbsenceTimesForMonth", ReplyAction="http://tempuri.org/IEmployeeService/GetMultipleEmployeeAbsenceTimesForMonthRespon" +
"se")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetMultipleEmployeeAbsenceTimesForMonthBeWoFa" +
@@ -561,14 +582,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateGroupOfPeople", ReplyAction="http://tempuri.org/IEmployeeService/UpdateGroupOfPeopleResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateGroupOfPeopleBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
long UpdateGroupOfPeople(BS.Shared.DataContracts.GroupOfPeopleDC pGroupOfPeople);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsCompactResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompactBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroups", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -605,6 +618,21 @@ namespace BeWo.ServiceProxy
{
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid)
{
return base.Channel.FindLeadingCompactTeamsOfEmployee(employeeOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid)
{
return base.Channel.GetAllGroupsCompact(employeeOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid)
{
return base.Channel.GetAllGroups(employeeOid);
}
public BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid)
{
return base.Channel.LoadCompactTeam(pTeamOid);
@@ -915,11 +943,6 @@ namespace BeWo.ServiceProxy
return base.Channel.LoadCompactTeamsByOid(teamOids);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid)
{
return base.Channel.FindLeadingCompactTeamsOfEmployee(employeeOid);
}
public void ArchiveEmployee(long pOid, long pVersion)
{
base.Channel.ArchiveEmployee(pOid, pVersion);
@@ -1205,6 +1228,16 @@ namespace BeWo.ServiceProxy
return base.Channel.GetAllEmployeeAbsenceTimesForYear(year);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllEmployeeMitUeberschneidendenAbwesenheiten(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> compactEmployeeList, System.DateTime newAbsEnd, System.DateTime newAbsStart)
{
return base.Channel.GetAllEmployeeMitUeberschneidendenAbwesenheiten(compactEmployeeList, newAbsEnd, newAbsStart);
}
public void SpeichereKalenderterminAlsAbwesenheit(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> compactEmployeeList, BS.Shared.DataContracts.AbsenceReasonDC reason, string notice, System.DateTime newAbsStart, System.DateTime newAbsEnd)
{
base.Channel.SpeichereKalenderterminAlsAbwesenheit(compactEmployeeList, reason, notice, newAbsStart, newAbsEnd);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetMultipleEmployeeAbsenceTimesForMonth(int year, int month, System.Collections.Generic.List<long> empOids)
{
return base.Channel.GetMultipleEmployeeAbsenceTimesForMonth(year, month, empOids);
@@ -1229,15 +1262,5 @@ namespace BeWo.ServiceProxy
{
return base.Channel.UpdateGroupOfPeople(pGroupOfPeople);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid)
{
return base.Channel.GetAllGroupsCompact(employeeOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid)
{
return base.Channel.GetAllGroups(employeeOid);
}
}
}