Konflikte gelöst

This commit is contained in:
Lyndon Jetten
2020-10-20 21:30:16 +02:00
409 changed files with 17096 additions and 3369 deletions

4
.gitignore vendored
View File

@@ -465,3 +465,7 @@
/ReportImp/PsychosozialeHilfenBochum/obj/Release
/ReportImp/DieBrueckeHilfeUndHalt/obj/Debug
/ReportImp/DieBrueckeHilfeUndHalt/obj/Release
/ReportImp/DiakonischesWerkHerne/obj/Debug
/ReportImp/DiakonischesWerkHerne/obj/Release
/ReportImp/SabGmbH/obj/Debug
/ReportImp/SabGmbH/obj/Release

View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2010
# Visual Studio Version 16
VisualStudioVersion = 16.0.30523.141
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
EndProject
@@ -391,6 +391,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PraxisPusteblume", "ReportI
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SawoReports", "ReportImp\SawoReports\SawoReports.csproj", "{E590CC37-E2A4-488F-BBA2-C70042BD488D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoFlex", "ReportImp\BeWoFlex\BeWoFlex.csproj", "{C1FED668-ADB9-47E0-B589-1389618E1B6E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiePerspektive", "ReportImp\DiePerspektive\DiePerspektive.csproj", "{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AsbRuhr", "ReportImp\AsbRuhr\AsbRuhr.csproj", "{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiakonischesWerkWesel", "ReportImp\DiakonischesWerkWesel\DiakonischesWerkWesel.csproj", "{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Humanitas", "ReportImp\Humanitas\Humanitas.csproj", "{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -2902,6 +2912,86 @@ Global
{E590CC37-E2A4-488F-BBA2-C70042BD488D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E590CC37-E2A4-488F-BBA2-C70042BD488D}.Release|x86.ActiveCfg = Release|Any CPU
{E590CC37-E2A4-488F-BBA2-C70042BD488D}.Release|x86.Build.0 = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|.NET.ActiveCfg = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|.NET.Build.0 = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|x86.ActiveCfg = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Debug|x86.Build.0 = Debug|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|.NET.ActiveCfg = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|.NET.Build.0 = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|Any CPU.Build.0 = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|x86.ActiveCfg = Release|Any CPU
{C1FED668-ADB9-47E0-B589-1389618E1B6E}.Release|x86.Build.0 = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|.NET.ActiveCfg = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|.NET.Build.0 = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|x86.ActiveCfg = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Debug|x86.Build.0 = Debug|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|.NET.ActiveCfg = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|.NET.Build.0 = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|Any CPU.Build.0 = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|x86.ActiveCfg = Release|Any CPU
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8}.Release|x86.Build.0 = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|.NET.ActiveCfg = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|.NET.Build.0 = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|x86.ActiveCfg = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Debug|x86.Build.0 = Debug|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|.NET.ActiveCfg = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|.NET.Build.0 = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|Any CPU.Build.0 = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|x86.ActiveCfg = Release|Any CPU
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}.Release|x86.Build.0 = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|.NET.ActiveCfg = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|.NET.Build.0 = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|x86.ActiveCfg = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Debug|x86.Build.0 = Debug|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|.NET.ActiveCfg = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|.NET.Build.0 = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|Any CPU.Build.0 = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|x86.ActiveCfg = Release|Any CPU
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3}.Release|x86.Build.0 = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|.NET.ActiveCfg = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|.NET.Build.0 = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|x86.ActiveCfg = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Debug|x86.Build.0 = Debug|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|.NET.ActiveCfg = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|.NET.Build.0 = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|Any CPU.Build.0 = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|x86.ActiveCfg = Release|Any CPU
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3093,6 +3183,11 @@ Global
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
{A6E699B3-8399-4B8D-90F1-119B021F3D44} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{E590CC37-E2A4-488F-BBA2-C70042BD488D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{C1FED668-ADB9-47E0-B589-1389618E1B6E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{D4094646-4495-4FD8-AA8C-770E2EFCE7E8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{062698EA-8477-4F07-BF2A-CE4FAE4DCFA3} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{DB03F765-7CE2-40A6-B469-BCEBE61ACF9E} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -116,6 +116,7 @@
<Reference Include="DevExpress.Xpf.Ribbon.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.RichEdit.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Scheduler.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.LightGray.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2010Black.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2013.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2016White.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -332,6 +333,14 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Report\AbwesenheitsEmployeeHeaderTooltip.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Report\AbwesenheitsEmployeeHeader.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Report\DienstplanerView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -340,7 +349,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Report\AbwesenheitstabelleView.xaml">
<Page Include="View\Detail\Report\AbwesenheitsView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
@@ -846,6 +855,7 @@
<Compile Include="ViewModel\AdditionalServiceVM.cs" />
<Compile Include="ViewModel\DienstInfoVM.cs" />
<Compile Include="ViewModel\BudgetVM.cs" />
<Compile Include="ViewModel\QuittierungsbelegsstatusVM.cs" />
<Compile Include="ViewModel\RatingTypeVM.cs" />
<Compile Include="ViewModel\ListViewModel\GoalRatingListVM.cs" />
<Compile Include="ViewModel\ListViewModel\RatingTypeListVM.cs" />
@@ -980,11 +990,17 @@
<Compile Include="View\Detail\AbsenceTimesView.xaml.cs">
<DependentUpon>AbsenceTimesView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\AbwesenheitsEmployeeHeaderTooltip.xaml.cs">
<DependentUpon>AbwesenheitsEmployeeHeaderTooltip.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\AbwesenheitsEmployeeHeader.xaml.cs">
<DependentUpon>AbwesenheitsEmployeeHeader.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\DienstplanerView.xaml.cs">
<DependentUpon>DienstplanerView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\AbwesenheitstabelleView.xaml.cs">
<DependentUpon>AbwesenheitstabelleView.xaml</DependentUpon>
<Compile Include="View\Detail\Report\AbwesenheitsView.xaml.cs">
<DependentUpon>AbwesenheitsView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\Report\AbwesenheitsEditView.xaml.cs">
<DependentUpon>AbwesenheitsEditView.xaml</DependentUpon>

View File

@@ -43,8 +43,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string Version = "Version 2.4.8 Test";
public static string ShortVersion = "3";
public static string Version = "Version 3.0 TEST";
public static int RenderTier = 0;

View File

@@ -103,10 +103,15 @@ namespace BeWo.Core
public static void NavigateToReportUri(string navigateUriString, string title)
{
NavigateToReportUriWithDocumentPreviewControl(navigateUriString, title, null);
NavigateToReportUri(navigateUriString, title, null);
}
public static void NavigateToReportUriWithDocumentPreviewControl(string navigateUriString, string title, DocumentPreviewControl dp)
public static void NavigateToReportUri(string navigateUriString, string title, Action callback)
{
NavigateToReportUriWithDocumentPreviewControl(navigateUriString, title, null, callback);
}
public static void NavigateToReportUriWithDocumentPreviewControl(string navigateUriString, string title, DocumentPreviewControl dp, Action callback)
{
var reportTemplates = ServiceFacade.DoOperationsServiceSync(x => x.GetReportTemplates(navigateUriString));
@@ -149,6 +154,10 @@ namespace BeWo.Core
StartGetReportStreamAsync(GetReportStreamForWPFControl, newUri, ms => BeWoApp.MainControl.Dispatch(delegate
{
if (callback != null)
{
callback();
}
ShowReportWindow(ms, title, dp);
}));
};
@@ -161,6 +170,10 @@ namespace BeWo.Core
StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => BeWoApp.MainControl.Dispatch(delegate
{
if (callback != null)
{
callback();
}
ShowReportWindow(ms, title, dp);
}));
}

View File

@@ -352,6 +352,28 @@ namespace BeWo.Core.Service
return ve;
}
public void AddGoalEntry(ValueListEntryDC newdc)
{
if (newdc.ValueListEntryOid.HasValue)
{
var ve = GetGoalEntry(newdc.ValueListEntryOid.Value);
if (ve == null || !ve.ValueListEntryOid.HasValue)
{
if (mValueListEntryDict != null)
{
if (!mValueListEntryDict.ContainsKey(newdc.Type))
{
mValueListEntryDict[newdc.Type] = new List<ValueListEntryDC>();
}
mValueListEntryDict[newdc.Type].Add(newdc);
}
}
}
}
public ValueListEntryDC GetValueListEntry(ValueListEntryType type, long oid)
{
if (mValueListEntryDict == null || !mValueListEntryDict.ContainsKey(type))

View File

@@ -284,6 +284,7 @@ namespace BeWo.Core.Service
public static void RecursiveSynchronousSCValueListEntrySave(SupportConceptGoalTreeItem treeItem)
{
var neuerDC = ServiceFacade.DoValueListServiceSync(s => s.InsertNewValueListEntry(treeItem.GoalEntryVM.CommitToDataContract()));
Cache.GetInstance().AddGoalEntry(neuerDC);
InsertedGoals.Add(neuerDC);
treeItem.GoalEntryVM = new ValueListEntryVM(neuerDC);
treeItem.GoalEntryDC = neuerDC;

View File

@@ -41,7 +41,7 @@ namespace BeWo
private String GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&t=1";
private String GETSTATUSMESSAGE_URL = "https://support.bewoplaner.de/api/getstate.php?k={0}&t=1";
private String GETSTATUSMESSAGE_URL = "https://support.bewoplaner.de/api/getstate.php?k={0}&t=1&v={1}";
private String GETNETMESSAGE_URL = "https://support.bewoplaner.de/api/getxmlstate.php?k={0}&t=1";
@@ -760,19 +760,19 @@ namespace BeWo
if (!isNet45OrNewer)
{
if (!CheckStatusMessage(profile, String.Format(GETNETMESSAGE_URL, profile.Tenant)))
if (!CheckStatusMessage(profile, String.Format(GETNETMESSAGE_URL, profile.Tenant, BeWoApp.Version)))
{
return;
}
}
#if DEBUG
if (!CheckStatusMessage(profile, String.Format(GETNETMESSAGE_URL, profile.Tenant)))
if (!CheckStatusMessage(profile, String.Format(GETSTATUSMESSAGE_URL, profile.Tenant, BeWoApp.ShortVersion)))
{
return;
}
#else
if (!CheckStatusMessage(profile, String.Format(GETSTATUSMESSAGE_URL, profile.Tenant)))
if (!CheckStatusMessage(profile, String.Format(GETSTATUSMESSAGE_URL, profile.Tenant, BeWoApp.Version)))
{
return;
}

View File

@@ -1940,7 +1940,10 @@ namespace BeWo.Scheduler.View
foreach (var termin in mehrTaegigeTermine)
{
var tage = termin.StartDate.Value.GetDayNumberBetweenTwoDates(termin.EndDate.Value);
if (tage > 31)
{
tage = 31;
}
if (termin.AllDay)
{
tage -= 1;

File diff suppressed because it is too large Load Diff

View File

@@ -20,42 +20,33 @@ using SchedulerControl = DevExpress.Xpf.Scheduler.SchedulerControl;
namespace BeWo.View.Detail.Report
{
/// <summary>
/// Interaktionslogik für TestEMailControl.xaml
/// </summary>
public partial class AbwesenheitsEditView : UserControl
{
private SchedulerControl _SchedulerControl;
private AbwesenheitstabelleView Parent;
public bool IsEditMode { get; set; }
public AbsenceTimeDC AbsenceTime { get; set; }
public Appointment Appointment { get; }
/// <summary>
/// Für Appointment-Bearbeitung
/// </summary>
/// <param name="appointment"></param>
/// <param name="absenceTimeDC"></param>
/// <param name="reasons"></param>
public AbwesenheitsEditView(SchedulerControl schedulerControl, Appointment appointment, AbsenceTimeDC absenceTimeDC, List<AbsenceReasonDC> reasons)
public AbwesenheitsEditView(AbwesenheitstabelleView abwesenheitstabelleView, Appointment appointment, List<AbsenceReasonDC> reasons)
{
InitializeComponent();
_SchedulerControl = schedulerControl;
Parent = abwesenheitstabelleView;
_ReasonPicker.Items.AddRange(reasons.ToArray());
Appointment = appointment;
IsEditMode = appointment.CustomFields["AbsenceTime"] != null;
IsEditMode = (AbsenceTimeDC)appointment.CustomFields[nameof(AbsenceTimeDC)] != null;
if (IsEditMode)
{
_DeleteBtn.Visibility = Visibility.Visible;
AbsenceTime = absenceTimeDC;
AbsenceTime = (AbsenceTimeDC)appointment.CustomFields[nameof(AbsenceTimeDC)];
_ReasonPicker.SelectedItem = absenceTimeDC.Reason;
_NoticeTxt.Text = absenceTimeDC.Notice;
_ReasonPicker.SelectedItem = AbsenceTime.Reason;
_NoticeTxt.Text = AbsenceTime.Notice;
}
else
{
@@ -79,17 +70,17 @@ namespace BeWo.View.Detail.Report
{
if (MessageBox.Show("Möchten Sie den Eintrag wirklich löschen?", "Eintrag löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes)
return;
_SchedulerControl.Storage.AppointmentStorage.Remove(Appointment);
ServiceFacade.DoOperationsServiceAsync(x => x.DeleteAbsenceTime(AbsenceTime));
Parent._SchedulerControl.Storage.AppointmentStorage.Remove(Appointment);
ServiceFacade.DoOperationsServiceSync(x => x.DeleteAbsenceTime(AbsenceTime));
SchedulerFormBehavior.Close(this, true);
Parent.UpdateUrlaubkonto(AbsenceTime.EmployeeOid.Value);
}
private void SaveBtn_Click(object sender, RoutedEventArgs e)
{
var start = _DatePickerStartDate.DateTime;
var end = string.IsNullOrEmpty(_DatePickerEndDate.Text) ? null : _DatePickerEndDate.DateTime as DateTime?;
@@ -110,18 +101,20 @@ namespace BeWo.View.Detail.Report
var t = AbsenceTime.AbsenceTimeVersion;
SchedulerHelper.OverrideAWithB(Appointment, AbsenceTime);
SchedulerHelper.OverrideAppointmentWithAbsenceTime(Appointment, AbsenceTime);
}
else
{
AbsenceTime = ServiceFacade.DoOperationsServiceSync(x => x.InsertAbsenceTimeWithReturn(AbsenceTime));
SchedulerHelper.OverrideAWithB(Appointment, AbsenceTime);
SchedulerHelper.OverrideAppointmentWithAbsenceTime(Appointment, AbsenceTime);
_SchedulerControl.Storage.AppointmentStorage.Add(Appointment);
Parent._SchedulerControl.Storage.AppointmentStorage.Add(Appointment);
}
SchedulerFormBehavior.Close(this, true);
Parent.UpdateUrlaubkonto(AbsenceTime.EmployeeOid.Value);
}
}
}

View File

@@ -0,0 +1,15 @@
<UserControl x:Class="BeWo.View.Detail.Report.AbwesenheitsEmployeeHeader"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
mc:Ignorable="d"
Height="Auto" Width="Auto">
<Grid >
<StackPanel Orientation="Vertical">
<TextBlock x:Name="_EmployeeName" Text="Max, Mustermann" HorizontalAlignment="Left" Foreground="White" />
<TextBlock x:Name="_EmployeeUrlaub" Text="40 Urlaubstage" HorizontalAlignment="Left" Foreground="White" />
</StackPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,56 @@
using BS.Shared.DataContracts;
using DevExpress.Xpf.Core;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BeWo.View.Detail.Report
{
public partial class AbwesenheitsEmployeeHeader : UserControl
{
public static readonly DependencyProperty EmployeeDCProperty = DependencyProperty.Register(
"EmployeeDC",
typeof(EmployeeDC),
typeof(AbwesenheitsEmployeeHeader),
new UIPropertyMetadata(
(s, e) =>
{
var dc = (EmployeeDC)e.NewValue;
var c = (AbwesenheitsEmployeeHeader)s;
if (c != null)
{
if (dc != null)
{
c._EmployeeName.Text = dc.LastNameFirstName;
c._EmployeeUrlaub.Text = $"Urlaub: {dc.Urlaubskonto.Resturlaub.ToString("0.00")}/{dc.Urlaubskonto.Urlaubsanspruch.ToString("0.00")} Tage";
((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc);
}
}
}));
public AbwesenheitsEmployeeHeader()
{
InitializeComponent();
ToolTip = new AbwesenheitsEmployeeHeaderTooltip();
}
public EmployeeDC EmployeeDC
{
get { return (EmployeeDC)GetValue(EmployeeDCProperty); }
set { SetValue(EmployeeDCProperty, value); }
}
}
}

View File

@@ -0,0 +1,30 @@
<UserControl x:Class="BeWo.View.Detail.Report.AbwesenheitsEmployeeHeaderTooltip"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
mc:Ignorable="d"
Height="Auto" Width="Auto">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="Resturlaub Vorjahr" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock x:Name="_TxtResturlaubVorjahr" Text="35,00 Tage" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock Text="Urlaubsanspruch Vorjahr" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock x:Name="_TxtUrlaubsanspruchVorjahr" Text="35,00 Tage" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock Text="Resturlaub" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock x:Name="_TxtResturlaub" Text="35,00 Tage" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock Text="Urlaubsanspruch" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
<TextBlock x:Name="_TxtUrlaubsanspruch" Text="35,00 Tage" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" Foreground="Black" Margin="3"/>
</Grid>
</UserControl>

View File

@@ -0,0 +1,37 @@
using BS.Shared.DataContracts;
using DevExpress.Xpf.Core;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BeWo.View.Detail.Report
{
public partial class AbwesenheitsEmployeeHeaderTooltip : UserControl
{
public AbwesenheitsEmployeeHeaderTooltip()
{
InitializeComponent();
}
public void Set(EmployeeDC emp)
{
var konto = emp.Urlaubskonto;
_TxtResturlaub.Text = konto.Resturlaub.ToString("0.00") + " Tage";
_TxtResturlaubVorjahr.Text = konto.ResturlaubVorjahr.ToString("0.00") + " Tage";
_TxtUrlaubsanspruch.Text = konto.Urlaubsanspruch.ToString("0.00") + " Tage";
_TxtUrlaubsanspruchVorjahr.Text = konto.ResturlaubVorjahrTotal.ToString("0.00") + " Tage";
}
}
}

View File

@@ -10,7 +10,9 @@
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxschi="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
xmlns:XtraScheduler="clr-namespace:DevExpress.XtraScheduler;assembly=DevExpress.XtraScheduler.v17.1.Core"
x:Class="BeWo.View.Detail.Report.AbwesenheitstabelleView"
xmlns:controls="clr-namespace:BeWo.View.Controls"
xmlns:report="clr-namespace:BeWo.View.Detail.Report"
x:Class="BeWo.View.Detail.Report.AbwesenheitstabelleView"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
@@ -21,9 +23,9 @@
<ControlTemplate TargetType="{x:Type dxschi:VisualResourceHeader}">
<Grid>
<dxschi:VerticalHeaderControl SnapsToDevicePixels="True"
ResourceColor="{Binding ResourceHeader.Brushes.ResourceHeader}"
Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"
dxschi:SchedulerItemsControl.ElementPosition="{Binding (dxschi:SchedulerItemsControl.ElementPosition), RelativeSource={RelativeSource TemplatedParent}}"
ResourceColor="{Binding ResourceHeader.Brushes.ResourceHeader}"
Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"
dxschi:SchedulerItemsControl.ElementPosition="{Binding (dxschi:SchedulerItemsControl.ElementPosition), RelativeSource={RelativeSource TemplatedParent}}"
/>
</Grid>
</ControlTemplate>
@@ -32,11 +34,9 @@
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" SnapsToDevicePixels="True" Margin="4"
FontSize="12"
Foreground="White"
Text="{Binding ResourceCaption}"
/>
<Grid>
<report:AbwesenheitsEmployeeHeader EmployeeDC="{Binding CustomFields[EmployeeDC]}"/>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
@@ -47,7 +47,7 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" MinWidth="10"/>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@@ -56,72 +56,41 @@
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--Erste Zeile Links-->
<Grid Grid.Column="0" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Abwesenheitskategorie" Margin="3,3,0,3" />
<dxe:ComboBoxEdit x:Name="FilterAbwesenheit" Grid.Column="1" Grid.Row="0" Margin="0,3,3,3" DisplayMember="Description">
<StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal">
<Label Grid.Column="2" Margin="3,3,0,3" Content="Datum:" />
<controls:MonthPicker Grid.Column="3" x:Name="_MonthPicker" Margin="0,3,3,3" MinWidth="84" HorizontalContentAlignment="Right" />
<dxe:ComboBoxEdit Grid.Column="4" x:Name="_YearPicker" Margin="0,3,3,3" IsManipulationEnabled="False" MinWidth="60" HorizontalContentAlignment="Right"/>
<Button Content="Erstellen" Margin="3" MinWidth="100" Click="Button_Click"/>
</StackPanel>
<StackPanel Grid.Column="2" Grid.Row="0" Orientation="Horizontal">
<Label Content="Anzahl der angezeigten Tage"/>
<dxe:SpinEdit x:Name="_SpinEdit" Margin="3" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False" EditValueChanged="SpinEdit_EditValueChanged"/>
</StackPanel>
<StackPanel Grid.Column="0" Grid.Row="1" Orientation="Horizontal">
<Label Content="Abwesenheitskategorie" Margin="3,3,0,3" />
<dxe:ComboBoxEdit x:Name="FilterAbwesenheit" Margin="0,3,3,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,3,0,3"/>
<dxe:ComboBoxEdit x:Name="FilterBeschaftigungsart" Grid.Column="3" Grid.Row="0" Margin="0,3,3,3" DisplayMember="Name">
<Label Content="Beschäftigungsart" Margin="3,3,0,3"/>
<dxe:ComboBoxEdit x:Name="FilterBeschaftigungsart" Margin="0,3,3,3" DisplayMember="Name">
<dxe:ComboBoxEdit.StyleSettings>
<dxe:CheckedComboBoxStyleSettings />
</dxe:ComboBoxEdit.StyleSettings>
</dxe:ComboBoxEdit>
</Grid>
<!--Erste Zeile Rechts-->
<Grid Grid.Column="2" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="3" Margin="3" Content="Anzahl der angezeigten Tage"/>
<dxe:SpinEdit x:Name="_SpinEdit" Grid.Column="4" Grid.Row="0" Margin="3" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False" EditValueChanged="SpinEdit_EditValueChanged"/>
</Grid>
<!--Zweite Zeile Links-->
<Grid Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left">
<Button Grid.Column="0" Grid.Row="0" Content="Erstellen" Margin="3" MinWidth="100" Click="Button_Click"/>
</Grid>
<!--Zweite Zeile Rechts-->
<Grid Grid.Column="2" Grid.Row="1" HorizontalAlignment="Right">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Datum" Margin="3"/>
<dxe:DateEdit x:Name="_DateTimePicker" Grid.Column="1" Grid.Row="0" Margin="3,3,0,3" EditValueChanged="DateEdit_EditValueChanged" />
</Grid>
</StackPanel>
<dxsch:SchedulerControl dx:ThemeManager.ThemeName="Office2010Black" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3"
x:Name="_SchedulerControl" ActiveViewType="Timeline" Visibility="Collapsed" GroupType="Resource"
IsManipulationEnabled="True" AllowDrop="False" IsTabStop="False" EditAppointmentFormShowing="SchedularControl_EditAppointmentFormShowing"
EditRecurrentAppointmentFormShowing="SchedularControl_EditRecurrentAppointmentFormShowing" FormCustomizationUsingMVVMLocal="False"
AppointmentViewInfoCustomizing="SchedulerControl_AppointmentViewInfoCustomizing" PopupMenuShowing="_SchedulerControl_PopupMenuShowing"
x:Name="_SchedulerControl" ActiveViewType="Timeline" Visibility="Collapsed" GroupType="Resource"
IsManipulationEnabled="True" AllowDrop="False" IsTabStop="False" EditAppointmentFormShowing="SchedularControl_EditAppointmentFormShowing"
EditRecurrentAppointmentFormShowing="SchedularControl_EditRecurrentAppointmentFormShowing" FormCustomizationUsingMVVMLocal="False"
AppointmentViewInfoCustomizing="SchedulerControl_AppointmentViewInfoCustomizing" PopupMenuShowing="SchedulerControl_PopupMenuShowing"
>
<dxsch:SchedulerControl.DefaultMenuCustomizations>
<dxb:RemoveBarItemAndLinkAction ItemName="NewAllDayEvent" />
@@ -129,7 +98,9 @@
<dxb:RemoveBarItemAndLinkAction ItemName="NewRecurringEvent" />
</dxsch:SchedulerControl.DefaultMenuCustomizations>
<dxsch:SchedulerControl.OptionsCustomization>
<dxsch:OptionsCustomization AllowAppointmentCopy="None" AllowAppointmentCreate="All" AllowAppointmentDelete="None" AllowAppointmentDrag="None" AllowAppointmentDragBetweenResources="None" AllowAppointmentEdit="All" AllowAppointmentResize="None" AllowInplaceEditor="None" AllowAppointmentMultiSelect="False"/>
<dxsch:OptionsCustomization AllowAppointmentCopy="None" AllowAppointmentCreate="All" AllowAppointmentDelete="None" AllowAppointmentDrag="None"
AllowAppointmentDragBetweenResources="None" AllowAppointmentEdit="All" AllowAppointmentResize="None" AllowInplaceEditor="None"
AllowAppointmentMultiSelect="False"/>
</dxsch:SchedulerControl.OptionsCustomization>
<dxsch:SchedulerControl.OptionsView>
<dxsch:OptionsView/>

View File

@@ -8,6 +8,7 @@ using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Forms;
using System.Windows.Navigation;
using System.Windows.Media;
using BeWo.Controls;
@@ -23,17 +24,16 @@ using BS.Shared.Extensions;
using BS.Shared.Translation;
using DevExpress.Services;
using DevExpress.XtraScheduler;
using DevExpress.Xpf.Scheduler;
using DevExpress.Xpf.Scheduler.Native;
using SchedulerStorage = DevExpress.Xpf.Scheduler.SchedulerStorage;
using ResourceStorage = DevExpress.Xpf.Scheduler.ResourceStorage;
using AppointmentStorage = DevExpress.Xpf.Scheduler.AppointmentStorage;
using IAppointmentLabelStorage = DevExpress.Xpf.Scheduler.AppointmentLabelCollection;
using BeWo.Scheduler.View;
using AppointmentLabel = DevExpress.Xpf.Scheduler.AppointmentLabel;
using System.Windows.Navigation;
using ColorConverter = System.Windows.Media.ColorConverter;
using SchedulerControl = DevExpress.Xpf.Scheduler.SchedulerControl;
using AppointmentViewInfoCustomizingEventArgs = DevExpress.Xpf.Scheduler.AppointmentViewInfoCustomizingEventArgs;
using DevExpress.XtraScheduler;
namespace BeWo.View.Detail.Report
{
@@ -48,26 +48,34 @@ namespace BeWo.View.Detail.Report
private AppointmentStorage _AppointmentStorage;
private List<AbsenceReasonDC> _AbsenceReasonDCs;
private Dictionary<long, EmployeeDC> _EmployeeDict;
private AbsenceOverviewFilterDC _SelectedFilter;
public AbwesenheitstabelleView()
{
InitializeComponent();
InitFilter();
InitDateStuff();
InitSchedulerStuff();
InitializeFilter();
InitializeDateSelction();
InitializeScheduler();
linkPdfExport.NavigateUri = BeWoApp.SiteOfOrigin;
//_SchedulerControl.Start = new DateTime(2020, 02, 01);
_EmployeeDict = new Dictionary<long, EmployeeDC>();
}
public List<AbsenceReasonDC> SelectedAbsenceReasons => FilterAbwesenheit.SelectedItems.Cast<AbsenceReasonDC>().ToList();
public List<EmploymentTypeDC> SelectedEmploymentTypes => FilterBeschaftigungsart.SelectedItems.Cast<EmploymentTypeDC>().ToList();
private void Button_Click(object sender, RoutedEventArgs e) => UpdateScheduler();
private void Button_Click(object sender, RoutedEventArgs e)
{
UpdateFilter();
UpdateScheduler();
}
private void SchedularControl_EditAppointmentFormShowing(object sender, EditAppointmentFormEventArgs e)
{
@@ -75,7 +83,7 @@ namespace BeWo.View.Detail.Report
e.AllowResize = false;
e.Form = new AbwesenheitsEditView(_SchedulerControl, apt, (AbsenceTimeDC)apt.CustomFields["AbsenceTime"], _AbsenceReasonDCs);
e.Form = new AbwesenheitsEditView(this, apt, _AbsenceReasonDCs);
}
private void SchedularControl_EditRecurrentAppointmentFormShowing(object sender, EditAppointmentFormEventArgs e)
@@ -83,9 +91,9 @@ namespace BeWo.View.Detail.Report
e.Cancel = true;
}
private void SchedulerControl_AppointmentViewInfoCustomizing(object sender, DevExpress.Xpf.Scheduler.AppointmentViewInfoCustomizingEventArgs e)
private void SchedulerControl_AppointmentViewInfoCustomizing(object sender, AppointmentViewInfoCustomizingEventArgs e)
{
}
private void SpinEdit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
@@ -93,20 +101,10 @@ namespace BeWo.View.Detail.Report
if (e.NewValue == null || !int.TryParse(e.NewValue.ToString(), out var count))
return;
if (count > 0)
if (count > 0 && count <= DateTime.DaysInMonth(_SelectedFilter.Year, _SelectedFilter.Month))
_SchedulerControl.TimelineView.IntervalCount = count;
}
private void DateEdit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
{
var dp = _DateTimePicker.DateTime;
_DateTimePicker.DateTime = dp.AddDays(1 - dp.Day);
_SpinEdit.Value = DateTime.DaysInMonth(dp.Year, dp.Month);
_SchedulerControl.Start = _DateTimePicker.DateTime;
}
private void LinkPdfExport_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var control = new AbwesenheitsPrintControl(_SchedulerControl.Start);
@@ -133,7 +131,12 @@ namespace BeWo.View.Detail.Report
beWoWindow.ShowDialog();
}
private void InitFilter()
private void SchedulerControl_PopupMenuShowing(object sender, SchedulerMenuEventArgs e)
{
e.Handled = true;
}
private void InitializeFilter()
{
var absenceReasons = ServiceFacade.DoOperationsServiceSync(x => x.GetAllAbsenceReason());
var employmentTypes = ServiceFacade.DoEmployeeServiceSync(x => x.GetAllEmploymentTypes());
@@ -143,50 +146,101 @@ namespace BeWo.View.Detail.Report
_AbsenceReasonDCs = absenceReasons;
}
private void InitDateStuff()
private void InitializeDateSelction()
{
var today = DateTime.Today;
_DateTimePicker.DateTime = today.AddDays(1 - today.Day);
_SpinEdit.Text = DateTime.DaysInMonth(today.Year, today.Month).ToString();
var year = new List<int>();
for (int i = 1900; i < DateTime.Today.Year + 100; i++)
{
year.Add(i);
}
_YearPicker.ItemsSource = year;
_MonthPicker.SelectedMonth = DateTime.Today.Month;
_YearPicker.SelectedItem = DateTime.Today.Year;
}
private void InitSchedulerStuff()
private void InitializeScheduler()
{
_SchedulerStorage = _SchedulerControl.Storage;
_LabelStorage = _SchedulerControl.Storage.AppointmentStorage.Labels;
_ResourceStorage = _SchedulerControl.Storage.ResourceStorage;
_AppointmentStorage = _SchedulerControl.Storage.AppointmentStorage;
_AppointmentStorage.CustomFieldMappings.Add(new SchedulerCustomFieldMapping("AbsenceTime", "AbsenceTime"));
_SchedulerControl.TimelineView.VerticalResourceHeaderStyle = (Style)this.FindResource("VerticalResourceHeaderStyle");
IMouseHandlerService oldMouseHandler = (IMouseHandlerService)_SchedulerControl.GetService(typeof(IMouseHandlerService));
if (oldMouseHandler != null)
try
{
MouseHandlerService newMouseHandler =
new MouseHandlerService(_SchedulerControl, oldMouseHandler);
_SchedulerControl.RemoveService(typeof(IMouseHandlerService));
_SchedulerControl.AddService(typeof(IMouseHandlerService), newMouseHandler);
_SchedulerControl.BeginInit();
_SchedulerStorage = _SchedulerControl.Storage;
_LabelStorage = _SchedulerControl.Storage.AppointmentStorage.Labels;
_ResourceStorage = _SchedulerControl.Storage.ResourceStorage;
_AppointmentStorage = _SchedulerControl.Storage.AppointmentStorage;
_AppointmentStorage.CustomFieldMappings.Add(new SchedulerCustomFieldMapping(nameof(AbsenceTimeDC), nameof(AbsenceTimeDC)));
_ResourceStorage.CustomFieldMappings.Add(new SchedulerCustomFieldMapping(nameof(EmployeeDC), nameof(EmployeeDC)));
_SchedulerControl.TimelineView.VerticalResourceHeaderStyle = (Style)FindResource("VerticalResourceHeaderStyle");
IMouseHandlerService oldMouseHandler = (IMouseHandlerService)_SchedulerControl.GetService(typeof(IMouseHandlerService));
if (oldMouseHandler != null)
{
MouseHandlerService newMouseHandler =
new MouseHandlerService(_SchedulerControl, oldMouseHandler);
_SchedulerControl.RemoveService(typeof(IMouseHandlerService));
_SchedulerControl.AddService(typeof(IMouseHandlerService), newMouseHandler);
}
_SchedulerControl.TimelineView.VerticalResourceHeaderStyle = (Style)FindResource("VerticalResourceHeaderStyle");
}
finally
{
_SchedulerControl.EndInit();
}
}
public void UpdateUrlaubkonto(long empOid)
{
_EmployeeDict[empOid].Urlaubskonto = ServiceFacade.DoOperationsServiceSync(x => x.GetUrlaubskontoByEmployee(empOid, 2020));
var xx = _ResourceStorage.GetResourceById(empOid.ToString());
xx.CustomFields[nameof(EmployeeDC)] = null;
xx.CustomFields[nameof(EmployeeDC)] = _EmployeeDict[empOid];
}
private void UpdateFilter()
{
_SelectedFilter = new AbsenceOverviewFilterDC
{
Year = (int)_YearPicker.SelectedItem,
Month = _MonthPicker.SelectedMonth
};
if (SelectedAbsenceReasons.Any())
_SelectedFilter.AbsenceReasons = SelectedAbsenceReasons.Select(x => x.AbsenceReasonOid.Value).ToList();
if (SelectedEmploymentTypes.Any())
_SelectedFilter.EmploymentType = SelectedEmploymentTypes.Select(x => x.EmploymentTypeOid.Value).ToList();
}
private void UpdateScheduler()
{
var absenceReasons = ServiceFacade.DoOperationsServiceSync(x => x.GetAllAbsenceReason());
var tuple = ServiceFacade.DoOperationsServiceSync(x => x.GetAbsenceTimeDCEmployee21(SelectedAbsenceReasons, SelectedEmploymentTypes));
var absenceTimes = tuple.Item1;
var employees = tuple.Item2;
var absenceOverview = ServiceFacade.DoOperationsServiceSync(x => x.GetAbsenceOverview(_SelectedFilter));
var start = new DateTime(_SelectedFilter.Year, _SelectedFilter.Month, 1);
try
{
_SchedulerStorage.BeginUpdate();
_SchedulerControl.LimitInterval = new TimeInterval(start, start.AddMonths(1).AddTicks(-1));
_SchedulerControl.Start = start;
_SpinEdit.MinValue = 1;
_SpinEdit.MaxValue = DateTime.DaysInMonth(_SelectedFilter.Year, _SelectedFilter.Month);
_SpinEdit.Value = _SpinEdit.MaxValue.Value;
_LabelStorage.Clear();
foreach (var reason in absenceReasons)
{
var label = _LabelStorage.CreateNewLabel(reason.AbsenceReasonOid.ToString(), reason.Description);
if (!String.IsNullOrEmpty(reason.Color))
if (!string.IsNullOrEmpty(reason.Color))
{
label.Color = (Color)ColorConverter.ConvertFromString(reason.Color);
}
@@ -194,24 +248,27 @@ namespace BeWo.View.Detail.Report
_LabelStorage.Add(label);
}
_EmployeeDict.Clear();
_ResourceStorage.Clear();
foreach (var employee in employees)
_AppointmentStorage.Clear();
foreach (var employee in absenceOverview)
{
var resource = _SchedulerStorage.CreateResource(employee.EmployeeOid.Value.ToString());
resource.Caption = employee.LastNameFirstName;
resource.CustomFields[nameof(EmployeeDC)] = employee;
_EmployeeDict.Add(employee.EmployeeOid.Value, employee);
_ResourceStorage.Add(resource);
}
_AppointmentStorage.Clear();
foreach (var absenceTime in absenceTimes)
{
var appointment = _SchedulerStorage.CreateAppointment(AppointmentType.Normal);
foreach (var absence in employee.AbsenceTimes)
{
var appointment = _SchedulerStorage.CreateAppointment(AppointmentType.Normal);
SchedulerHelper.OverrideAWithB(appointment, absenceTime);
SchedulerHelper.OverrideAppointmentWithAbsenceTime(appointment, absence);
_AppointmentStorage.Add(appointment);
_AppointmentStorage.Add(appointment);
}
}
}
finally
@@ -236,11 +293,6 @@ namespace BeWo.View.Detail.Report
linkPdfExport.NavigateUri = new Uri(url);
}
private void _SchedulerControl_PopupMenuShowing(object sender, SchedulerMenuEventArgs e)
{
e.Handled = false;
}
}
public class MouseHandlerService : MouseHandlerServiceWrapper
@@ -262,7 +314,7 @@ namespace BeWo.View.Detail.Report
public static class SchedulerHelper
{
public static void OverrideAWithB(Appointment appointment, AbsenceTimeDC absenceTime)
public static void OverrideAppointmentWithAbsenceTime(Appointment appointment, AbsenceTimeDC absenceTime)
{
appointment.AllDay = true;
appointment.Subject = absenceTime.Reason.Description;
@@ -271,8 +323,8 @@ namespace BeWo.View.Detail.Report
appointment.ResourceId = absenceTime.EmployeeOid.Value.ToString();
appointment.LabelKey = absenceTime.Reason.AbsenceReasonOid.ToString();
appointment.Description = absenceTime.Notice;
appointment.CustomFields["AbsenceTime"] = null;
appointment.CustomFields["AbsenceTime"] = absenceTime;
appointment.CustomFields[nameof(AbsenceTimeDC)] = null;
appointment.CustomFields[nameof(AbsenceTimeDC)] = absenceTime;
}
}
}

View File

@@ -197,7 +197,7 @@ namespace BeWo.View.Detail.Report
private void InitDateComboBox()
{
var year = new List<int>();
for (int i = 1900; i < 2100; i++)
for (int i = 1900; i < DateTime.Today.Year + 100; i++)
{
year.Add(i);
}

View File

@@ -23,7 +23,7 @@
<dxg:GridColumn FieldName="CustomerString" Header="Klient" Width="125" AllowEditing="False" />
<dxg:GridColumn FieldName="SupportConceptString" Header="Hilfeplan" Width="130" AllowEditing="False" />
<dxg:GridColumn FieldName="Organisation" Header="Kostenträger" Width="125" AllowEditing="False" />
<dxg:GridColumn x:Name="ColumnDauer" FieldName="IstStunden" Header="Dauer" Width="100" AllowEditing="False">
<dxg:GridColumn x:Name="ColumnDauer" FieldName="IstArbeitszeitStunden" Header="Dauer" Width="100" AllowEditing="False">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings/>
</dxg:GridColumn.EditSettings>

View File

@@ -10,6 +10,7 @@
xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
x:Class="BeWo.View.Detail.Report.FlexibleReportView"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
@@ -51,11 +52,11 @@
<Label Content="Enddatum:" Grid.Column="2" VerticalAlignment="Center" />
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.Column="3" x:Name="datePickerEndDate" HorizontalAlignment="Left" Width="120" Margin="3,0,0,0" />
<Button Content="Aktualisieren" Grid.Column="5" Margin="5,0,0,0" Click="buttonRefresh_Click" />
<Button Content="Feldauswahl anzeigen" Grid.Column="9" Margin="5,0,0,0" x:Name="ButtonShowOptions" Click="ButtonShowOptions_Click" />
<Button Content="Ansicht speichern" Grid.Column="10" Margin="5,0,0,0" x:Name="ButtonLayoutSave" Click="ButtonLayoutSave_Click" />
<Button Content="Ansicht bearbeiten" Grid.Column="11" Margin="5,0,0,0" x:Name="ButtonLayoutEdit" Click="ButtonLayoutEdit_Click" />
<Button Content="Ansicht laden" Grid.Column="12" Margin="5,0,0,0" x:Name="ButtonLayoutLoad" Click="ButtonLayoutLoad_Click" />
<Button Content="Ansicht drucken" Grid.Column="13" Margin="5,0,0,0" x:Name="ButtonLayoutPrint" Click="ButtonLayoutPrint_Click" />
<Button Content="{markup:Translate Feldauswahl anzeigen}" Grid.Column="9" Margin="5,0,0,0" x:Name="ButtonShowOptions" Click="ButtonShowOptions_Click" />
<Button Content="{markup:Translate Bericht speichern}" Grid.Column="10" Margin="5,0,0,0" x:Name="ButtonLayoutSave" Click="ButtonLayoutSave_Click" />
<Button Content="{markup:Translate Bericht bearbeiten}" Grid.Column="11" Margin="5,0,0,0" x:Name="ButtonLayoutEdit" Click="ButtonLayoutEdit_Click" />
<Button Content="{markup:Translate Bericht laden}" Grid.Column="12" Margin="5,0,0,0" x:Name="ButtonLayoutLoad" Click="ButtonLayoutLoad_Click" />
<Button Content="{markup:Translate Bericht drucken}" Grid.Column="13" Margin="5,0,0,0" x:Name="ButtonLayoutPrint" Click="ButtonLayoutPrint_Click" />
</Grid>
<!-- ############################################### Mittlere Zeile ###############################################-->
<Grid Grid.Row="1">
@@ -78,8 +79,8 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--<CheckBox Content="Reduzierte Ansicht" Margin="5,5,0,0" Grid.Column="4" x:Name="checkReduzierteAnsicht"/>-->
<CheckBox Content="Differenz Balken einblenden" Grid.Column="7" Margin="5,5,0,0" x:Name="checkBoxDataPer" Checked="CheckDataBarPerChanged" Unchecked="CheckDataBarPerChanged"/>
<CheckBox Content="Prozentuale Abweichung Balken einblenden" Grid.Column="8" Margin="5,5,0,0" x:Name="checkBoxData" Checked="CheckDataBarChanged" Unchecked="CheckDataBarChanged"/>
<CheckBox Content="Differenz Balken einblenden" Grid.Column="7" Margin="5,5,0,0" x:Name="checkBoxDataPer" Checked="CheckDataBarPerChanged" Unchecked="CheckDataBarPerChanged" Visibility="Collapsed"/>
<CheckBox Content="Prozentuale Abweichung Balken einblenden" Grid.Column="8" Margin="5,5,0,0" x:Name="checkBoxData" Checked="CheckDataBarChanged" Unchecked="CheckDataBarChanged" Visibility="Collapsed"/>
<CheckBox Content="Diagramm einblenden" Grid.Column="9" Margin="5,5,0,0" x:Name="checkBoxChart" Checked="CheckChartChanged" Unchecked="CheckChartChanged"/>
</Grid>
<!-- ############################################### Untere Zeile ###############################################-->
@@ -137,17 +138,24 @@
<dxpg:PivotGridField x:Name="FlexibleLeistungskategorie" FieldName="Leistungskategorie" Area="FilterArea" Width="200" Caption="Leistungskategorie" AllowedAreas="All" DisplayFolder="Zeilen" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleLeistung" FieldName="Leistung" Area="FilterArea" Width="200" Caption="Leistung" AllowedAreas="All" DisplayFolder="Zeilen" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleOrganisation" FieldName="Organisation" Area="FilterArea" Width="200" Caption="Kostenträger" AllowedAreas="All" DisplayFolder="Zeilen" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleAnzahlMinIst" FieldName="IstMinuten" Area="FilterArea" Width="60" Caption="Ist Min." AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleAnzahlStdIst" FieldName="IstStunden" Area="DataArea" Width="80" Caption="Ist Std." AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleAnzahlMinSoll" FieldName="SollMinuten" Area="FilterArea" Width="60" Caption="Soll Min." AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleAnzahlStdSoll" FieldName="SollStunden" Area="DataArea" Width="80" Caption="Soll Std." AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleArbeitszeitMinIst" FieldName="IstArbeitszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Arbeitszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleArbeitszeitStdIst" FieldName="IstArbeitszeitStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Arbeitszeit Std.}" AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleArbeitszeitMinSoll" FieldName="SollArbeitszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Soll Arbeitszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleArbeitszeitStdSoll" FieldName="SollArbeitszeitStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Soll Arbeitszeit Std.}" AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitMinIst" FieldName="IstBetreuungszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Betreuungszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitStdIst" FieldName="IstBetreuungszeitStunden" Area="DataArea" Width="80" Caption="{markup:Translate Betreuungszeit Std.}" AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitMinSoll" FieldName="SollBetreuungszeitMinuten" Area="FilterArea" Width="60" Caption="{markup:Translate Soll Betreuungszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleBetreuungszeitStdSoll" FieldName="SollBetreuungszeitStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Soll Betreuungszeit Std.}" AllowedAreas="All" DisplayFolder="Data" />
<dxpg:PivotGridField x:Name="FlexibleGefahreneKilometer" FieldName="Kilometer" Area="FilterArea" Width="200" Caption="Gefahrene Kilometer" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleBetrag" FieldName="Betrag" Area="FilterArea" Width="80" Caption="Betrag" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleStundensatz" FieldName="Stundensatz" Area="FilterArea" Width="80" Caption="Stundensatz" AllowedAreas="All" DisplayFolder="Data" Visible="True" />
<dxpg:PivotGridField x:Name="FlexibleRundungspotenzial" FieldName="Rundungspotenzial" Area="FilterArea" Width="80" Caption="Rundungspotenzial" AllowedAreas="All" DisplayFolder="Data" Visible="False" />
<dxpg:PivotGridField x:Name="FlexibleDifferenzIstSollMin" FieldName="DifferenzIstSollMinuten" Area="FilterArea" Width="80" Caption="Differenz Min." AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="FlexibleDifferenzIstSollStd" FieldName="DifferenzIstSollStunden" Area="DataArea" Width="80" Caption="Differenz Std." AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="UFlexibleProzentualeAbweichung" UnboundFieldName="ProzAbweichung" Area="DataArea" Width="80" Caption="Prozentual Abweichung" AllowedAreas="All" DisplayFolder="Data"/>
<dxpg:PivotGridField x:Name="FlexibleDifferenzArbeitszeitIstSollMin" FieldName="DifferenzArbeitszeitIstSollMinuten" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Arbeitszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="FlexibleDifferenzArbeitszeitIstSollStd" FieldName="DifferenzArbeitszeitIstSollStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Arbeitszeit Std.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="FlexibleDifferenzBetreuungszeitIstSollMin" FieldName="DifferenzBetreuungszeitIstSollMinuten" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Betreuungszeit Min.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="FlexibleDifferenzBetreuungszeitIstSollStd" FieldName="DifferenzBetreuungszeitIstSollStunden" Area="FilterArea" Width="80" Caption="{markup:Translate Differenz Betreuungszeit Std.}" AllowedAreas="All" DisplayFolder="Data" Visible="True" HideEmptyVariationItems="True" />
<dxpg:PivotGridField x:Name="UFlexibleProzentualeAbweichungArbeitszeit" UnboundFieldName="ProzAbweichungArbeitszeit" Area="FilterArea" Width="80" Caption="{markup:Translate Prozentual Abweichung Arbeitszeit}" AllowedAreas="All" DisplayFolder="Data"/>
<dxpg:PivotGridField x:Name="UFlexibleProzentualeAbweichungBetreuungszeit" UnboundFieldName="ProzAbweichungBetreuungszeit" Area="FilterArea" Width="80" Caption="{markup:Translate Prozentual Abweichung Betreuungszeit}" AllowedAreas="All" DisplayFolder="Data"/>
</dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>
</dxlc:LayoutGroup>

View File

@@ -42,8 +42,10 @@ namespace BeWo.View.Detail.Report
#region Fields
private readonly List<string> _Columns = new List<string>() { nameof(FlexibleJahr), nameof(FlexibleMonat), nameof(FlexibleWeek), nameof(FlexibleTag) };
private readonly List<string> _Rows = new List<string>() { nameof(FlexibleKlient), nameof(FlexibleMitarbeiter) };
private readonly List<string> _DataDiff = new List<string>() { nameof(FlexibleDifferenzIstSollMin), nameof(FlexibleDifferenzIstSollStd) };
private readonly List<string> _DataPer = new List<string>() { nameof(UFlexibleProzentualeAbweichung) };
private readonly List<string> _DataArbeitszeitDiff = new List<string>() { nameof(FlexibleDifferenzArbeitszeitIstSollMin), nameof(FlexibleDifferenzArbeitszeitIstSollStd) };
private readonly List<string> _DataArbeitszeitPer = new List<string>() { nameof(UFlexibleProzentualeAbweichungArbeitszeit) };
private readonly List<string> _DataBetreuungszeitDiff = new List<string>() { nameof(FlexibleDifferenzArbeitszeitIstSollMin), nameof(FlexibleDifferenzArbeitszeitIstSollStd) };
private readonly List<string> _DataBetreuungszeitPer = new List<string>() { nameof(UFlexibleProzentualeAbweichungArbeitszeit) };
#endregion
#region Constructor
@@ -51,14 +53,23 @@ namespace BeWo.View.Detail.Report
{
InitializeComponent();
FlexibleAnzahlMinIst.CellFormat = "{0:N0}";
FlexibleAnzahlStdIst.CellFormat = "{0:N2}";
FlexibleArbeitszeitMinIst.CellFormat = "{0:N0}";
FlexibleArbeitszeitStdIst.CellFormat = "{0:N2}";
FlexibleAnzahlMinSoll.CellFormat = "{0:N0}";
FlexibleAnzahlStdSoll.CellFormat = "{0:N2}";
FlexibleArbeitszeitMinSoll.CellFormat = "{0:N0}";
FlexibleArbeitszeitStdSoll.CellFormat = "{0:N2}";
FlexibleDifferenzIstSollMin.CellFormat = "{0:N0}";
FlexibleDifferenzIstSollStd.CellFormat = "{0:N2}";
FlexibleBetreuungszeitMinIst.CellFormat = "{0:N0}";
FlexibleBetreuungszeitStdIst.CellFormat = "{0:N2}";
FlexibleBetreuungszeitMinSoll.CellFormat = "{0:N0}";
FlexibleBetreuungszeitStdSoll.CellFormat = "{0:N2}";
FlexibleDifferenzArbeitszeitIstSollMin.CellFormat = "{0:N0}";
FlexibleDifferenzArbeitszeitIstSollStd.CellFormat = "{0:N2}";
FlexibleDifferenzBetreuungszeitIstSollMin.CellFormat = "{0:N0}";
FlexibleDifferenzBetreuungszeitIstSollStd.CellFormat = "{0:N2}";
FlexibleGefahreneKilometer.CellFormat = "{0:N0}";
FlexibleRundungspotenzial.CellFormat = "{0:N0}";
@@ -70,11 +81,17 @@ namespace BeWo.View.Detail.Report
FlexibleLeistungskategorie.TotalValueFormat = "{0}";
FlexibleQuarter.ValueFormat = "{0}. Quartal";
UFlexibleProzentualeAbweichung.UnboundExpressionMode = FieldUnboundExpressionMode.UseAggregateFunctions;
UFlexibleProzentualeAbweichung.UnboundType = FieldUnboundColumnType.Decimal;
UFlexibleProzentualeAbweichung.CellFormat = "{0:P2}";
UFlexibleProzentualeAbweichung.UnboundExpression = $"SUM([{FlexibleAnzahlStdIst.ExpressionFieldName}]) / SUM([{FlexibleAnzahlStdSoll.ExpressionFieldName}])";
UFlexibleProzentualeAbweichung.SummaryType = FieldSummaryType.Average;
UFlexibleProzentualeAbweichungArbeitszeit.UnboundExpressionMode = FieldUnboundExpressionMode.UseAggregateFunctions;
UFlexibleProzentualeAbweichungArbeitszeit.UnboundType = FieldUnboundColumnType.Decimal;
UFlexibleProzentualeAbweichungArbeitszeit.CellFormat = "{0:P2}";
UFlexibleProzentualeAbweichungArbeitszeit.UnboundExpression = $"SUM([{FlexibleArbeitszeitStdIst.ExpressionFieldName}]) / SUM([{FlexibleArbeitszeitStdSoll.ExpressionFieldName}])";
UFlexibleProzentualeAbweichungArbeitszeit.SummaryType = FieldSummaryType.Average;
UFlexibleProzentualeAbweichungBetreuungszeit.UnboundExpressionMode = FieldUnboundExpressionMode.UseAggregateFunctions;
UFlexibleProzentualeAbweichungBetreuungszeit.UnboundType = FieldUnboundColumnType.Decimal;
UFlexibleProzentualeAbweichungBetreuungszeit.CellFormat = "{0:P2}";
UFlexibleProzentualeAbweichungBetreuungszeit.UnboundExpression = $"SUM([{FlexibleBetreuungszeitStdIst.ExpressionFieldName}]) / SUM([{FlexibleBetreuungszeitStdSoll.ExpressionFieldName}])";
UFlexibleProzentualeAbweichungBetreuungszeit.SummaryType = FieldSummaryType.Average;
FlexibleStundensatz.SummaryType = FieldSummaryType.Average;
@@ -159,11 +176,11 @@ namespace BeWo.View.Detail.Report
private void GridControl_CustomCellDisplayText(object sender, PivotCellDisplayTextEventArgs e)
{
if (e.DataField.Name == nameof(FlexibleAnzahlStdSoll))
if (e.DataField.Name == nameof(FlexibleArbeitszeitStdSoll))
{
if (e.RowField != null && (e.RowField.Name == nameof(FlexibleLeistungskategorie) || e.RowField.Name == nameof(FlexibleLeistung)))
{
e.DisplayText = "";
//e.DisplayText = "";
}
}
@@ -224,15 +241,18 @@ namespace BeWo.View.Detail.Report
if (!checkBoxData.IsChecked.HasValue) return;
if (myPivotGridControl.DataSource == null) return;
var conditions = CreateDataBarConditions(_Columns, _Rows, _DataDiff, "GreenSolidDataBar");
var conditions = CreateDataBarConditions(_Columns, _Rows, _DataArbeitszeitDiff, "GreenSolidDataBar");
var conditions2 = CreateDataBarConditions(_Columns, _Rows, _DataBetreuungszeitDiff, "GreenSolidDataBar");
if (checkBoxData.IsChecked.Value)
{
myPivotGridControl.FormatConditions.AddRange(conditions);
myPivotGridControl.FormatConditions.AddRange(conditions2);
}
else
{
myPivotGridControl.FormatConditions.RemoveRange(conditions);
myPivotGridControl.FormatConditions.RemoveRange(conditions2);
}
}
@@ -258,13 +278,13 @@ namespace BeWo.View.Detail.Report
if (string.IsNullOrWhiteSpace(control.LayoutName))
{
MessageBox.Show("Fehler beim Hinzufügen des Layouts. Der Name darf nicht leer sein.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Fehler beim Hinzufügen des Berichts. Der Name darf nicht leer sein.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
if (liste.Any(x => x.LayoutName == control.LayoutName))
{
MessageBox.Show("Fehler beim Hinzufügen des Layouts. Der Name existiert bereits.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Fehler beim Hinzufügen des Berichts. Der Name existiert bereits.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
@@ -275,7 +295,7 @@ namespace BeWo.View.Detail.Report
};
ServiceFacade.DoOperationsServiceAsync(s => s.InsertNewFlexibleReportLayout(layout));
MessageBox.Show("Layout erfolgreich hinzugefügt!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Bericht erfolgreich hinzugefügt!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
beWoWindow.Close();
};
@@ -284,7 +304,7 @@ namespace BeWo.View.Detail.Report
beWoWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
beWoWindow.GroupBoxContent = control;
beWoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
beWoWindow.rootGroupBox.Header = "Layout speichern";
beWoWindow.rootGroupBox.Header = "Bericht speichern";
beWoWindow.ShowDialog();
}
@@ -293,7 +313,7 @@ namespace BeWo.View.Detail.Report
var control = new FlexibleReportLayoutListControl();
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Layout Laden" },
rootGroupBox = { Header = "Bericht Laden" },
Height = 500,
Width = 500,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
@@ -310,7 +330,7 @@ namespace BeWo.View.Detail.Report
{
if (control.SelectedLayout == null)
{
MessageBox.Show("Sie haben keine Layouts angelegt/ausgewählt.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Sie haben keine Berichte angelegt/ausgewählt.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
LayoutString = control.SelectedLayout.LayoutString;
@@ -323,7 +343,7 @@ namespace BeWo.View.Detail.Report
{
if (control.SelectedLayout == null)
{
MessageBox.Show("Sie haben keine Layouts angelegt/ausgewählt.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Sie haben keine Berichte angelegt/ausgewählt.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
LayoutString = control.SelectedLayout.LayoutString;
@@ -338,7 +358,7 @@ namespace BeWo.View.Detail.Report
var control = new FlexibleReportLayoutListControl();
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Layout(s) bearbeiten" },
rootGroupBox = { Header = "Berichte bearbeiten" },
Height = 500,
Width = 500,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
@@ -404,15 +424,18 @@ namespace BeWo.View.Detail.Report
if (myPivotGridControl.DataSource == null) return;
if (!checkBoxDataPer.IsChecked.HasValue) return;
var conditions = CreateDataBarConditions(_Columns, _Rows, _DataPer, "BlueSolidDataBar", 0, 1);
var conditions = CreateDataBarConditions(_Columns, _Rows, _DataArbeitszeitPer, "BlueSolidDataBar", 0, 1);
var conditions2 = CreateDataBarConditions(_Columns, _Rows, _DataBetreuungszeitPer, "BlueSolidDataBar", 0, 1);
if (checkBoxDataPer.IsChecked.Value)
{
myPivotGridControl.FormatConditions.AddRange(conditions);
myPivotGridControl.FormatConditions.AddRange(conditions2);
}
else
{
myPivotGridControl.FormatConditions.RemoveRange(conditions);
myPivotGridControl.FormatConditions.RemoveRange(conditions2);
}
}
@@ -454,7 +477,7 @@ namespace BeWo.View.Detail.Report
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = new FlexibleReportEntryDetail(selectedEntries, DocTypes),
Owner = BeWoApp.CurrentBeWo.MainWindow,
rootGroupBox = { Header = "Eintrag Details" }
rootGroupBox = { Header = Translator.Translate("Zeiterfassung") }
};
beWoWindow.ShowDialog();
@@ -605,9 +628,13 @@ namespace BeWo.View.Detail.Report
public string Leistung { get; set; }
public decimal? IstMinuten { get; set; }
public decimal? IstArbeitszeitMinuten { get; set; }
public decimal? SollMinuten { get; set; }
public decimal? SollArbeitszeitMinuten { get; set; }
public decimal? IstBetreuungszeitMinuten { get; set; }
public decimal? SollBetreuungszeitMinuten { get; set; }
public DateTime StartDatum { get; set; }
@@ -635,13 +662,21 @@ namespace BeWo.View.Detail.Report
public string Notice5 { get; set; }
public decimal? IstStunden => IstMinuten / 60;
public decimal? IstArbeitszeitStunden => IstArbeitszeitMinuten / 60;
public decimal? SollStunden => SollMinuten / 60;
public decimal? SollArbeitszeitStunden => SollArbeitszeitMinuten / 60;
public decimal DifferenzIstSollMinuten => (IstMinuten ?? 0) - (SollMinuten ?? 0);
public decimal DifferenzArbeitszeitIstSollMinuten => (IstArbeitszeitMinuten ?? 0) - (SollArbeitszeitMinuten ?? 0);
public decimal DifferenzIstSollStunden => DifferenzIstSollMinuten / 60;
public decimal DifferenzArbeitszeitIstSollStunden => DifferenzArbeitszeitIstSollMinuten / 60;
public decimal? IstBetreuungszeitStunden => IstBetreuungszeitMinuten / 60;
public decimal? SollBetreuungszeitStunden => SollBetreuungszeitMinuten / 60;
public decimal DifferenzBetreuungszeitIstSollMinuten => (IstBetreuungszeitMinuten ?? 0) - (SollBetreuungszeitMinuten ?? 0);
public decimal DifferenzBetreuungszeitIstSollStunden => DifferenzBetreuungszeitIstSollMinuten / 60;
public static FlexibleReportEntry InitByFlexibleReportEntryDC(FlexibleReportEntryDC entryDC)
{
@@ -654,17 +689,19 @@ namespace BeWo.View.Detail.Report
EmployeeString = entryDC.EmployeeString ?? "<Nicht angegeben>",
SupportConceptOid = entryDC.SupportConceptOid,
SupportConceptString = entryDC.SupportConceptString ?? "<Nicht angegeben>",
IstMinuten = entryDC.IstMinuten,
IstArbeitszeitMinuten = entryDC.IstArbeitszeitMinuten,
IstBetreuungszeitMinuten = entryDC.IstBetreuungszeitMinuten,
StartDatum = entryDC.StartDatum,
EndDatum = entryDC.EndDatum,
Leistung = entryDC.Leistung,
Leistungskategorie = entryDC.Leistungskategorie,
Team = entryDC.Team,
SollMinuten = entryDC.SollMinuten,
SollArbeitszeitMinuten = entryDC.SollArbeitszeitMinuten,
SollBetreuungszeitMinuten = entryDC.SollBetreuungszeitMinuten,
Type = FlexibleReportEntryType.ServiceRecordEntry,
Kilometer = entryDC.Kilometer,
Organisation = entryDC.Organisation,
Rundungspotenzial = (entryDC.IstMinuten ?? 0) - ((decimal)entryDC.EndDatum.Subtract(entryDC.StartDatum).TotalMinutes),
Rundungspotenzial = (entryDC.IstBetreuungszeitMinuten ?? 0) - ((decimal)entryDC.EndDatum.Subtract(entryDC.StartDatum).TotalMinutes),
Betrag = entryDC.Betrag,
Stundensatz = entryDC.Stundensatz,
Notice = entryDC.Notice,
@@ -684,8 +721,10 @@ namespace BeWo.View.Detail.Report
{
flexibleReports.Add(new FlexibleReportEntry()
{
SollMinuten = dummyDC.Soll ?? 0,
IstMinuten = 0m,
SollArbeitszeitMinuten = dummyDC.SollArbeitszeit ?? 0,
IstArbeitszeitMinuten = 0m,
SollBetreuungszeitMinuten = dummyDC.SollBetreuungszeit ?? 0,
IstBetreuungszeitMinuten = 0m,
Betrag = 0,
CustomerOid = dummyDC.CustomerOid,
CustomerString = dummyDC.CustomerString,

View File

@@ -11,136 +11,191 @@
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<GroupBox Header="{markup:Translate Quittierungsbelege}" Style="{StaticResource ObjectEditGroupBox}">
<!--<TabControl>
<GroupBox Header="{markup:Translate Quittierungsbelege}" Style="{StaticResource ObjectEditGroupBox}">
<!--<TabControl>
<TabItem Header="Neu Erstellen" x:Name="TabItemNeuErstellen">-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="50"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<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="Auto" />
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="556*"/>
<ColumnDefinition Width="365*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0" Grid.ColumnSpan="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="50"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<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="Auto" />
</Grid.RowDefinitions>
<ComboBox Height="23" x:Name="FilterComboBox" Margin="3" VerticalAlignment="Top" MinWidth="180"/>
<ComboBox Height="23" x:Name="FilterComboBox" Margin="3" VerticalAlignment="Top" MinWidth="180"/>
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
x:Name="popupedit_customer" DeleteButtonVisibility="Collapsed"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_customer_PopUpClick" Cursor="Arrow" PreviewMouseDoubleClick="Popupedit_customer_OnPreviewMouseDoubleClick" Visibility="Collapsed"/>
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
x:Name="popupedit_team" DeleteButtonVisibility="Collapsed"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_team_PopUpClick" Cursor="Arrow" Visibility="Collapsed"/>
<Label Margin="0 2" Content="Monat" Grid.Row="0" Grid.Column="3" />
<ComboBox Height="23" x:Name="combobox_month" Grid.Row="0" Grid.Column="4" Margin="3" VerticalAlignment="Top" Width="90" />
<Label Margin="0 2" Content="Monat" Grid.Row="0" Grid.Column="3" />
<ComboBox Height="23" x:Name="combobox_month" Grid.Row="0" Grid.Column="4" Margin="3" VerticalAlignment="Top" Width="90" />
<Label Margin="0 2" Content="Vom" Grid.Row="0" Grid.Column="5" />
<ComboBox Height="23" x:Name="combobox_Startday" Grid.Row="0" Grid.Column="6" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<Label Margin="0 2" Content="Vom" Grid.Row="0" Grid.Column="5" />
<ComboBox Height="23" x:Name="combobox_Startday" Grid.Row="0" Grid.Column="6" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". bis" Grid.Row="0" Grid.Column="7" Foreground="Black" />
<ComboBox Height="23" x:Name="combobox_Endday" Grid.Row="0" Grid.Column="8" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". bis" Grid.Row="0" Grid.Column="7" Foreground="Black" />
<ComboBox Height="23" x:Name="combobox_Endday" Grid.Row="0" Grid.Column="8" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". Jahr" Grid.Row="0" Grid.Column="9" Foreground="Black"/>
<ComboBox Height="23" x:Name="combobox_year" Grid.Row="0" Grid.Column="10" VerticalAlignment="Top" Margin="3" Width="60" />
<TextBlock Margin="0 7,3,0" Text=". Jahr" Grid.Row="0" Grid.Column="9" Foreground="Black"/>
<ComboBox Height="23" x:Name="combobox_year" Grid.Row="0" Grid.Column="10" VerticalAlignment="Top" Margin="3" Width="60" />
<Button Name="button_generate" Grid.Row="0" Grid.Column="11" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />
<!--<Button Name="button_generate" Grid.Row="0" Grid.Column="11" VerticalAlignment="Top" Height="23" Margin="3">
<TextBlock>
<Hyperlink x:Name="generateAndOpenPrintPreview" TextDecorations="None" TargetName="_NewWindow" Click="button_generate_Click" Foreground="White">
<Run Text="Erstellen"/>
</Hyperlink>
</TextBlock>
</Button>-->
<StackPanel Grid.Row="1" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllCostbearer" Content="{markup:Translate Nur für ausgewählten Kostenträger erstellen}" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_costbearer_OnPreviewMouseDoubleClick"
<StackPanel Grid.Row="1" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllCostbearer" Content="{markup:Translate Nur für ausgewählten Kostenträger erstellen}" IsChecked="False" Unchecked="chkForAllCostbearer_Unchecked" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_costbearer_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_costbearer"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllCostbearer, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_costbearer_PopUpClick" Cursor="Arrow" />
</StackPanel>
<StackPanel Grid.Row="2" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllEmployees" Content="Nur für ausgewählten Mitarbeiter erstellen" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_employee_OnPreviewMouseDoubleClick"
</StackPanel>
<StackPanel Grid.Row="2" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllEmployees" Content="Nur für ausgewählten Mitarbeiter erstellen" IsChecked="False" Unchecked="chkForAllEmployees_Unchecked" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_employee_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_employee"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllEmployees, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_employee_PopUpClick" Cursor="Arrow" />
</StackPanel>
</StackPanel>
<StackPanel Grid.Row="3" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="ChkForAllServiceCategories" Content="Nur für ausgewählte Leistungskategorie erstellen" IsChecked="False" />
<uc:NullItemComboBox Width="250" Margin="3" VerticalAlignment="Top" x:Name="ServiceCategoriesComboBox" SelectedIndex="0"
<StackPanel Grid.Row="3" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="ChkForAllServiceCategories" Content="Nur für ausgewählte Leistungskategorie erstellen" IsChecked="False" Unchecked="ChkForAllServiceCategories_Unchecked" />
<uc:NullItemComboBox Width="250" Margin="3" VerticalAlignment="Top" x:Name="ServiceCategoriesComboBox" SelectedIndex="0"
Visibility="{Binding Path=IsChecked, ElementName=ChkForAllServiceCategories, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"/>
</StackPanel>
</StackPanel>
<Popup Margin="10" Name="popup_customer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
<Popup Margin="10" Name="popup_customer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:CustomerSearchView ItemSelected="CustomerSearchView_CustomerSelected" x:Name="customersearchview" />
</Popup>
<Popup Margin="10" Name="popup_team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
<localSearchView:CustomerSearchView ItemSelected="CustomerSearchView_CustomerSelected" x:Name="customersearchview" />
</Popup>
<Popup Margin="10" Name="popup_team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:TeamSearchView ItemSelected="TeamSearchView_CustomerSelected" x:Name="teamsearchview" />
</Popup>
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
<localSearchView:TeamSearchView ItemSelected="TeamSearchView_CustomerSelected" x:Name="teamsearchview" />
</Popup>
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:OrganisationSearchView SearchMode="CostBearer" ItemSelected="OrganisationSearchView_OrganisationSelected" x:Name="organisationsearchview" />
</Popup>
<localSearchView:OrganisationSearchView SearchMode="CostBearer" ItemSelected="OrganisationSearchView_OrganisationSelected" x:Name="organisationsearchview" />
</Popup>
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
</Popup>
</Grid>
</ScrollViewer>
<dxp:DocumentPreviewControl x:Name="docPrevControl" Grid.Row="1" 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>
</Grid>
<!--</TabItem>
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
</Popup>
</Grid>
</ScrollViewer>
<dxg:GridControl x:Name="datagrid_quittierungsbelege_status" Margin="0,10,0,0" Grid.Row="1" Grid.ColumnSpan="2" >
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="column_isPrintable" FieldName="IsPrintable" Header="Erstellen" FixedWidth="True" Width="65" ReadOnly="True" SortOrder="Descending" SortIndex="0">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button x:Name="button_print" Width="18" Height="18" Click="button_print_Click" FontFamily="Wingdings" Content="2"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="column_customerOid" FieldName="Klientenname" Header="Klientenname" Width="120" AllowEditing="False"/>
<dxg:GridColumn x:Name="column_generated" FieldName="Erstellt" Header="Erstellt" Width="50" AllowEditing="True" CellToolTipBinding="{Binding}">
<dxg:GridColumn.CellToolTipTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Erstellt von: "/>
<TextBlock FontWeight="Bold" Text="{Binding ErstelltVon}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Erstellt am: "/>
<TextBlock FontWeight="Bold" Text="{Binding ErstelltAm}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</dxg:GridColumn.CellToolTipTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="column_generated_from" FieldName="ErstelltVon" Header="Erstellt von" Width="90" AllowEditing="False" Visible="False"/>
<dxg:GridColumn x:Name="column_generated_on" FieldName="ErstelltAm" Header="Erstellungsdatum" Width="80" AllowEditing="False" Visible="False"/>
<dxg:GridColumn x:Name="column_organisation" AllowEditing="False" FieldName="OrganisationOid" Header="Kostenträger" Width="100"/>
<dxg:GridColumn x:Name="column_employee" AllowEditing="False" FieldName="EmployeeOid" Header="Mitarbeiter" Width="100"/>
<dxg:GridColumn x:Name="column_service_category" AllowEditing="False" FieldName="ServiceCategoryOid" Header="Servicekategorie" Width="100"/>
<dxg:GridColumn x:Name="column_generated_for_period" AllowEditing="False" FieldName="Zeitraum" Header="Erstellt für Zeitraum" Width="75"/>
<dxg:GridColumn x:Name="column_signed" FieldName="Unterschrieben" Header="Unterschrieben" Width="50" AllowEditing="True" CellToolTipBinding="{Binding}">
<dxg:GridColumn.CellToolTipTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Als unterschrieben markiert von: "/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontWeight="Bold" Text="{Binding UnterschriebenVon}"/>
</StackPanel>
<StackPanel>
<TextBlock Text="Als unterschrieben markiert am: "/>
<TextBlock FontWeight="Bold" Text="{Binding UnterschriebenAm}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</dxg:GridColumn.CellToolTipTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="column_signed_from" FieldName="UnterschriebenVon" Header="Unterschrieben von" Width="100" AllowEditing="False" Visible="False"/>
<dxg:GridColumn x:Name="column_signed_on" FieldName="UnterschriebenAm" Header="Unterschrieben am" Width="90" AllowEditing="False" Visible="False"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="True" ShowAutoFilterRow="True" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell" HiddenEditor="TableView_HiddenEditor"/>
</dxg:GridControl.View>
</dxg:GridControl>
<WrapPanel Grid.Column="0" Grid.Row="2" Margin="0 10">
<Button x:Name="button_alle_erstellt" Width="Auto" Margin="0 0 10 0" FontWeight="Bold" Click="Button_alle_erstellt_Click" Content="Alle erstellen"/>
<Button x:Name="button_fehlende_erstellen" Width="Auto" Margin="0 0 5 0" FontWeight="Bold" Content="Fehlende erstellen" Click="Button_fehlende_erstellen_Click"/>
<Button x:Name="button_alle_erstellt_rueckgaengig" Width="Auto" Margin="5" Content="Alle zurücksetzen" FontWeight="Bold" Click="Button_alle_erstellt_rueckgaengig_Click"/>
</WrapPanel>
<WrapPanel HorizontalAlignment="Right" Grid.Column="1" Grid.Row="2" Margin="0 10">
<Button x:Name="button_alle_unterschrieben" Width="Auto" Margin="5" Content="Alle Unterschrieben" FontWeight="Bold" Click="Button_alle_unterschrieben_Click"/>
<Button x:Name="button_alle_unterschrieben_rueckgaengig" Width="Auto" Margin="10 0 0 0" Content="Alle Unterschriften widerrufen" FontWeight="Bold" Click="Button_alle_unterschrieben_rueckgaengig_Click"/>
</WrapPanel>
<!--<Button Name="button_generate" Grid.Row="0" Grid.Column="11" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />-->
</Grid>
<!--</TabItem>
@@ -195,6 +250,6 @@
</StackPanel>
</TabItem>
</TabControl>-->
</GroupBox>
</GroupBox>
</localView:BeWoView>

View File

@@ -1,9 +1,13 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Web.UI.WebControls;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
@@ -19,10 +23,15 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using DevExpress.Utils;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Helpers;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Printing;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraReports.UI;
using DevExpress.XtraRichEdit.Layout;
namespace BeWo.View.Detail.Report
{
@@ -55,41 +64,75 @@ namespace BeWo.View.Detail.Report
public bool FetchReferenceNumbers { get; set; }
public ServicesReportView()
{
InitializeComponent();
InitDateCombos();
InitServiceCategoryCombo();
public ServicesReportView()
{
InitializeComponent();
InitDateCombos();
InitServiceCategoryCombo();
InitFilterCombos();
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
//{
// checkbox_all.IsEnabled = false;
// checkbox_all.IsChecked = false;
//}
RefreshStatusGrid();
//CreateTestdaten();
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
//{
// checkbox_all.IsEnabled = false;
// checkbox_all.IsChecked = false;
//}
// SetMonthCombobox();
// SetYearCombobox();
// SetMonthCombobox();
// SetYearCombobox();
//GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
// GetQuittierungsCheckCustomerList(DateTime.Now);
//GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
// GetQuittierungsCheckCustomerList(DateTime.Now);
combobox_month.SelectionChanged += combobox_month_SelectionChanged;
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
combobox_Startday.SelectionChanged += combobox_Startday_SelectionChanged;
combobox_Endday.SelectionChanged += combobox_Endday_SelectionChanged;
ServiceCategoriesComboBox.SelectionChanged += ServiceCategoriesComboBox_SelectionChanged;
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
Unloaded += delegate
{
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, null);
docPrevControl.Visibility = Visibility.Collapsed;
};
}
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
void combobox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
Unloaded += delegate
{
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, null);
};
}
//private void CreateTestdaten()
//{
// var liste = new List<QuittierungsbelegsstatusVM>();
// liste.Add(CreateTestdaten("Karl", "Heinz", true, false, false));
// liste.Add(CreateTestdaten("adsfa", "etrzetrij", false, false, false));
// liste.Add(CreateTestdaten("455", "jedferz5", true, true, false));
// liste.Add(CreateTestdaten("Kadfheftrl", "etzet", true, true, true));
// datagrid_quittierungsbelege_status.ItemsSource = liste;
//}
//private QuittierungsbelegsstatusVM CreateTestdaten(string vn, string nn, bool v3, bool v4, bool v5)
//{
// CompactCustomerDC c = new CompactCustomerDC();
// c.FirstName = vn;
// c.LastName = nn;
// var dc = new QuittierungsbelegsstatusDC();
// var vm = new QuittierungsbelegsstatusVM(dc);
// vm.Customer = c;
// vm.Gedruckt = v3;
// vm.Erstellt = v4;
// vm.Unterschrieben = v5;
// return vm;
//}
void combobox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
InitDayCombos();
RefreshStatusGrid();
}
void combobox_year_SelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -111,6 +154,7 @@ namespace BeWo.View.Detail.Report
_Customer = e.Data;
popupedit_customer.Text = _Customer.ToString();
popup_customer.IsOpen = false;
RefreshStatusGrid();
}
private void TeamSearchView_CustomerSelected(object sender, EventArgs<CompactTeamDC> e)
@@ -118,19 +162,21 @@ namespace BeWo.View.Detail.Report
_Team = e.Data;
popupedit_team.Text = _Team.ToString();
popup_team.IsOpen = false;
RefreshStatusGrid();
}
private void EmployeeSearchView_EmployeeSelected(object sender, EventArgs<CompactEmployeeDC> e)
{
_Employee = e.Data;
popupedit_employee.Text = _Employee.SimpleDescription;
popup_employee.IsOpen = false;
RefreshStatusGrid();
}
private void InitServiceCategoryCombo()
{
ServiceFacade.DoOperationsServiceSync(s => ServiceCategoriesComboBox.ItemsSource = s.GetAllServiceCategories());
ServiceCategoriesComboBox.SelectedIndex = -1;
//RefreshStatusGrid();
}
private void InitDateCombos()
@@ -139,9 +185,9 @@ namespace BeWo.View.Detail.Report
int monthIdx = DateTime.Now.Month - 1;
//if (DateTime.Now.Day < 15)
//{
monthIdx--;
if (monthIdx < 0)
monthIdx = 11;
monthIdx--;
if (monthIdx < 0)
monthIdx = 11;
//}
this.combobox_month.SelectedIndex = monthIdx;
var years = new List<int>();
@@ -181,7 +227,7 @@ namespace BeWo.View.Detail.Report
int days = DateTime.DaysInMonth(year, month);
List<int> dayList = new List<int>();
for (int i = 1 ; i <= days; i++)
for (int i = 1; i <= days; i++)
{
dayList.Add(i);
}
@@ -226,7 +272,7 @@ namespace BeWo.View.Detail.Report
{
filterList.Add(new QBFilterItem(QBFilterEnum.TeamAuswahl));
}
}
else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.TeamView_ViewAll))
{
@@ -264,6 +310,52 @@ namespace BeWo.View.Detail.Report
popupedit_team.Visibility = Visibility.Visible;
}
}
RefreshStatusGrid();
}
private void RefreshStatusGrid()
{
DateTime start = new DateTime((int)combobox_year.SelectedItem, combobox_month.SelectedIndex + 1, combobox_Startday.SelectedIndex + 1);
DateTime ende = new DateTime((int)combobox_year.SelectedItem, combobox_month.SelectedIndex + 1, combobox_Endday.SelectedIndex + 1);
QBFilterEnum e = (FilterComboBox.SelectedItem as QBFilterItem).FilterEnum;
long? customerOid = null;
long? teamOid = null;
long? orgaOid = null;
long? empOid = null;
long? scOid = null;
if (_Customer != null)
customerOid = Customer.CustomerOid;
if (_Team != null)
teamOid = Team.TeamOid;
if (chkForAllCostbearer.IsChecked.Value)
orgaOid = Organisation.OrganisationOid;
if (chkForAllEmployees.IsChecked.Value)
empOid = Employee.EmployeeOid;
if (ChkForAllServiceCategories.IsChecked.Value)
scOid = ((ServiceCategoryDC)ServiceCategoriesComboBox.SelectedItem).ServiceCategoryOid;
ServiceFacade.DoCustomerServiceAsync(s => s.GetQuittierungsbelegsstatusList(start, ende, e, teamOid, customerOid, orgaOid, empOid, scOid), ergebnis => QuittierungsbelegStatusListeKommtVomServerZurueck(ergebnis));
//new CustomerS
}
private void QuittierungsbelegStatusListeKommtVomServerZurueck(List<QuittierungsbelegsstatusDC> ergebnis)
{
this.Dispatch(
delegate
{
var vmListe = new BindingList<QuittierungsbelegsstatusVM>();
foreach (var dc in ergebnis)
{
vmListe.Add(new QuittierungsbelegsstatusVM(dc));
}
datagrid_quittierungsbelege_status.ItemsSource = vmListe;
});
}
private void OrganisationSearchView_OrganisationSelected(object sender, EventArgs<CompactOrganisationDC> e)
@@ -271,11 +363,17 @@ namespace BeWo.View.Detail.Report
_Organisation = e.Data;
popupedit_costbearer.Text = _Organisation.Name;
popup_costbearer.IsOpen = false;
RefreshStatusGrid();
}
private void ServiceCategoriesComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
RefreshStatusGrid();
}
private void button_generate_Click(object sender, RoutedEventArgs e)
{
long? customerOid = 0;
long? teamOid = 0;
long? empOid = 0;
@@ -296,7 +394,7 @@ namespace BeWo.View.Detail.Report
if (filterItem.FilterEnum != QBFilterEnum.KlientenAuswahl)
{
_Customer = null;
_Customer = null;
}
if (filterItem.FilterEnum != QBFilterEnum.TeamAuswahl)
{
@@ -304,17 +402,17 @@ namespace BeWo.View.Detail.Report
}
if (!chkForAllCostbearer.IsChecked.Value)
{
_Organisation = null;
_Organisation = null;
}
if (!chkForAllEmployees.IsChecked.Value)
{
_Employee = null;
_Employee = null;
}
if (filterItem.FilterEnum == QBFilterEnum.KlientenAuswahl && _Customer == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Klienten aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Klienten aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (filterItem.FilterEnum == QBFilterEnum.TeamAuswahl && _Team == null)
{
@@ -322,26 +420,26 @@ namespace BeWo.View.Detail.Report
}
else if (chkForAllCostbearer.IsChecked.Value && _Organisation == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Kostenträger aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Kostenträger aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (chkForAllEmployees.IsChecked.Value && _Employee == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie eine/n Mitarbeiter/in aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show(Translator.Translate("Bitte wählen Sie eine/n Mitarbeiter/in aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (ChkForAllServiceCategories.IsChecked.HasValue && ChkForAllServiceCategories.IsChecked.Value && ServiceCategoriesComboBox.SelectedItem == null)
{
MessageBox.Show("Bitte wählen Sie eine Leistungskategorie aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
MessageBox.Show("Bitte wählen Sie eine Leistungskategorie aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
if (_Organisation != null)
{
orgaOid = _Organisation.OrganisationOid;
orgaOid = _Organisation.OrganisationOid;
}
if (_Employee != null)
{
empOid = _Employee.EmployeeOid;
empOid = _Employee.EmployeeOid;
}
if (_Team != null)
@@ -356,14 +454,14 @@ namespace BeWo.View.Detail.Report
var url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
url += "&ft=" + (int)filterItem.FilterEnum + "&cOid=" + customerOid + "&tOid=" + teamOid + "&orgaOid=" + orgaOid + "&empOid=" + empOid + "&month=" + (combobox_month.SelectedIndex + 1) + "&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" + combobox_Endday.SelectedItem;
if (ChkForAllServiceCategories.IsChecked.HasValue && ChkForAllServiceCategories.IsChecked.Value)
{
url += "&scOid=" + ((ServiceCategoryDC)ServiceCategoriesComboBox.SelectedItem).ServiceCategoryOid;
}
url += "&type=" + Utils.EnumName(ReportTypes.ServicesOverviewNew);
//var tempToken = string.Empty;
@@ -372,14 +470,16 @@ namespace BeWo.View.Detail.Report
//url = url + addChar + "token=" + tempToken;
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Quittierungsbelegsvorschau"));
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Quittierungsbeleg", docPrevControl);
//BeWoUtils.NavigateToReportUri(url, "Quittierungsbeleg", docPrevControl);
//BeWoUtils.NavigateToReportUriSync(url, docPrevControl);
}
//BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Quittierungsbeleg", docPrevControl);
//BeWoUtils.NavigateToReportUri(url, "Quittierungsbeleg", docPrevControl);
//BeWoUtils.NavigateToReportUriSync(url, docPrevControl);
}
}
private void listbox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
private void listbox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.combobox_month.IsEnabled = false;
}
@@ -389,6 +489,18 @@ namespace BeWo.View.Detail.Report
this.combobox_year.IsEnabled = false;
}
private void combobox_Startday_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
InitDayCombos();
RefreshStatusGrid();
}
private void combobox_Endday_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
InitDayCombos();
RefreshStatusGrid();
}
private void popupedit_costbearer_PopUpClick(object sender, RoutedEventArgs e)
{
popup_costbearer.IsOpen = true;
@@ -436,6 +548,408 @@ namespace BeWo.View.Detail.Report
() => BeWoUtils.UpdateAllViews(_Employee)))));
}
private void TableView_HiddenEditor(object sender, DevExpress.Xpf.Grid.EditorEventArgs e)
{
var status = e.Row as QuittierungsbelegsstatusVM;
if (status == null)
return;
if (status.Unterschrieben && !status.Erstellt)
{
MessageBox.Show("Ein noch nicht erstellter Quittierungsbeleg kann nicht als unterschrieben gekennzeichnet werden!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
status.Unterschrieben = false;
}
if (!status.Erstellt && status.Organisation != null)
status.Organisation = null;
if (!status.Erstellt && status.Employee != null)
status.Employee = null;
if (!status.Erstellt && status.ServiceCategory != null)
status.ServiceCategory = null;
if (status != null && status.IsDirty)
{
var dc = status.CommitToDataContract();
dc = CheckForCheckboxes(dc);
var neuerStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerStatus);
}
}
private QuittierungsbelegsstatusDC CheckForCheckboxes(QuittierungsbelegsstatusDC dc)
{
if(dc.Erstellt)
{
if (chkForAllCostbearer.IsChecked.Value)
{
dc.Organisation = _Organisation;
}
if (chkForAllEmployees.IsChecked.Value)
{
dc.Employee = _Employee;
}
if (ChkForAllServiceCategories.IsChecked.Value)
{
dc.ServiceCategory = (ServiceCategoryDC)ServiceCategoriesComboBox.SelectedItem;
}
}
return dc;
}
private void UpdateStatusInGrid(QuittierungsbelegsstatusDC neuerStatus)
{
var gesamteListe = datagrid_quittierungsbelege_status.ItemsSource as BindingList<QuittierungsbelegsstatusVM>;
if (gesamteListe != null)
{
QuittierungsbelegsstatusVM alterStatus = null;
foreach (var vm in gesamteListe)
{
if (vm.DataContract.QuittierungsbelegsstatusOid.HasValue && vm.DataContract.QuittierungsbelegsstatusOid == neuerStatus.QuittierungsbelegsstatusOid)
{
alterStatus = vm;
}
else if (!vm.DataContract.QuittierungsbelegsstatusOid.HasValue && vm.DataContract.Customer.Oid == neuerStatus.Customer.Oid)
{
alterStatus = vm;
}
}
if (alterStatus != null)
{
gesamteListe.Remove(alterStatus);
gesamteListe.Add(new QuittierungsbelegsstatusVM(neuerStatus));
datagrid_quittierungsbelege_status.SortBy(datagrid_quittierungsbelege_status.Columns.GetColumnByName("column_customerOid"));
//datagrid_quittierungsbelege_status.RefreshData();
//test
//var alle = datagrid_quittierungsbelege_status.ItemsSource as List<QuittierungsbelegsstatusDC>;
//var alle2 = datagrid_quittierungsbelege_status.ItemsSource as List<QuittierungsbelegsstatusDC>;
//foreach (var item in alle)
//{
// foreach (var item2 in alle2)
// {
// if (item.Customer.Oid == item2.Customer.Oid && item.QuittierungsbelegsstatusOid != item2.QuittierungsbelegsstatusOid)
// {
// //Hier stimmt was nicht
// int test = 0;
// }
// }
//}
}
}
}
private string GenerateURL(string source, bool nurFehlende)
{
string url = "";
if(source.Equals("System.Windows.Controls.Button: Alle erstellen") || source.Equals("System.Windows.Controls.Button: Fehlende erstellen"))
{
long? customerOid = 0;
long? teamOid = 0;
long? empOid = 0;
long? orgaOid = 0;
QBFilterItem filterItem = null;
if (FilterComboBox.SelectedItem != null)
{
filterItem = FilterComboBox.SelectedItem as QBFilterItem;
}
if (filterItem == null)
{
filterItem = new QBFilterItem(QBFilterEnum.AlleKlienten);
}
if (filterItem.FilterEnum != QBFilterEnum.KlientenAuswahl)
{
_Customer = null;
}
if (filterItem.FilterEnum != QBFilterEnum.TeamAuswahl)
{
_Team = null;
}
if (!chkForAllCostbearer.IsChecked.Value)
{
_Organisation = null;
}
if (!chkForAllEmployees.IsChecked.Value)
{
_Employee = null;
}
if (filterItem.FilterEnum == QBFilterEnum.KlientenAuswahl && _Customer == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Klienten aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (filterItem.FilterEnum == QBFilterEnum.TeamAuswahl && _Team == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie ein Team aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (chkForAllCostbearer.IsChecked.Value && _Organisation == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Kostenträger aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (chkForAllEmployees.IsChecked.Value && _Employee == null)
{
MessageBox.Show(Translator.Translate("Bitte wählen Sie eine/n Mitarbeiter/in aus."), "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (ChkForAllServiceCategories.IsChecked.HasValue && ChkForAllServiceCategories.IsChecked.Value && ServiceCategoriesComboBox.SelectedItem == null)
{
MessageBox.Show("Bitte wählen Sie eine Leistungskategorie aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
if (_Organisation != null)
{
orgaOid = _Organisation.OrganisationOid;
}
if (_Employee != null)
{
empOid = _Employee.EmployeeOid;
}
if (_Team != null)
{
teamOid = _Team.TeamOid;
}
if (_Customer != null)
{
customerOid = _Customer.CustomerOid;
}
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
url += "&ft=" + (int)filterItem.FilterEnum + "&cOid=" + customerOid + "&tOid=" + teamOid + "&orgaOid=" + orgaOid + "&empOid=" + empOid +
"&month=" + (combobox_month.SelectedIndex + 1) + "&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" + combobox_Endday.SelectedItem;
if (nurFehlende)
{
url += "&nf=1";
}
}
}
else if(source.Equals("System.Windows.Controls.Button: 2"))
{
var qvm = datagrid_quittierungsbelege_status.GetCurrentValue<QuittierungsbelegsstatusVM>();
QBFilterItem filterItem = new QBFilterItem(QBFilterEnum.KlientenAuswahl);
var customerOid = qvm.Customer.CustomerOid;
var teamOid = 0;
var orgaOid = 0;
var empOid = 0;
url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
url += "&ft=" + (int)filterItem.FilterEnum + "&cOid=" + customerOid + "&tOid=" + teamOid + "&orgaOid=" + orgaOid + "&empOpd=" + empOid +
"&month=" + (combobox_month.SelectedIndex + 1) + "&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" + combobox_Endday.SelectedItem;
}
if (ChkForAllServiceCategories.IsChecked.HasValue && ChkForAllServiceCategories.IsChecked.Value)
{
url += "&scOid=" + ((ServiceCategoryDC)ServiceCategoriesComboBox.SelectedItem).ServiceCategoryOid;
}
url += "&type=" + Utils.EnumName(ReportTypes.ServicesOverviewNew);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
return url;
}
private void button_print_Click(object sender, RoutedEventArgs e)
{
string url = GenerateURL(sender.ToString(), false);
var qvm = datagrid_quittierungsbelege_status.GetCurrentValue<QuittierungsbelegsstatusVM>();
qvm.Erstellt = true;
var dc = qvm.CommitToDataContract();
dc = CheckForCheckboxes(dc);
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Quittierungsbelegsvorschau"), () =>
{
var neuerStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerStatus);
});
}
private void Button_alle_erstellt_Click(object sender, RoutedEventArgs e)
{
ErstelleAlleQuittierungsbelege(sender.ToString());
}
private void Button_fehlende_erstellen_Click(object sender, RoutedEventArgs e)
{
ErstelleFehlendeQuittierungsbelege(sender.ToString());
}
private void Button_alle_erstellt_rueckgaengig_Click(object sender, RoutedEventArgs e)
{
ErstellteQuittierungsbelegeWiderrufen();
}
private void Button_alle_unterschrieben_Click(object sender, RoutedEventArgs e)
{
MarkiereAlleAlsUnterschrieben();
}
private void Button_alle_unterschrieben_rueckgaengig_Click(object sender, RoutedEventArgs e)
{
AlleUnterschriftenWiderrufen();
}
private void ErstelleAlleQuittierungsbelege(string sender)
{
if (MessageBox.Show("Wollen Sie wirklich alle Quittierungsbelege erstellen?\nDer vorherige Stand kann nicht wiederhergestellt werden.",
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var url = GenerateURL(sender.ToString(), false);
if (url == "")
MessageBox.Show("Es müssen zuerst alle Filter richtig eingestellt werden!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
else
{
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Quittierungsbelegsvorschau"), QuittierungsbelegsstatustabelleAktualisieren);
}
}
}
private void QuittierungsbelegsstatustabelleAktualisieren()
{
var alleBelege = datagrid_quittierungsbelege_status.ItemsSource as BindingList<QuittierungsbelegsstatusVM>;
for (int i = alleBelege.Count - 1; i >= 0; i--)
{
if (!alleBelege[i].Erstellt)
{
alleBelege[i].Erstellt = true;
var dc = alleBelege[i].CommitToDataContract();
dc = CheckForCheckboxes(dc);
var neuerQBStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerQBStatus);
}
}
}
private void ErstelleFehlendeQuittierungsbelege(string sender)
{
if (MessageBox.Show("Wollen Sie die fehlenden Quittierungsbelege erstellen?\nDer vorherige Stand kann nicht wiederhergestellt werden.",
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var url = GenerateURL(sender.ToString(), true);
if (url == "")
MessageBox.Show("Es müssen zuerst alle Filter richtig eingestellt werden!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Warning);
else
{
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Quittierungsbelegsvorschau"), QuittierungsbelegsstatustabelleAktualisieren);
}
}
}
private void ErstellteQuittierungsbelegeWiderrufen()
{
if (MessageBox.Show("Wollen Sie wirklich alle Quittierungsbelegserstellungen zurücksetzen?\nDer vorherige Stand kann nicht wiederhergestellt werden." +
"\n(Entsprechende Unterschriften werden ebenfalls widerrufen)",
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var alleBelege = datagrid_quittierungsbelege_status.ItemsSource as BindingList<QuittierungsbelegsstatusVM>;
for (int i = alleBelege.Count - 1; i >= 0; i--)
{
if (alleBelege[i].Erstellt)
{
alleBelege[i].Erstellt = false;
if (alleBelege[i].Unterschrieben)
alleBelege[i].Unterschrieben = false;
var dc = alleBelege[i].CommitToDataContract();
var neuerQBStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerQBStatus);
}
}
}
}
private void MarkiereAlleAlsUnterschrieben()
{
if (MessageBox.Show("Wollen Sie wirklich alle Quittierungsbelege als 'Unterschrieben' markieren?\nDer vorherige Stand kann nicht wiederhergestellt werden.",
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var alleBelege = datagrid_quittierungsbelege_status.ItemsSource as BindingList<QuittierungsbelegsstatusVM>;
for (int i = alleBelege.Count - 1; i >= 0; i--)
{
if (!alleBelege[i].Unterschrieben && alleBelege[i].Erstellt)
{
alleBelege[i].Unterschrieben = true;
var dc = alleBelege[i].CommitToDataContract();
var neuerQBStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerQBStatus);
}
}
}
}
private void AlleUnterschriftenWiderrufen()
{
if (MessageBox.Show("Wollen Sie wirklich alle Quittierungsbelege als 'Nicht unterschrieben' markieren?\nDer vorherige Stand kann nicht wiederhergestellt werden.",
"BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
{
var alleBelege = datagrid_quittierungsbelege_status.ItemsSource as BindingList<QuittierungsbelegsstatusVM>;
for (int i = alleBelege.Count - 1; i >= 0; i--)
{
if (alleBelege[i].Unterschrieben)
{
alleBelege[i].Unterschrieben = false;
var dc = alleBelege[i].CommitToDataContract();
var neuerQBStatus = ServiceFacade.DoCustomerServiceSync(s => s.UpdateQuittierungsbelegsstatus(dc));
UpdateStatusInGrid(neuerQBStatus);
}
}
}
}
private void chkForAllCostbearer_Unchecked(object sender, RoutedEventArgs e)
{
RefreshStatusGrid();
}
private void chkForAllEmployees_Unchecked(object sender, RoutedEventArgs e)
{
RefreshStatusGrid();
}
private void ChkForAllServiceCategories_Unchecked(object sender, RoutedEventArgs e)
{
RefreshStatusGrid();
}
//####################### Übersicht bereich #############################################
//private void GetQuittierungsCheckCustomerList(DateTime monat)
//{
@@ -519,7 +1033,7 @@ namespace BeWo.View.Detail.Report
// if (list.QuittierungsCheckOid.HasValue)
// x.QuittierungsCheckOid = list.QuittierungsCheckOid;
// if (list.Monat.HasValue)
// x.Monat = list.Monat.Value;
@@ -533,11 +1047,11 @@ namespace BeWo.View.Detail.Report
//private void CheckBoxQBU_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
//{
// var qbChanges = (QuittierungsCheckView)GridControlQuittierungsCheck.SelectedItem;
// QuittierungsCheckDC qbCheck = new QuittierungsCheckDC()
// {
// CustomerOid = qbChanges.CompactCustomer.CustomerOid,
// QuittierungsbelegGedruckt = qbChanges.QuittierungsbelegGedruckt,
// QuittierungsbelegGedrucktAm = qbChanges.GedrucktAm,
// QuittierungsbelegGedrucktVon = qbChanges.QuittierungsbelegGedrucktVonOid,
@@ -556,7 +1070,7 @@ namespace BeWo.View.Detail.Report
// qbCheck.QuittierungsbelegUnterschrieben = false;
// }
// if (qbChanges.QuittierungsCheckOid.HasValue)
// {
// qbCheck.QuittierungsCheckOid = qbChanges.QuittierungsCheckOid;
@@ -567,10 +1081,10 @@ namespace BeWo.View.Detail.Report
// ServiceFacade.DoCustomerServiceSync(r => r.SaveNewQuittierungsCheck(qbCheck));
// }
// GetQuittierungsCheckCustomerList(Dicdate[(string)MonthCombobox.SelectedItem]);
//}
//private void SetMonthCombobox()
//{
// List<string> monate = new List<string>();
@@ -587,7 +1101,7 @@ namespace BeWo.View.Detail.Report
// monate.Add(Monat.Oktober.ToString());
// monate.Add(Monat.November.ToString());
// monate.Add(Monat.Dezember.ToString());
// MonthCombobox.ItemsSource = monate;
// var dateTime = DateTime.Now;
@@ -628,7 +1142,7 @@ namespace BeWo.View.Detail.Report
// YearCombobox.ItemsSource = year;
// YearCombobox.EditValue = DateTime.Now.Year.ToString();
// DictYear.Add(DateTime.Now.AddYears(-5).Year.ToString(), DateTime.Now.AddYears(-5));
// DictYear.Add(DateTime.Now.AddYears(-4).Year.ToString(), DateTime.Now.AddYears(-4));

View File

@@ -146,6 +146,7 @@ namespace BeWo.View.Master
#if DEBUG
tabitem_serviceOverview.Visibility = Visibility.Visible;
tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible;
tabitem_dienstPlaner.Visibility = Visibility.Visible;
#endif
}

View File

@@ -234,7 +234,7 @@ namespace BeWo.View.Report.Auslastung
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Mitarbeiterauslastung", docPrevControl);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Mitarbeiterauslastung", docPrevControl, null);
}
private void popupedit_employee_PopUpClick(object sender, RoutedEventArgs e)

View File

@@ -272,7 +272,7 @@ namespace BeWo.View.Report.Employee
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Mitarbeiterstundenkonto", docPrevControl);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Mitarbeiterstundenkonto", docPrevControl, null);
}
private void popupedit_employee_PopUpClick(object sender, RoutedEventArgs e)

View File

@@ -31,7 +31,7 @@ namespace BeWo.View.Report.Finance
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Finanzauswertung", docPrevControl);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Finanzauswertung", docPrevControl, null);
}
}
}

View File

@@ -116,6 +116,8 @@ namespace BeWo.ViewModel
public static string PropertyName_DurationMonthYearGes = "DurationMonthYearGes";
public static string PropertyName_Betrag = "Betrag";
private static readonly DateTime NULL_TIME = new DateTime(2000, 1, 1, 0, 0, 1);
private static BitmapImage haekchenBitmapImage = null;
@@ -190,6 +192,8 @@ namespace BeWo.ViewModel
private string _RTFNotice5;
private decimal? _Betrag;
private decimal _RoundedDuration;
private ObservableSortCollection<ValueListEntryDC> _SelectedGoals;
@@ -1482,7 +1486,22 @@ namespace BeWo.ViewModel
get { return _RoundedDuration; }
set { _RoundedDuration = value; }
}
public decimal? Betrag
{
get { return _Betrag; }
set
{
if (AreDifferent(_Betrag, value))
{
_Betrag = value;
StoreDirtyInformation(AreDifferent(DataContract.Betrag, value), PropertyName_Betrag);
FirePropertyChanged(PropertyName_Betrag);
}
}
}
public Brush SelectedBackgroundBrush
{
@@ -2349,9 +2368,9 @@ namespace BeWo.ViewModel
copy.GroupOid = GroupOid;
copy.GroupRoundedDuration = GroupRoundedDuration;
copy.SignatureOid = SignatureOid;
copy.DurationInStunden = DurationInStunden;
copy.ServiceRecordFormat = ServiceRecordFormat;
copy.Betrag = Betrag;
copy.SelectedGoals.Clear();
foreach (var item in SelectedGoals)
@@ -2471,7 +2490,7 @@ namespace BeWo.ViewModel
_GroupOid = pDataContract.GroupOid;
_ServiceRecordType = pDataContract.ServiceRecordType;
_DistanceInMeter = pDataContract.DistanceInMeter;
_Betrag = pDataContract.Betrag;
_DurationInStunden = pDataContract.DurationInStunden;
_ServiceRecordFormat = pDataContract.ServiceRecordFormat;
_SignatureOid = pDataContract.SignatureOid;
@@ -2714,7 +2733,7 @@ namespace BeWo.ViewModel
pDataContract.CostBearer = _CostBearer;
pDataContract.RoundedDuration = RoundedDuration;
pDataContract.ServiceDescription = _ServiceDescription;
pDataContract.Betrag = _Betrag;
//Hack Story dirty information
SameRatingChecked(SelectedGoals, this.DataContract.Goals);

View File

@@ -112,6 +112,10 @@ namespace BeWo.ViewModel
foreach (var category in goalList)
{
if (category.GoalEntryDC.ValueListEntryOid > 596)
{
int test = 0;
}
var item = new SupportConceptGoalTreeItem
{
GoalEntryDC = category.GoalEntryDC,
@@ -170,6 +174,7 @@ namespace BeWo.ViewModel
item.PropertyChanged += MassnahmeCheckStatusChanged;
if (goal.ParentEntry == null || !goal.ParentEntry.ValueListEntryOid.HasValue || !dictOid2TreeItem.ContainsKey(goal.ParentEntry.ValueListEntryOid.Value))
//if (goal. == null || !goal.ParentEntry.ValueListEntryOid.HasValue || !dictOid2TreeItem.ContainsKey(goal.ParentEntry.ValueListEntryOid.Value))
{
iGoalList.Add(item);
}

View File

@@ -18,7 +18,7 @@
<AssemblyName>BeWoPlanerMobil</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
@@ -611,7 +611,7 @@
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost/BeWoPlanerMobil</IISUrl>
<IISUrl>http://localhost:8808/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>false</UseIISExpress>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />

View File

@@ -3596,5 +3596,16 @@ namespace BeWo.Data.Access
{
return GetConfirmationReceiptSignaturesByServiceRecord(serviceRecordOid).Any();
}
public IList<Quittierungsbelegsstatus> GetAllQuittierungsbelegStatusForMonth(DateTime start, DateTime ende)
{
DateTime begin = new DateTime(start.Year, start.Month, start.Day);
DateTime end = new DateTime(ende.Year, ende.Month, ende.Day);
var crit = CreateCriteria<Quittierungsbelegsstatus>();
crit.Add(Restrictions.Ge("Startdatum", begin));
crit.Add(Restrictions.Le("Enddatum", end));
return crit.List<Quittierungsbelegsstatus>();
}
}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWo.Data</RootNamespace>
<AssemblyName>BeWo.Data</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
@@ -83,7 +83,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\log4net.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySql.Data, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\MySql.Data.dll</HintPath>
</Reference>
@@ -95,22 +96,31 @@
<HintPath>..\Lib\NHibernate.ByteCode.Castle.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime.Serialization">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.ServiceModel">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Providers.Core.2.0.0\lib\net40\System.Web.Providers.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -136,6 +146,7 @@
<Compile Include="Entities\AddressHistory.cs" />
<Compile Include="Entities\ConfirmationReceiptSignature.cs" />
<Compile Include="Entities\GoalRating.cs" />
<Compile Include="Entities\Quittierungsbelegsstatus.cs" />
<Compile Include="Entities\Rating.cs" />
<Compile Include="Entities\RatingType.cs" />
<Compile Include="Entities\BuchungsExport.cs" />
@@ -608,7 +619,7 @@
<EmbeddedResource Include="Mappings\DienstInfo.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\ConfirmationReceiptSignature.hbm.xml" />
<Content Include="Mappings\ConfirmationReceiptSignature.hbm.xml" />
<Content Include="Mappings\DeletionHistory.hbm.xml" />
<EmbeddedResource Include="Mappings\FlexibleReportLayout.hbm.xml">
<SubType>Designer</SubType>
@@ -629,6 +640,7 @@
<EmbeddedResource Include="Mappings\DienstEintrag.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Quittierungsbelegsstatus.hbm.xml" />
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -68,6 +68,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_Notice5 = "Notice5";
public static string PropertyName_Betrag = "Betrag";
private long? _WohnheimbuchungsOid;
private bool _isCreatedInMobileClient;
@@ -138,6 +140,8 @@ namespace BeWo.Data.Entities
private string _Notice5;
private decimal? _Betrag;
public virtual bool IsCreatedInMobileClient
{
@@ -767,5 +771,20 @@ namespace BeWo.Data.Entities
}
}
public virtual decimal? Betrag
{
get
{
return this._Betrag;
}
set
{
if (this.AreDifferent(this._Betrag, value))
{
this._Betrag = value;
}
}
}
}
}

View File

@@ -43,6 +43,7 @@
<property column="RTFNotice3" type="String" name="RTFNotice3" length="1024" />
<property column="RTFNotice4" type="String" name="RTFNotice4" length="1024" />
<property column="RTFNotice5" type="String" name="RTFNotice5" length="1024" />
<property column="Betrag" type="Decimal" name="Betrag" />
<many-to-one name="Group" column="GroupOid" class="BeWo.Data.Entities.ServiceRecordGroup,BeWo.Data" cascade="none" />
<many-to-one name="Employee" column="EmployeeOid" class="BeWo.Data.Entities.Employee,BeWo.Data" cascade="none" />

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Host</RootNamespace>
<AssemblyName>Host</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>4.0</OldToolsVersion>
@@ -72,11 +72,6 @@
<Reference Include="DevExpress.XtraReports.v17.1.Web, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v17.1.Reporting, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="NHibernate, Version=3.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\NHibernate.dll</HintPath>

View File

@@ -17,7 +17,7 @@
<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root; Initial Catalog=1111111111
Server=localhost;Password=root;User ID=root; Initial Catalog=bewodemo
</property>
<property name="dialect">

View File

@@ -340,7 +340,7 @@ namespace Host
return reportCreator.CreateServiceOverviewAllCustomersReport(month, year, orgaOid, empOid, scOid, startDay, endDay);
return reportCreator.CreateServiceOverviewAllCustomersReport(month, year, orgaOid, empOid, scOid, startDay, endDay, false);
}
@@ -421,8 +421,14 @@ namespace Host
scOid = long.Parse(Request.Params["scOid"]);
else
scOid = null;
//nf = nur fehlende:-)
bool nf = false;
if (Request.Params["nf"] != null && Request.Params["nf"] == "1")
{
nf = true;
}
return reportCreator.CreateServiceOverviewReportNew(month, year, (QBFilterEnum)filterType, customerOid, teamOid, empOid, orgaOid, scOid, startDay, endDay);
return reportCreator.CreateServiceOverviewReportNew(month, year, (QBFilterEnum)filterType, customerOid, teamOid, empOid, orgaOid, scOid, startDay, endDay, nf);
}
private XtraReport CreateServiceRecordListReport()

Binary file not shown.

View File

@@ -0,0 +1 @@
ALTER TABLE `servicerecord` ADD COLUMN Betrag DECIMAL(18,10) NULL DEFAULT NULL;

View File

@@ -27,11 +27,11 @@ namespace BeWo.Report
public abstract XtraReport CreateServiceInvoiceReport(String dcIds, long? invoiceBaseOid);
public abstract XtraReport CreateServiceOverviewReportNew(int month, int year, QBFilterEnum filterType, long? customerOid, long? teamOid, long? empOid, long? orgaOid, long? serviceCategoryOid, int startDay, int endDay);
public abstract XtraReport CreateServiceOverviewReportNew(int month, int year, QBFilterEnum filterType, long? customerOid, long? teamOid, long? empOid, long? orgaOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende);
public abstract XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid,
long? serviceCategoryOid,
int startDay, int endDay);
int startDay, int endDay, bool nurFehlende);
public abstract XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year,
long orgaOid, long empOid,
@@ -77,7 +77,9 @@ namespace BeWo.Report
public abstract XtraReport CreateCustomReport(long employeeOid, String reportName);
public abstract XtraReport CreateAbsenceReport(DateTime dt, List<long> abs, List<long> empTypes);
public abstract XtraReport CreateRosterReport(long wOid, DateTime dt);
public abstract XtraReport CreateKilometerauswertung(long customerOid, DateTime rangeDate);
public abstract XtraReport CreateKilometerauswertungForAllCustomers(List<long> customerOids, DateTime rangeDate);

