MH: Möglichkeit, die Statuszeile ein- und auszublenden, eingebaut
This commit is contained in:
@@ -121,6 +121,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="70" />
|
||||
@@ -128,7 +129,7 @@
|
||||
<ColumnDefinition Width="auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label Grid.Column="0" Grid.Row="0" Margin="0 5 0 0" Content="Mitarbeiter" />
|
||||
<ComboBox x:Name="combobox_mehrereDienste_mitarbeiter" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0 5 0 0" />
|
||||
<ComboBox x:Name="combobox_mehrereDienste_mitarbeiter" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0 5 0 0" SelectionChanged="combobox_mehrereDienste_mitarbeiter_SelectionChanged"/>
|
||||
<ListBox x:Name="mehrereDienste_listbox_dienste" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" MaxHeight="300" Margin="5 10 0 10"
|
||||
SelectionChanged="mehrereDienste_listbox_dienste_SelectionChanged">
|
||||
<ListBox.ItemTemplate>
|
||||
@@ -149,20 +150,24 @@
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<WrapPanel FlowDirection="LeftToRight" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3">
|
||||
<WrapPanel x:Name="mehrereDienste_wrappanel_zeile" FlowDirection="LeftToRight" Grid.Row="2" Grid.ColumnSpan="3" Visibility="Collapsed" >
|
||||
<Label Content="Zeile:"/>
|
||||
<dxe:SpinEdit x:Name="mehrereDienste_spinedit_zeile" Margin="28 0 0 5" Width="75" MaskType="Numeric" Mask="##" />
|
||||
</WrapPanel>
|
||||
<WrapPanel FlowDirection="LeftToRight" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="3">
|
||||
<Label Content="Startzeit:"/>
|
||||
<dxe:TextEdit x:Name="mehrereDienste_textbox_startzeit" Width="75" Margin="10 0 10 0" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" EditValueChanged="mehrereDienste_textbox_startzeit_EditValueChanged"/>
|
||||
<Label Content="Endzeit:" />
|
||||
<dxe:TextEdit x:Name="mehrereDienste_textbox_endzeit" Width="75" Margin="10 0 0 0" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" EditValueChanged="mehrereDienste_textbox_endzeit_EditValueChanged"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel FlowDirection="LeftToRight" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="3" Margin="0 5 0 0">
|
||||
<WrapPanel FlowDirection="LeftToRight" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3" Margin="0 5 0 0">
|
||||
<Label Content="Dauer:" Margin="0 0 5 0" />
|
||||
<dxe:TextEdit x:Name="mehrereDienste_textbox_dauer" Width="75" Margin=" 17 0 0 0" MaskType="Numeric" Mask="########0.00" />
|
||||
</WrapPanel>
|
||||
<Calendar x:Name="_CalenderControl" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4" SelectionMode="MultipleRange"
|
||||
<Calendar x:Name="_CalenderControl" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="5" SelectionMode="MultipleRange"
|
||||
HorizontalAlignment="Left" Margin="5 10 0 10" IsTodayHighlighted="False" />
|
||||
|
||||
<Button x:Name="mehrereDienste_button_speichern" Content="Dienste erstellen" Grid.Column="2" Grid.Row="5" Click="mehrereDienste_button_speichern_Click"/>
|
||||
<Button x:Name="mehrereDienste_button_speichern" Content="Dienste erstellen" Grid.Column="2" Grid.Row="6" Click="mehrereDienste_button_speichern_Click"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Border>
|
||||
|
||||
@@ -47,6 +47,8 @@ namespace BeWo.View.Detail.Report
|
||||
private int _AuswahlTag;
|
||||
private List<EmployeeDC> _AlleMitarbeiter;
|
||||
|
||||
private DienstEintragDC LetzterEintrag;
|
||||
|
||||
private bool _IsControlClick;
|
||||
|
||||
public DienstplanerView()
|
||||
@@ -130,10 +132,11 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
_DienstplanerRootObj = root;
|
||||
|
||||
#if DEBUG
|
||||
// Erste Zeile für den Status erstellen
|
||||
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
_DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
|
||||
|
||||
//_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
//_DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
|
||||
#endif
|
||||
// Wenn es regelmäßige Dienste gibt, werden diese hinzugefügt
|
||||
foreach (var rd in _DienstplanerRootObj.RegelmaessigeDienste)
|
||||
AddRegelmaessigeDiensteToDienstplaner(rd);
|
||||
@@ -160,11 +163,15 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
private void RefreshGrid()
|
||||
{
|
||||
var days = DateTime.DaysInMonth(_AuswahlMonat.Year, _AuswahlMonat.Month);
|
||||
for (int i = 1; i <= days; i++)
|
||||
if (_DienstplanerRootObj.EnableStatuszeile)
|
||||
{
|
||||
RefreshStatusForDay(i);
|
||||
var days = DateTime.DaysInMonth(_AuswahlMonat.Year, _AuswahlMonat.Month);
|
||||
for (int i = 1; i <= days; i++)
|
||||
{
|
||||
RefreshStatusForDay(i);
|
||||
}
|
||||
}
|
||||
|
||||
_GridControl.ItemsSource = null;
|
||||
_GridControl.ItemsSource = _DienstplanerRootObj.DienstZeilenListe;
|
||||
}
|
||||
@@ -596,6 +603,9 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
}
|
||||
popUp_mehrereDienste.IsOpen = true;
|
||||
#if DEBUG
|
||||
mehrereDienste_wrappanel_zeile.Visibility = Visibility.Visible;
|
||||
#endif
|
||||
|
||||
// Boxen mit Daten füllen
|
||||
combobox_mehrereDienste_mitarbeiter.ItemsSource = emps;
|
||||
@@ -693,9 +703,10 @@ namespace BeWo.View.Detail.Report
|
||||
numInfo.NumberGroupSeparator = ",";
|
||||
}
|
||||
double dauerInStunden = Convert.ToDouble(mehrereDienste_textbox_dauer.EditValue, numInfo);
|
||||
|
||||
int zeile = Convert.ToInt32(mehrereDienste_spinedit_zeile.Value) - 1;
|
||||
|
||||
InsertEintragOderVertretung(mehrereDienste_textbox_startzeit.Text, mehrereDienste_textbox_endzeit.Text, dauerInStunden, mitarbeiter,
|
||||
datum, dienst, 0, null);
|
||||
datum, dienst, zeile, null);
|
||||
}
|
||||
|
||||
popUp_mehrereDienste.IsOpen = false;
|
||||
@@ -730,7 +741,8 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
textbox_bemerkung.Text = "";
|
||||
popUp_RightClick.IsOpen = false;
|
||||
RefreshStatusForDay(datum.Day);
|
||||
if (_DienstplanerRootObj.EnableStatuszeile)
|
||||
RefreshStatusForDay(datum.Day);
|
||||
|
||||
// Prüfen, ob Dienst an einem Abwesenheitstag entfernt wurde und wenn ja, Ist und Saldo nicht anpassen
|
||||
if (!EintragAnGanzemAbwesenheitstag(eintrag, null))
|
||||
@@ -750,7 +762,7 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
var culture = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);
|
||||
var numInfo = culture.NumberFormat;
|
||||
|
||||
|
||||
if (textbox_dauer.Text.Contains(','))
|
||||
{
|
||||
numInfo.NumberDecimalSeparator = ",";
|
||||
@@ -773,9 +785,10 @@ namespace BeWo.View.Detail.Report
|
||||
Notice = notice,
|
||||
Endzeit = ende,
|
||||
Startzeit = start,
|
||||
DauerInStunden = dauerInStunden
|
||||
DauerInStunden = dauerInStunden
|
||||
};
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstEintrag(newEintrag));
|
||||
LetzterEintrag = newEintrag;
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
{
|
||||
_DienstplanerRootObj.AlleDienstEintraege.Add(newEintrag);
|
||||
@@ -829,7 +842,8 @@ namespace BeWo.View.Detail.Report
|
||||
{
|
||||
textbox_bemerkung.Text = "";
|
||||
popUp_RightClick.IsOpen = false;
|
||||
RefreshStatusForDay(datum.Day);
|
||||
if (_DienstplanerRootObj.EnableStatuszeile)
|
||||
RefreshStatusForDay(datum.Day);
|
||||
|
||||
// Prüfen, ob Dienst an einem Abwesenheitstag entfernt wurde und wenn ja, Ist und Saldo nicht anpassen
|
||||
if (!EintragAnGanzemAbwesenheitstag(null, vertretung))
|
||||
@@ -860,6 +874,18 @@ namespace BeWo.View.Detail.Report
|
||||
DauerInStunden = dauerInStunden
|
||||
};
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstvertretung(newVertretung));
|
||||
LetzterEintrag = new DienstEintragDC()
|
||||
{
|
||||
Datum = newVertretung.Datum,
|
||||
DauerInStunden = newVertretung.DauerInStunden,
|
||||
DienstOid = newVertretung.DienstOid,
|
||||
EmployeeOid = newVertretung.EmployeeOid,
|
||||
Endzeit = newVertretung.Endzeit,
|
||||
Notice = newVertretung.Notice,
|
||||
Startzeit = newVertretung.Startzeit,
|
||||
WohnheimOid = newVertretung.WohnheimOid,
|
||||
Zeile = newVertretung.Zeile
|
||||
};
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
{
|
||||
_DienstplanerRootObj.AlleDienstvertretungen.Add(newVertretung);
|
||||
@@ -894,7 +920,6 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
_AuswahlDienstZeileDC.AddDienst(datum.Day, dienst);
|
||||
//RefreshStatusForDay(datum.Day);
|
||||
RefreshGrid();
|
||||
}
|
||||
|
||||
@@ -1003,109 +1028,118 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
#endregion
|
||||
|
||||
popUp_RightClick.IsOpen = true;
|
||||
if (!_DienstplanerRootObj.AlleDienste.Contains(DienstInfoDC.Platzhalter))
|
||||
_DienstplanerRootObj.AlleDienste.Insert(0, DienstInfoDC.Platzhalter);
|
||||
|
||||
// Dienste in die Liste laden
|
||||
combobox_dienste.ItemsSource = _DienstplanerRootObj.AlleDienste;
|
||||
|
||||
#region Bei vorhandenem Dienst in der Zelle Zeiten und gewählten Dienst im PopUp setzen und den Header anpassen
|
||||
if (_AuswahlWohnheim.EmployeeOids.Contains(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value))
|
||||
if (e.LeftButton == MouseButtonState.Pressed || LetzterEintrag == null)
|
||||
{
|
||||
var eintrag = GetDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
popUp_RightClick.IsOpen = true;
|
||||
if (!_DienstplanerRootObj.AlleDienste.Contains(DienstInfoDC.Platzhalter))
|
||||
_DienstplanerRootObj.AlleDienste.Insert(0, DienstInfoDC.Platzhalter);
|
||||
|
||||
if (eintrag == null)
|
||||
// Dienste in die Liste laden
|
||||
combobox_dienste.ItemsSource = _DienstplanerRootObj.AlleDienste;
|
||||
|
||||
if (_AuswahlWohnheim.EmployeeOids.Contains(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value))
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Neuen Dienst hinzufügen";
|
||||
combobox_dienste.SelectedIndex = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Dienst bearbeiten";
|
||||
foreach (var info in _DienstplanerRootObj.AlleDienste)
|
||||
var eintrag = GetDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
|
||||
if (eintrag == null)
|
||||
{
|
||||
// Wenn ein Dienst existiert, gewählten Dienst und Zeiten in die Boxen setzen
|
||||
if (eintrag.DienstOid == info.Oid)
|
||||
{
|
||||
combobox_dienste.SelectedItem = info;
|
||||
if (TimeSpan.Parse(eintrag.Startzeit) != info.Start.TimeOfDay)
|
||||
textbox_startzeit.Foreground = foregroundColor;
|
||||
if (TimeSpan.Parse(eintrag.Endzeit) != info.Ende.TimeOfDay)
|
||||
textbox_endzeit.Foreground = foregroundColor;
|
||||
|
||||
if (eintrag.Startzeit == "00:00" && eintrag.Endzeit == "00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
|
||||
textbox_dauer.Text = string.Format("{0:0.00}", eintrag.DauerInStunden);
|
||||
|
||||
break;
|
||||
}
|
||||
groupbox_popUp_RightClick.Header = "Neuen Dienst hinzufügen";
|
||||
combobox_dienste.SelectedIndex = 0;
|
||||
}
|
||||
textbox_startzeit.Text = eintrag.Startzeit;
|
||||
textbox_endzeit.Text = eintrag.Endzeit;
|
||||
}
|
||||
textbox_bemerkung.Text = eintrag != null ? eintrag.Notice : "";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Überprüfen, ob Mitarbeiter aus Wohnheim entfernt wurde, also
|
||||
if (_DienstplanerRootObj.AlleDienstEintraege.Any(ei => ei.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid))
|
||||
{
|
||||
popUp_RightClick.IsOpen = false;
|
||||
|
||||
if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Male)
|
||||
MessageBox.Show("Der Mitarbeiter wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
else if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Female)
|
||||
MessageBox.Show("Die Mitarbeiterin wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diese" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
else
|
||||
MessageBox.Show("Der/Die Mitarbeiter/-in wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen/diese" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
return;
|
||||
}
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Dienst bearbeiten";
|
||||
foreach (var info in _DienstplanerRootObj.AlleDienste)
|
||||
{
|
||||
// Wenn ein Dienst existiert, gewählten Dienst und Zeiten in die Boxen setzen
|
||||
if (eintrag.DienstOid == info.Oid)
|
||||
{
|
||||
combobox_dienste.SelectedItem = info;
|
||||
if (TimeSpan.Parse(eintrag.Startzeit) != info.Start.TimeOfDay)
|
||||
textbox_startzeit.Foreground = foregroundColor;
|
||||
if (TimeSpan.Parse(eintrag.Endzeit) != info.Ende.TimeOfDay)
|
||||
textbox_endzeit.Foreground = foregroundColor;
|
||||
|
||||
if (eintrag.Startzeit == "00:00" && eintrag.Endzeit == "00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
|
||||
var vertretung = GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
textbox_dauer.Text = string.Format("{0:0.00}", eintrag.DauerInStunden);
|
||||
|
||||
if (vertretung == null)
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Neuen Vertretungsdienst hinzufügen";
|
||||
combobox_dienste.SelectedIndex = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
textbox_startzeit.Text = eintrag.Startzeit;
|
||||
textbox_endzeit.Text = eintrag.Endzeit;
|
||||
}
|
||||
textbox_bemerkung.Text = eintrag != null ? eintrag.Notice : "";
|
||||
}
|
||||
else
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Vertretungsdienst bearbeiten";
|
||||
foreach (var info in _DienstplanerRootObj.AlleDienste)
|
||||
// Überprüfen, ob Mitarbeiter aus Wohnheim entfernt wurde, also
|
||||
if (_DienstplanerRootObj.AlleDienstEintraege.Any(ei => ei.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid))
|
||||
{
|
||||
// Wenn ein Dienst existiert, gewählten Dienst und Zeiten in die Boxen setzen
|
||||
if (vertretung.DienstOid == info.Oid)
|
||||
{
|
||||
combobox_dienste.SelectedItem = info;
|
||||
if (TimeSpan.Parse(vertretung.Startzeit) != info.Start.TimeOfDay)
|
||||
textbox_startzeit.Foreground = foregroundColor;
|
||||
if (TimeSpan.Parse(vertretung.Endzeit) != info.Ende.TimeOfDay)
|
||||
textbox_endzeit.Foreground = foregroundColor;
|
||||
popUp_RightClick.IsOpen = false;
|
||||
|
||||
if (vertretung.Startzeit == "00:00" && vertretung.Endzeit == "00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
|
||||
textbox_dauer.Text = string.Format("{0:0.00}", vertretung.DauerInStunden);
|
||||
|
||||
break;
|
||||
}
|
||||
if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Male)
|
||||
MessageBox.Show("Der Mitarbeiter wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
else if (_AuswahlDienstZeileDC.Employee.Sex == BS.Shared.Sex.Female)
|
||||
MessageBox.Show("Die Mitarbeiterin wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diese" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
else
|
||||
MessageBox.Show("Der/Die Mitarbeiter/-in wurde aus dem Wohnheim entfernt und es können keine Änderungen mehr für diesen/diese" +
|
||||
" vorgenommen werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||
return;
|
||||
}
|
||||
textbox_startzeit.Text = vertretung.Startzeit;
|
||||
textbox_endzeit.Text = vertretung.Endzeit;
|
||||
|
||||
|
||||
var vertretung = GetDienstvertretung(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
|
||||
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
|
||||
|
||||
if (vertretung == null)
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Neuen Vertretungsdienst hinzufügen";
|
||||
combobox_dienste.SelectedIndex = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
groupbox_popUp_RightClick.Header = "Vertretungsdienst bearbeiten";
|
||||
foreach (var info in _DienstplanerRootObj.AlleDienste)
|
||||
{
|
||||
// Wenn ein Dienst existiert, gewählten Dienst und Zeiten in die Boxen setzen
|
||||
if (vertretung.DienstOid == info.Oid)
|
||||
{
|
||||
combobox_dienste.SelectedItem = info;
|
||||
if (TimeSpan.Parse(vertretung.Startzeit) != info.Start.TimeOfDay)
|
||||
textbox_startzeit.Foreground = foregroundColor;
|
||||
if (TimeSpan.Parse(vertretung.Endzeit) != info.Ende.TimeOfDay)
|
||||
textbox_endzeit.Foreground = foregroundColor;
|
||||
|
||||
if (vertretung.Startzeit == "00:00" && vertretung.Endzeit == "00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
|
||||
textbox_dauer.Text = string.Format("{0:0.00}", vertretung.DauerInStunden);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
textbox_startzeit.Text = vertretung.Startzeit;
|
||||
textbox_endzeit.Text = vertretung.Endzeit;
|
||||
}
|
||||
textbox_bemerkung.Text = vertretung != null ? vertretung.Notice : "";
|
||||
}
|
||||
textbox_bemerkung.Text = vertretung != null ? vertretung.Notice : "";
|
||||
}
|
||||
else if (e.RightButton == MouseButtonState.Pressed && LetzterEintrag != null)
|
||||
{
|
||||
// Mit Rechtsklick den zuletzt eingesetzten Dienst einsetzen
|
||||
InsertEintragOderVertretung(LetzterEintrag.Startzeit, LetzterEintrag.Endzeit, LetzterEintrag.DauerInStunden, _AuswahlDienstZeileDC.Employee,
|
||||
Pointer, _DienstplanerRootObj.AlleDienste.First(d => d.Oid == LetzterEintrag.DienstOid), _AuswahlDienstZeileDC.Zeile, LetzterEintrag.Notice);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@@ -2280,7 +2314,8 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
}
|
||||
// Status, Ist und Saldo updaten
|
||||
RefreshStatusForDay(i);
|
||||
if (_DienstplanerRootObj.EnableStatuszeile)
|
||||
RefreshStatusForDay(i);
|
||||
foreach (var item in _DienstplanerRootObj.MonatsZusammenfassung)
|
||||
{
|
||||
if (item.Employee.EmployeeOid == dc.EmployeeOid)
|
||||
@@ -2350,6 +2385,28 @@ namespace BeWo.View.Detail.Report
|
||||
RefreshDienste();
|
||||
}
|
||||
|
||||
private void combobox_mehrereDienste_mitarbeiter_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
var selectedEmp = combobox_mehrereDienste_mitarbeiter.SelectedItem as EmployeeDC;
|
||||
var block = _DienstplanerRootObj.DienstDCListe.FirstOrDefault(b => b.Employee == selectedEmp);
|
||||
if (block != null)
|
||||
{
|
||||
int letzteZeileMitEintraegen = 0;
|
||||
for (int i = 0; i < block.DienstDictArray.Length; i++)
|
||||
{
|
||||
if (block.DienstDictArray[i].Count > 0)
|
||||
{
|
||||
letzteZeileMitEintraegen = i;
|
||||
}
|
||||
}
|
||||
|
||||
mehrereDienste_spinedit_zeile.MinValue = 1;
|
||||
mehrereDienste_spinedit_zeile.MaxValue = letzteZeileMitEintraegen + 1;
|
||||
mehrereDienste_spinedit_zeile.Value = 1;
|
||||
mehrereDienste_spinedit_zeile.Increment = 1;
|
||||
}
|
||||
}
|
||||
|
||||
#region ColumnCreate
|
||||
|
||||
private GridColumn NewGridColumnUnbound(string header, string fieldName, string tag, GridColumnWidth width, double minWidth, DevExpress.Data.UnboundColumnType unboundColumnType, ControlTemplate displayTemplate, DevExpress.Utils.DefaultBoolean allowResize)
|
||||
@@ -2463,6 +2520,8 @@ namespace BeWo.View.Detail.Report
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -68,13 +68,18 @@ namespace BeWo.Service.Dienstplanung
|
||||
root.DienstDCListe.AddRange(GetDienstvertretungen(wohnheimOid, date.Year, date.Month));
|
||||
root.DienstDCListe = root.DienstDCListe.OrderBy(d => d.Employee.LastName).ToList();
|
||||
|
||||
root.EnableStatuszeile = SetEnableStatuszeile();
|
||||
root.DienstZeilenListe = new List<DienstZeileDC>();
|
||||
if (root.EnableStatuszeile)
|
||||
root.DienstZeilenListe.Add(InitStatusZeile(date));
|
||||
|
||||
root.StatusColorTrue = "#FF228B22";
|
||||
root.StatusColorFalse = "#FFCD5C5C";
|
||||
|
||||
var wh = DAOFactory.GenericDAO.GetByID<Wohnheim>(wohnheimOid);
|
||||
|
||||
List<long> empOids = new List<long>();
|
||||
#region EmployeeOids holen für Ist- und Saldoberechnung und die Liste der vorhandenen Mitarbeiter
|
||||
#region EmployeeOids holen für Ist- und Saldoberechnung und die Liste der vorhandenen Mitarbeiter
|
||||
// WIEDER EINKOMMENTIEREN FALLS FEHLER AUFTRETEN
|
||||
//foreach (var item in wh.Employee2WohnheimList)
|
||||
//{
|
||||
@@ -95,7 +100,7 @@ namespace BeWo.Service.Dienstplanung
|
||||
if (!root.AllEmployee.Contains(block.Employee))
|
||||
root.AllEmployee.Add(block.Employee);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
root.MonatsZusammenfassung = BerechneSollSaldoUndIst(root, date, empOids);
|
||||
|
||||
@@ -758,5 +763,38 @@ namespace BeWo.Service.Dienstplanung
|
||||
return bloeckeNeuSortiert;
|
||||
}
|
||||
}
|
||||
public static DienstZeileDC InitStatusZeile(DateTime date)
|
||||
{
|
||||
|
||||
var days = DateTime.DaysInMonth(date.Year, date.Month);
|
||||
var zeileDC = new DienstZeileDC()
|
||||
{
|
||||
Contracts = null,
|
||||
Date = date,
|
||||
DienstDict = null,
|
||||
Employee = null,
|
||||
StatusListe = new List<BesetzungsstatusDC>(),
|
||||
Zeile = 0
|
||||
};
|
||||
for (int i = 1; i <= days; i++)
|
||||
{
|
||||
zeileDC.StatusListe.Add(new BesetzungsstatusDC()
|
||||
{
|
||||
DauerhaftBesetztStatus = false,
|
||||
Stunden = 0,
|
||||
Tag = i
|
||||
});
|
||||
}
|
||||
|
||||
return zeileDC;
|
||||
}
|
||||
|
||||
public static bool SetEnableStatuszeile()
|
||||
{
|
||||
#if DEBUG
|
||||
return false;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,5 +67,8 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public List<string> SortierMethoden { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public bool EnableStatuszeile { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user