View File

@@ -22,6 +22,7 @@ using BeWo.Service.ServiceImplementations;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
using DevExpress.XtraCharts.Designer;
namespace BeWo.Report
{
@@ -180,10 +181,10 @@ namespace BeWo.Report
return report as XtraReport;
}
public override XtraReport CreateFlsReport(String flsReportId, String subType)
{
string flsReportPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, flsReportId + ".xml");
var lFLSAnalysisDataReportDC = Utils.XMLDeserialize<FLSAnalysisDataReportDC>(flsReportPath);
public override XtraReport CreateFlsReport(String flsReportId, String subType)
{
string flsReportPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, flsReportId + ".xml");
var lFLSAnalysisDataReportDC = Utils.XMLDeserialize<FLSAnalysisDataReportDC>(flsReportPath);
IBeWoReport<FLSReportRO> lFLSReportObject = null;
@@ -200,14 +201,14 @@ namespace BeWo.Report
return lFLSReportObject as XtraReport;
}
public override XtraReport CreateQueryReport(long queryOid, String queryReportId)
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
public override XtraReport CreateQueryReport(long queryOid, String queryReportId)
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
if (query == null)
return new XtraReport();
var path = BS.Shared.Core.Utils.CreateSavePath(TempPath, queryReportId + ".xml");
if (query == null)
return new XtraReport();
var path = BS.Shared.Core.Utils.CreateSavePath(TempPath, queryReportId + ".xml");
var table = Utils.XMLDeserialize<DataTable>(path);
@@ -312,7 +313,13 @@ namespace BeWo.Report
}
}
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
public virtual XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
CreateServiceOverviewAllCustomersReport(month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay, false);
return new XtraReport();
}
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
{
var os = new OperationsServiceImp();
var m = os.GetMandator2(false);
@@ -322,7 +329,7 @@ namespace BeWo.Report
}
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid, true, nurFehlende);
if (lROs.Count > 0)
{
@@ -370,81 +377,89 @@ namespace BeWo.Report
reportId = organisation.Name;
}
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
var lServiceOverviewSingleCustomerReport = this.FindReportImp<ServicesOverviewRO>(reportId);
lServiceOverviewSingleCustomerReport.SetReportDataSource(ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid));
if (ro != null)
{
lServiceOverviewSingleCustomerReport.SetReportDataSource(ro);
}
return lServiceOverviewSingleCustomerReport as XtraReport;
}
public override XtraReport CreateServiceOverviewReportNew(int month, int year, QBFilterEnum filterType, long? customerOid, long? teamOid, long? empOid, long? orgaOid, long? serviceCategoryOid, int startDay, int endDay)
public override XtraReport CreateServiceOverviewReportNew(int month, int year, QBFilterEnum filterType, long? customerOid, long? teamOid, long? empOid, long? orgaOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
{
switch (filterType)
{
case QBFilterEnum.AlleKlienten:
return CreateServiceOverviewAllCustomersReport(month, year, orgaOid ?? 0, empOid ?? 0, serviceCategoryOid, startDay, endDay);
return CreateServiceOverviewAllCustomersReport(month, year, orgaOid ?? 0, empOid ?? 0, serviceCategoryOid, startDay, endDay, nurFehlende);
break;
case QBFilterEnum.NurKlientenMeinesTeams:
var list1 = GetKlientenOidsMeinesTeams(null);
return CreateServiceOverviewReportForCustomers(list1, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay);
return CreateServiceOverviewReportForCustomers(list1, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay, nurFehlende);
break;
case QBFilterEnum.MeineKlienten:
var list2 = GetMeineKlientenOids();
return CreateServiceOverviewReportForCustomers(list2, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay);
return CreateServiceOverviewReportForCustomers(list2, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay, nurFehlende);
break;
case QBFilterEnum.KlientenAuswahl:
return CreateServiceOverviewSingleCustomerReport(customerOid ?? 0, month, year, orgaOid ?? 0, empOid ?? 0, serviceCategoryOid, startDay, endDay);
break;
case QBFilterEnum.TeamAuswahl:
var list3 = GetKlientenOidsMeinesTeams(teamOid);
return CreateServiceOverviewReportForCustomers(list3, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay);
return CreateServiceOverviewReportForCustomers(list3, month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay, nurFehlende);
break;
}
return new XtraReport();
}
private IList<long> GetMeineKlientenOids()
{
IList<long> customerOids = new List<long>();
private IList<long> GetMeineKlientenOids()
{
IList<long> customerOids = new List<long>();
ApplicationUser loggedInUser = null;
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
{
loggedInUser = LoggedInUserOperationContextExt.Current.User;
}
else
{
loggedInUser = SessionFacade.LoggedInUser;
}
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
{
loggedInUser = LoggedInUserOperationContextExt.Current.User;
}
else
{
loggedInUser = SessionFacade.LoggedInUser;
}
if (loggedInUser != null && loggedInUser.Employee != null)
{
foreach (var e2c in loggedInUser.Employee.Employee2CustomerList)
{
if (e2c.Customer.IsActive == ActivationTypeId.Active)
{
foreach (var v2o in e2c.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue && v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
if (loggedInUser != null && loggedInUser.Employee != null)
{
foreach (var e2c in loggedInUser.Employee.Employee2CustomerList)
{
if (e2c.Customer.IsActive == ActivationTypeId.Active)
{
foreach (var v2o in e2c.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue && v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
{
if (!customerOids.Contains(e2c.Customer.Oid.Value))
{
customerOids.Add(e2c.Customer.Oid.Value);
}
if (!customerOids.Contains(e2c.Customer.Oid.Value))
{
customerOids.Add(e2c.Customer.Oid.Value);
}
}
}
}
}
}
}
}
}
}
}
return customerOids;
}
return customerOids;
}
public virtual IList<long> GetKlientenOidsMeinesTeams(long? teamOid)
{
IList<long> customerOids = new List<long>();
public virtual IList<long> GetKlientenOidsMeinesTeams(long? teamOid)
{
IList<long> customerOids = new List<long>();
ApplicationUser loggedInUser = null;
@@ -470,7 +485,7 @@ namespace BeWo.Report
teams.AddRange(DAOFactory.SearchDAO.FindLeadingTeams(loggedInUser.Employee.Oid.Value));
teams.AddRange(DAOFactory.SearchDAO.FindTeamsOfEmployee(loggedInUser.Employee.Oid.Value));
}
foreach (var team in teams)
{
@@ -488,7 +503,7 @@ namespace BeWo.Report
{
customerOids.Add(e2c.Customer.Oid.Value);
}
}
}
}
@@ -498,97 +513,97 @@ namespace BeWo.Report
}
}
return customerOids;
}
return customerOids;
}
public virtual XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var roList = new List<ServicesOverviewRO>();
public virtual XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
{
var roList = new List<ServicesOverviewRO>();
foreach (var coid in customerOids)
{
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
foreach (var coid in customerOids)
{
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
if (ro != null)
{
roList.Add(ro);
}
}
if (ro != null)
{
roList.Add(ro);
}
}
var sortedList = roList.OrderBy(r => r.CustomerLastName + ", " + r.CustomerFirstName).ToList();
if (sortedList.Count > 0)
{
String reportId = null;
if (orgaOid.HasValue && orgaOid > 0)
{
var organisation = DAOFactory.GenericDAO.LoadByID<Organisation>(orgaOid.Value);
if (organisation != null)
reportId = organisation.Name;
}
if (sortedList.Count > 0)
{
String reportId = null;
if (orgaOid.HasValue && orgaOid > 0)
{
var organisation = DAOFactory.GenericDAO.LoadByID<Organisation>(orgaOid.Value);
if (organisation != null)
reportId = organisation.Name;
}
var rootReport = CreateReportForServicesOverviewRo(sortedList[0], reportId);
if (rootReport.Pages.Count == 0)
{
rootReport.CreateDocument();
}
if (rootReport.Pages.Count == 0)
{
rootReport.CreateDocument();
}
for (int i = 1; i < sortedList.Count; i++)
{
var lNext = CreateReportForServicesOverviewRo(sortedList[i], reportId);
if (lNext.Pages.Count == 0)
{
lNext.CreateDocument();
}
{
var lNext = CreateReportForServicesOverviewRo(sortedList[i], reportId);
if (lNext.Pages.Count == 0)
{
lNext.CreateDocument();
}
rootReport.Pages.AddRange(lNext.Pages);
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
return rootReport;
}
return new XtraReport();
}
public virtual XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, String reportId)
{
var serviceOverviewReport = this.FindReportImp<ServicesOverviewRO>(reportId);
serviceOverviewReport.SetReportDataSource(ro);
return serviceOverviewReport as XtraReport;
}
public virtual XtraReport AddSubServicesOverviewReportToReport(XtraReport masterReport, IBeWoReport<ServicesOverviewRO> newReport, ServicesOverviewRO ro)
{
if (ro.Services.Count > 0)
{
newReport.SetReportDataSource(ro);
((XtraReport)newReport).CreateDocument();
if (masterReport == null)
{
masterReport = newReport as XtraReport;
}
else
{
if (masterReport.Pages.Count == 0)
{
masterReport.CreateDocument();
}
public virtual XtraReport AddSubServicesOverviewReportToReport(XtraReport masterReport, IBeWoReport<ServicesOverviewRO> newReport, ServicesOverviewRO ro)
{
if (ro.Services.Count > 0)
{
newReport.SetReportDataSource(ro);
((XtraReport)newReport).CreateDocument();
if (masterReport == null)
{
masterReport = newReport as XtraReport;
}
else
{
if (masterReport.Pages.Count == 0)
{
masterReport.CreateDocument();
}
masterReport.Pages.AddRange(((XtraReport)newReport).Pages);
masterReport.Pages.AddRange(((XtraReport)newReport).Pages);
}
}
return masterReport;
}
}
}
return masterReport;
}
public override XtraReport CreateSbdLeistungsnachweisForAllCustomers(int month, int year, long orgaOid, long empOid, long serviceCategoryOid, int startDay, int endDay)
{
return CreateReportForStundenaufstellungROs(SbdStundenaufstellungRO.Create(month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay));
{
return CreateReportForStundenaufstellungROs(SbdStundenaufstellungRO.Create(month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay));
//var lROs = SbdStundenaufstellungRO.Create(month, year, orgaOid, empOid, serviceCategoryOid, startDay, endDay);
@@ -661,25 +676,25 @@ namespace BeWo.Report
long result;
if (string.IsNullOrEmpty(dcId) && invoiceBaseOid.HasValue)
{
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.SearchDAO.GetSettlementInvoiceByInvoiceBaseOid(invoiceBaseOid.Value));
}
else if (Int64.TryParse(dcId, out result))
{
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID<SettlementInvoice>(result)); // = Utils.XMLDeserialize<SettlementDC>(lPath);
}
else
{
string lPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, dcId);
lSettlementDC = Utils.XMLDeserialize<Settlement2DC>(lPath);
}
String reportId = null;
if (lSettlementDC.CostBearer2SupportConceptOid.HasValue)
{
CostBearer2SupportConcept c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(lSettlementDC.CostBearer2SupportConceptOid.Value);
reportId = c2s.CostBearer.ID;
}
if (string.IsNullOrEmpty(dcId) && invoiceBaseOid.HasValue)
{
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.SearchDAO.GetSettlementInvoiceByInvoiceBaseOid(invoiceBaseOid.Value));
}
else if (Int64.TryParse(dcId, out result))
{
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID<SettlementInvoice>(result)); // = Utils.XMLDeserialize<SettlementDC>(lPath);
}
else
{
string lPath = BS.Shared.Core.Utils.CreateSavePath(TempPath, dcId);
lSettlementDC = Utils.XMLDeserialize<Settlement2DC>(lPath);
}
String reportId = null;
if (lSettlementDC.CostBearer2SupportConceptOid.HasValue)
{
CostBearer2SupportConcept c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(lSettlementDC.CostBearer2SupportConceptOid.Value);
reportId = c2s.CostBearer.ID;
}
if (lSettlementDC.DifferentHourlyRateCount > 0)
{
@@ -721,35 +736,35 @@ namespace BeWo.Report
{
IBeWoReport<MitarbeiterstundenkontoRO> report;
if (ansicht == 1)
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Mitarbeiterarbeitszeitkonto");
if (ansicht == 1)
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Mitarbeiterarbeitszeitkonto");
}
else if (ansicht == 2)
{
var reportjahr = FindReportImp<MitarbeiterstundenkontoMonateRO>("MitarbeiterarbeitszeitkontoJahr");
var jahrStart = new DateTime(startDate.Year, 1, 1);
var ds = new MitarbeiterstundenkontoMonateRO(employeeOid, teamOids, jahrStart, endDate, null);
{
var reportjahr = FindReportImp<MitarbeiterstundenkontoMonateRO>("MitarbeiterarbeitszeitkontoJahr");
var jahrStart = new DateTime(startDate.Year, 1, 1);
var ds = new MitarbeiterstundenkontoMonateRO(employeeOid, teamOids, jahrStart, endDate, null);
reportjahr.SetReportDataSource(ds);
reportjahr.SetReportDataSource(ds);
return reportjahr as XtraReport;
}
else
{
if (teamOids != null && teamOids.Count > 0)
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Teamstundenkonto");
}
else
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Mitarbeiterstundenkonto");
}
}
return reportjahr as XtraReport;
}
else
{
if (teamOids != null && teamOids.Count > 0)
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Teamstundenkonto");
}
else
{
report = FindReportImp<MitarbeiterstundenkontoRO>("Mitarbeiterstundenkonto");
}
}
var x =
MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
report.SetReportDataSource(x);
var x =
MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
report.SetReportDataSource(x);
return report as XtraReport;
}
@@ -862,7 +877,7 @@ namespace BeWo.Report
{
var report = FindReportImp<KilometerauswertungsRO>();
report.SetReportDataSource(KilometerauswertungsRO.Create(MapperFactory.CompactCustomerDC_CustomerCompact.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Customer>(customerOid)), rangeDate));
report.SetReportDataSource(KilometerauswertungsRO.Create(MapperFactory.CompactCustomerDC_CustomerCompact.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Customer>(customerOid)), rangeDate));
return report as XtraReport;
}
@@ -871,7 +886,7 @@ namespace BeWo.Report
{
var report = FindReportImp<KilometerauswertungsListRO>();
report.SetReportDataSource(KilometerauswertungsListRO.Create(MapperFactory.CompactCustomerDC_CustomerCompact.MapToNewDCs(DAOFactory.GenericDAO.LoadByIDs<Customer>(customerOids)), rangeDate));
report.SetReportDataSource(KilometerauswertungsListRO.Create(MapperFactory.CompactCustomerDC_CustomerCompact.MapToNewDCs(DAOFactory.GenericDAO.LoadByIDs<Customer>(customerOids)), rangeDate));
return report as XtraReport;
}
@@ -897,8 +912,10 @@ namespace BeWo.Report
public override XtraReport CreateAbsenceReport(DateTime dt, List<long> abs, List<long> empTypes)
{
var report = FindReportImp<AbsenceRO>();
report.SetReportDataSource(AbsenceRO.Create(dt, (new OperationsServiceImp()).GetAbsenceTimeDCEmployee51(dt, dt.AddMonths(1).AddTicks(-1), abs, empTypes)));
var service = new OperationsServiceImp();
var filter = new AbsenceOverviewFilterDC() { AbsenceReasons = abs, EmploymentType = empTypes, Year = dt.Year, Month = dt.Month };
report.SetReportDataSource(AbsenceRO.Create(service.GetAbsenceOverview(filter), filter));
return report as XtraReport;
}
@@ -908,7 +925,7 @@ namespace BeWo.Report
var service = new OperationsServiceImp();
var service2 = new CustomerServiceImp();
var report = FindReportImp<RosterRO>();
report.SetReportDataSource(RosterRO.Create(service.GetDienstEintraege(wOid, dt.Year, dt.Month), service.GetAllDienste(), service2.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month));
return report as XtraReport;

View File

@@ -15,7 +15,7 @@ namespace BeWo.Report.DefaultReports
public void SetReportDataSource(AbsenceRO pRO)
{
int i = DateTime.DaysInMonth(pRO.ReportDateTime.Year, pRO.ReportDateTime.Month);
int i = DateTime.DaysInMonth(pRO.ReportFilter.Year, pRO.ReportFilter.Month);
cellHeader29.Visible = cellDetail29.Visible = i >= 29;
cellHeader30.Visible = cellDetail30.Visible = i >= 30;

View File

@@ -44,6 +44,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableServiceRecords1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -61,7 +62,6 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
@@ -114,13 +114,13 @@ namespace BeWo.Report.DefaultReports
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -287,6 +287,18 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell50.Weight = 0.20202019042968572D;
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(1F, 1F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(158F, 18F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.picSignature_BeforePrint);
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -519,10 +531,6 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell49.Weight = 0.44692737430167606D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -1164,17 +1172,9 @@ namespace BeWo.Report.DefaultReports
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// picSignature
// bindingSource1
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(1F, 1F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(158F, 18F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.picSignature_BeforePrint);
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// Quittierungsbeleg
//
@@ -1201,10 +1201,10 @@ namespace BeWo.Report.DefaultReports
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -20,6 +20,9 @@ namespace BeWo.Report.DefaultReports
{
bool hatGruppen = false;
//if (pRO == null)
// return;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.DataContracts;

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWo.Report</RootNamespace>
<AssemblyName>BeWo.Report</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
@@ -128,29 +128,6 @@
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.4.0.20710.0\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.2.0.20715.0\lib\net40\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>

View File

@@ -10,14 +10,13 @@ namespace BeWo.Report.ReportObjects
{
public class AbsenceRO : AbstractBeWoReportObject<AbsenceRO>
{
public DateTime ReportDateTime { get; set; }
public AbsenceOverviewFilterDC ReportFilter { get; set; }
public List<AbsenceReportRow> AbsenceReportRows { get; set; }
public static AbsenceRO Create(DateTime dt, Tuple<IList<AbsenceTimeDC>, IList<EmployeeDC>> tuple)
public static AbsenceRO Create(List<EmployeeDC> employees, AbsenceOverviewFilterDC filter)
{
var res = new AbsenceRO() { ReportDateTime = dt, AbsenceReportRows = new List<AbsenceReportRow>() };
var employees = tuple.Item2.OrderBy(x => x.LastNameFirstName);
var res = new AbsenceRO() { ReportFilter = filter, AbsenceReportRows = new List<AbsenceReportRow>() };
var dt = new DateTime(filter.Year, filter.Month, 1);
foreach (var emp in employees)
{
@@ -26,7 +25,7 @@ namespace BeWo.Report.ReportObjects
Employee = emp.LastNameFirstName
};
var absenceTimes = tuple.Item1.Where(x => x.EmployeeOid == emp.EmployeeOid)
var absenceTimes = emp.AbsenceTimes
.OrderByDescending(x => x.End ?? DateTime.MaxValue)
.OrderBy(x => x.Start)
.ToArray();
@@ -38,7 +37,7 @@ namespace BeWo.Report.ReportObjects
{
var abs = absenceTimes[0];
while (dayInMonth < DateTime.DaysInMonth(dt.Year, dt.Month))
while (dayInMonth < DateTime.DaysInMonth(filter.Year, filter.Month))
{
if (abs.Start.Value > dt.AddDays(dayInMonth))
{

View File

@@ -14,6 +14,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using BS.Shared.Extensions;
using DevExpress.CodeParser;
namespace BeWo.Report.ReportObjects
{
@@ -181,13 +182,13 @@ namespace BeWo.Report.ReportObjects
// private CostBearer2SupportConceptData CostBearer2SupportConceptData { get; set; }
public static List<ServicesOverviewRO> Create(int pMonth, int pYear, long orgaOid, long empOid, int startDay,
int endDay, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true)
int endDay, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true, bool checkQbStatus = false)
{
return Create(pMonth, pYear, orgaOid, empOid, startDay, endDay, false, serviceCategoryOid,
disableEmptySupportConcepts);
disableEmptySupportConcepts, false, checkQbStatus);
}
public static List<ServicesOverviewRO> Create(int pMonth, int pYear, long orgaOid, long empOid, int startDay, int endDay, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true, bool checkTeamCustomerRights = false)
public static List<ServicesOverviewRO> Create(int pMonth, int pYear, long orgaOid, long empOid, int startDay, int endDay, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true, bool checkTeamCustomerRights = false, bool checkQbStatus = false)
{
var roList = new List<ServicesOverviewRO>();
@@ -274,7 +275,7 @@ namespace BeWo.Report.ReportObjects
// IList<Customer> customers = DAOFactory.SearchDAO.GetAllCustomerWithServiceRecordsInSpan(pSpan).OrderBy(ob => ob.Person.LastName + ", " + ob.Person.FirstName).ToList();
foreach (Customer customer in customers)
{
ServicesOverviewRO ro = Create(customer, pSpan, disableEmptySupportConcepts, orgaOid, empOid, searchServiceRecordsByEndDate, serviceCategoryOid);
ServicesOverviewRO ro = Create(customer, pSpan, disableEmptySupportConcepts, orgaOid, empOid, searchServiceRecordsByEndDate, serviceCategoryOid, checkQbStatus);
if (ro != null)
{
roList.Add(ro);
@@ -308,12 +309,11 @@ namespace BeWo.Report.ReportObjects
return rights;
}
public static ServicesOverviewRO Create(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, long? serviceCategoryOid = null)
public static ServicesOverviewRO Create(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, long? serviceCategoryOid = null, bool checkQbStatus = false)
{
return Create(pCustomerOid, pMonth, pYear, disableEmptySupportConcepts, orgaOid, empOid, start, end, false,
serviceCategoryOid);
return Create(pCustomerOid, pMonth, pYear, disableEmptySupportConcepts, orgaOid, empOid, start, end, false, serviceCategoryOid, checkQbStatus);
}
public static ServicesOverviewRO Create(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null)
public static ServicesOverviewRO Create(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null, bool checkQbStatus = false)
{
var pSpan = new DateTimeSpan();
if (start > end)
@@ -326,7 +326,7 @@ namespace BeWo.Report.ReportObjects
pSpan.EndDateTime = pSpan.StartDateTime.AddDays(end - start + 1).AddTicks(-1);
var lCustomer = DAOFactory.GenericDAO.LoadByID<Customer>(pCustomerOid);
return Create(lCustomer, pSpan, disableEmptySupportConcepts, orgaOid, empOid, searchServiceRecordsByEndDate, serviceCategoryOid);
return Create(lCustomer, pSpan, disableEmptySupportConcepts, orgaOid, empOid, searchServiceRecordsByEndDate, serviceCategoryOid, checkQbStatus);
}
public void CalculateFLSSollIst()
@@ -551,14 +551,50 @@ namespace BeWo.Report.ReportObjects
return ad;
}
private static ServicesOverviewRO Create(Customer customer, DateTimeSpan span, bool disableEmptySupportConcepts, long orgaOid, long empOid, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null)
private static ServicesOverviewRO Create(Customer customer, DateTimeSpan span, bool disableEmptySupportConcepts, long orgaOid, long empOid, bool searchServiceRecordsByEndDate, long? serviceCategoryOid = null, bool checkQbStatus = true)
{
// IList<ServiceRecord> lServiceRecords = pServiceRecords;
// if (lServiceRecords == null)
IList<ServiceRecord> lServiceRecords = DAOFactory.SearchDAO.FindCustomerServiceRecords(customer.Oid.Value, span, null, null, searchServiceRecordsByEndDate);
var lResult = new ServicesOverviewRO();
if (checkQbStatus)
{
//gibt es für den customer schon einen QBStatus mit gleichen Werten für span, orga, emp, serviceCategory?
var alle = DAOFactory.SearchDAO.GetAllQuittierungsbelegStatusForMonth(span.StartDate, span.EndDate);
Customer richtigerKlient = null;
long? orga, emp;
if (orgaOid == 0)
orga = null;
else
orga = orgaOid;
if (empOid == 0)
emp = null;
else
emp = empOid;
foreach (var qbs in alle)
{
if (qbs.CustomerOid == customer.Oid && qbs.Startdatum == span.StartDate && qbs.Enddatum == span.EndDate && qbs.OrganisationOid == orga &&
qbs.EmployeeOid == emp && qbs.ServiceCategoryOid == serviceCategoryOid && qbs.Erstellt)
{
richtigerKlient = customer;
}
}
if (richtigerKlient != null)
{
//Was tun, um nichts zu erstellen?
//Methode weiter ausführen, wenn ein QB für einen einzelnen Klienten erstellt werden soll
//Methode abbrechen, wenn für alle erstellt wird. (Warum geht Fenster so oft auf?)
return null;
}
}
if (empOid > 0)
{
lResult.FilteredEmployeeOid = empOid;
@@ -1144,6 +1180,7 @@ namespace BeWo.Report.ReportObjects
{
lResult.AbsenceTimes = sb.ToString();
}
}
lResult.TotalFLSPerCostBearer = string.Empty;

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup></configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ABCBetreuungenReports</RootNamespace>
<AssemblyName>9342168675_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ABWElsebrock</RootNamespace>
<AssemblyName>7062943632_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ASBBergischGladbachReports</RootNamespace>
<AssemblyName>6297638711_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ASBHammReports</RootNamespace>
<AssemblyName>4982295287_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AachenerVereinReports</RootNamespace>
<AssemblyName>3010479871_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AbwDziallasMuhrin</RootNamespace>
<AssemblyName>9463879250_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AbwKlassen</RootNamespace>
<AssemblyName>1344064965_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AbwWeeger</RootNamespace>
<AssemblyName>3612443220_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AdikKleve</RootNamespace>
<AssemblyName>4867997795_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidsHilfeDuisburg</RootNamespace>
<AssemblyName>3833058951_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidsHilfeGiessen</RootNamespace>
<AssemblyName>9008813932_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidsInitiativeBonn</RootNamespace>
<AssemblyName>AidsInitiativeBonn</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidsUndDrogenberatung</RootNamespace>
<AssemblyName>5553641242_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidshilfeDortmund</RootNamespace>
<AssemblyName>1193188501_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidshilfeKassel</RootNamespace>
<AssemblyName>2667108352_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AlphaEv</RootNamespace>
<AssemblyName>3659854106_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -53,8 +53,27 @@ namespace AlphaEv.Validation
}
}
bool hasZukunftResult = false;
foreach (var r in list)
{
if (r.ResultType == ServiceRecordValidationResult.Custom && r.Message.Contains("Zukunft"))
{
hasZukunftResult = true;
}
}
if (!hasZukunftResult)
{
if (newServiceRecord.End.Value > DateTime.Now)
{
list.Add(new ServiceRecordValidationResultDC
{
ResultType = ServiceRecordValidationResult.Custom,
Message = "Das gewählte Datum darf nicht in der Zukunft liegen."
});
}
}
return list;
}

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ApiBerlin</RootNamespace>
<AssemblyName>3984525482_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AsbMoenchengladbach</RootNamespace>
<AssemblyName>3472573348_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AsbRheinErftDueren</RootNamespace>
<AssemblyName>1477928721_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -4,12 +4,12 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C1FED668-ADB9-47E0-B589-1389618E1B6E}</ProjectGuid>
<ProjectGuid>{08CB01F6-CD13-4A5A-9A50-7F503A49B7F8}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AsbRuhr</RootNamespace>
<AssemblyName>8928179244_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@@ -64,6 +64,12 @@
<Compile Include="QuittierungsbelegMitDatum.Designer.cs">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">
@@ -93,6 +99,10 @@
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AssistenzaReports</RootNamespace>
<AssemblyName>1076891970_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AufEigenenFuessenStehen</RootNamespace>
<AssemblyName>1733934665_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AwoDortmund</RootNamespace>
<AssemblyName>4096649015_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AwoWesel</RootNamespace>
<AssemblyName>8407321888_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BAPBielefelderAmbulantePflege</RootNamespace>
<AssemblyName>3104936392_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BUGeVReports</RootNamespace>
<AssemblyName>1873138856_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BWKGbR</RootNamespace>
<AssemblyName>7752610643_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoAlsdorf</RootNamespace>
<AssemblyName>6246287823_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoAmrath</RootNamespace>
<AssemblyName>1600408120_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoAuxilio</RootNamespace>
<AssemblyName>1008896531_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoBiallas</RootNamespace>
<AssemblyName>8001550599_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoColonia5Reports</RootNamespace>
<AssemblyName>4160851689_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoColoniaKalayci</RootNamespace>
<AssemblyName>8857453465_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoColoniaMitarbeiter</RootNamespace>
<AssemblyName>7216872833_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoColoniaMitarbeiter2</RootNamespace>
<AssemblyName>2954725299_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoDellbrueck</RootNamespace>
<AssemblyName>5462295916_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoDirekt</RootNamespace>
<AssemblyName>1378137009_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoFuerDich</RootNamespace>
<AssemblyName>2331203795_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoGuen</RootNamespace>
<AssemblyName>6251348980_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoHeinsberg</RootNamespace>
<AssemblyName>7058292376_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>

View File

@@ -68,8 +68,20 @@ namespace BeWoHeinsberg
{
int newRows = 0;
int index = 1;
DateTime monatStart = new DateTime(pRo.StartDate.Year, pRo.StartDate.Month, 1);
DateTime monatEnde = monatStart.AddMonths(1).AddDays(-1);
foreach (var at in pRo.Abwesenheiten)
{
if (at.Start.HasValue && at.Start < monatStart)
{
at.Start = monatStart;
}
if (!at.End.HasValue || at.End > monatEnde)
{
at.End = monatEnde;
}
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index < xrTableAbwesenheiten.Rows.Count)
{

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoImFlow</RootNamespace>
<AssemblyName>4290816992_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoKerpen</RootNamespace>
<AssemblyName>3536719736_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoKleefeld</RootNamespace>
<AssemblyName>1759760958_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoKoelnSued</RootNamespace>
<AssemblyName>5380327510_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoLeverkusen</RootNamespace>
<AssemblyName>9800364930_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoMarinReports</RootNamespace>
<AssemblyName>0288588964_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BeWoMobilReports</RootNamespace>
<AssemblyName>1441747891_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>

Some files were not shown because too many files have changed in this diff Show More