Konflikte gelöst

This commit is contained in:
Lyndon Jetten
2021-06-16 15:44:45 +02:00
70 changed files with 11746 additions and 888 deletions

1
.gitignore vendored
View File

@@ -515,4 +515,5 @@
/ReportImp/LebenshilfeDuisburgAtz/obj/Debug
/ReportImp/LebenshilfeDuisburgAtz/obj/Release
/ReportImp/VaroSozialagentur/obj/Debug
/ReportImp/AmbulantBetreutesWohnenAstridPulm/obj/Debug
/ReportImp/VaroSozialagentur/obj/Release

View File

@@ -461,6 +461,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bewolonia", "ReportImp\Bewo
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VaroSozialagentur", "ReportImp\VaroSozialagentur\VaroSozialagentur.csproj", "{5C99CC38-15A8-4485-8D59-997EEEA9D6C1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmbulantBetreutesWohnenAstridPulm", "ReportImp\AmbulantBetreutesWohnenAstridPulm\AmbulantBetreutesWohnenAstridPulm.csproj", "{6AB16005-E552-4619-9E55-D752FCCAC3B0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -3536,6 +3538,22 @@ Global
{5C99CC38-15A8-4485-8D59-997EEEA9D6C1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{5C99CC38-15A8-4485-8D59-997EEEA9D6C1}.Release|x86.ActiveCfg = Release|Any CPU
{5C99CC38-15A8-4485-8D59-997EEEA9D6C1}.Release|x86.Build.0 = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|.NET.ActiveCfg = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|.NET.Build.0 = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|x86.ActiveCfg = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Debug|x86.Build.0 = Debug|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|.NET.ActiveCfg = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|.NET.Build.0 = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|Any CPU.Build.0 = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|x86.ActiveCfg = Release|Any CPU
{6AB16005-E552-4619-9E55-D752FCCAC3B0}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3762,6 +3780,7 @@ Global
{B0C86A71-94ED-4F0D-98B3-49DB04056882} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{B289C237-C966-41A0-8968-C04D0004F30B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{5C99CC38-15A8-4485-8D59-997EEEA9D6C1} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{6AB16005-E552-4619-9E55-D752FCCAC3B0} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -319,6 +319,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\UrlaubstagSchenkenView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Suchergebnis.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -891,6 +895,7 @@
<Compile Include="ViewModel\BudgetVM.cs" />
<Compile Include="ViewModel\DocumentTreeItemVM.cs" />
<Compile Include="ViewModel\DokumentvorlageVM.cs" />
<Compile Include="ViewModel\GeschenkterUrlaubstagVM.cs" />
<Compile Include="ViewModel\PrintSelectionVM.cs" />
<Compile Include="ViewModel\QuittierungsbelegsstatusVM.cs" />
<Compile Include="ViewModel\RatingTypeVM.cs" />
@@ -992,9 +997,10 @@
<Compile Include="View\Controls\DPCtrlDienstTooltip.xaml.cs">
<DependentUpon>DPCtrlDienstTooltip.xaml</DependentUpon>
</Compile>
<Compile Include="View\Controls\DPCtrlIst.cs" />
<Compile Include="View\Controls\DPCtrlMonth.cs" />
<Compile Include="View\Controls\DPCtrlSaldo.cs" />
<Compile Include="View\Controls\DPCtrlSollIst.cs" />
<Compile Include="View\Controls\DPCtrlSoll.cs" />
<Compile Include="View\Controls\DPCtrlUrlaubKrankheit.cs" />
<Compile Include="View\Controls\DPCtrlZeitkonto.cs" />
<Compile Include="View\Controls\MonthPicker.xaml.cs">
@@ -1025,6 +1031,9 @@
<Compile Include="View\Detail\InformationView.xaml.cs">
<DependentUpon>InformationView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\UrlaubstagSchenkenView.xaml.cs">
<DependentUpon>UrlaubstagSchenkenView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\SuchergebnisMasterMenuItem.cs" />
<Compile Include="View\Detail\Suchergebnis.xaml.cs">
<DependentUpon>Suchergebnis.xaml</DependentUpon>

View File

@@ -166,6 +166,12 @@ namespace BeWo.ServiceProxy
public interface IEmployeeService
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASRespons" +
"e")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASBeWoFau" +
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid);
@@ -326,6 +332,33 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetActiveCustomersForEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactCustomerDC> GetActiveCustomersForEmployee(System.Nullable<long> employeeOid, BeWo.View.Navigation.Filter.CustomerFilterEnum customerFilter);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/CalculateUrlaubstage", ReplyAction="http://tempuri.org/IEmployeeService/CalculateUrlaubstageResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/CalculateUrlaubstageBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
decimal CalculateUrlaubstage(System.DateTime entryDate, int anzahlArbeitstage, int restlicheTageImJahr, System.Nullable<decimal> urlaubstageProJahr);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForEmployeeBeWoFaultF" +
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForEmployee(long empOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForYear", ReplyAction="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForYearResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetGeschenkteUrlaubstageForYearBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForYear(int year);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertGeschenkterUrlaubstag", ReplyAction="http://tempuri.org/IEmployeeService/InsertGeschenkterUrlaubstagResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertGeschenkterUrlaubstagBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertGeschenkterUrlaubstag(BS.Shared.DataContracts.GeschenkterUrlaubstagDC dc);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertMultipleGeschenkteUrlaubstage", ReplyAction="http://tempuri.org/IEmployeeService/InsertMultipleGeschenkteUrlaubstageResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertMultipleGeschenkteUrlaubstageBeWoFaultF" +
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertMultipleGeschenkteUrlaubstage(System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> dcs);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteGeschenkterUrlaubstag", ReplyAction="http://tempuri.org/IEmployeeService/DeleteGeschenkterUrlaubstagResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteGeschenkterUrlaubstagBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteGeschenkterUrlaubstag(BS.Shared.DataContracts.GeschenkterUrlaubstagDC dc);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void ArchiveEmployee(long pOid, long pVersion);
@@ -408,6 +441,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllEmploymentTypesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC> GetAllEmploymentTypes();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmploymentType", ReplyAction="http://tempuri.org/IEmployeeService/GetEmploymentTypeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmploymentTypeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.EmploymentTypeDC GetEmploymentType(long oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertNewEmploymentTypes", ReplyAction="http://tempuri.org/IEmployeeService/InsertNewEmploymentTypesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertNewEmploymentTypesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<long> InsertNewEmploymentTypes(System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC> pEntries);
@@ -591,12 +628,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToASBeWoFaultF" +
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool IsAssessmentSheetEntryBelongingToAS(long assessmentSheetCategoryOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASRespons" +
"e")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASBeWoFau" +
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -633,6 +664,11 @@ namespace BeWo.ServiceProxy
{
}
public bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid)
{
return base.Channel.IsAssessmentSheetCategoryBelongingToAS(assessmentSheetCategoryOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid)
{
return base.Channel.GetAllOvertimesFromEmployee(employeeOid);
@@ -818,6 +854,36 @@ namespace BeWo.ServiceProxy
return base.Channel.GetActiveCustomersForEmployee(employeeOid, customerFilter);
}
public decimal CalculateUrlaubstage(System.DateTime entryDate, int anzahlArbeitstage, int restlicheTageImJahr, System.Nullable<decimal> urlaubstageProJahr)
{
return base.Channel.CalculateUrlaubstage(entryDate, anzahlArbeitstage, restlicheTageImJahr, urlaubstageProJahr);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForEmployee(long empOid)
{
return base.Channel.GetGeschenkteUrlaubstageForEmployee(empOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForYear(int year)
{
return base.Channel.GetGeschenkteUrlaubstageForYear(year);
}
public void InsertGeschenkterUrlaubstag(BS.Shared.DataContracts.GeschenkterUrlaubstagDC dc)
{
base.Channel.InsertGeschenkterUrlaubstag(dc);
}
public void InsertMultipleGeschenkteUrlaubstage(System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC> dcs)
{
base.Channel.InsertMultipleGeschenkteUrlaubstage(dcs);
}
public void DeleteGeschenkterUrlaubstag(BS.Shared.DataContracts.GeschenkterUrlaubstagDC dc)
{
base.Channel.DeleteGeschenkterUrlaubstag(dc);
}
public void ArchiveEmployee(long pOid, long pVersion)
{
base.Channel.ArchiveEmployee(pOid, pVersion);
@@ -913,6 +979,11 @@ namespace BeWo.ServiceProxy
return base.Channel.GetAllEmploymentTypes();
}
public BS.Shared.DataContracts.EmploymentTypeDC GetEmploymentType(long oid)
{
return base.Channel.GetEmploymentType(oid);
}
public System.Collections.Generic.List<long> InsertNewEmploymentTypes(System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC> pEntries)
{
return base.Channel.InsertNewEmploymentTypes(pEntries);
@@ -1132,11 +1203,6 @@ namespace BeWo.ServiceProxy
{
return base.Channel.IsAssessmentSheetEntryBelongingToAS(assessmentSheetCategoryOid);
}
public bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid)
{
return base.Channel.IsAssessmentSheetCategoryBelongingToAS(assessmentSheetCategoryOid);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -1411,8 +1477,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, BS.Shared.ValueListEntryType>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFault))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFaultType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.OvertimeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AuszahlungsartDC))]
@@ -1476,6 +1540,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceDescriptionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceAccountingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceAccountingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GeschenkterUrlaubstagDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GeschenkterUrlaubstagDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetCategoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AssessmentSheetCategoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetValueDC>))]
@@ -1487,6 +1553,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GroupOfPeopleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFault))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BeWo.ServiceProxy.BeWoFaultType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Behinderungsart>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Behinderungsart))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.Merkzeichen>))]
@@ -1603,6 +1671,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DokumentvorlageDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ConfirmationReceiptSignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ConfirmationReceiptSignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RegelmaessigerDienstDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstplanerRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstEintragDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstEintragDC))]
@@ -1620,8 +1690,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FeiertagDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.DienstplanerMonthlySummaryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstplanerMonthlySummaryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.RegelmaessigerDienstDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UrlaubsplanerRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceDescriptionDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FlexibleReportResultDC))]
@@ -4952,7 +5021,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonth", ReplyAction="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonthResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/RemoveAllDiensteForOneMonthBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void RemoveAllDiensteForOneMonth(System.DateTime month);
void RemoveAllDiensteForOneMonth(System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetColorForStatus", ReplyAction="http://tempuri.org/IOperationsService/GetColorForStatusResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetColorForStatusBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -4994,6 +5063,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetDefaultFeiertageForYearBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.FeiertagDC> GetDefaultFeiertageForYear(int year);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/BuildUrlaubsplanerRootObject", ReplyAction="http://tempuri.org/IOperationsService/BuildUrlaubsplanerRootObjectResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/BuildUrlaubsplanerRootObjectBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetFlexibleReportResult", ReplyAction="http://tempuri.org/IOperationsService/GetFlexibleReportResultResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetFlexibleReportResultBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.FlexibleReportResultDC GetFlexibleReportResult(BS.Shared.DataContracts.FlexibleReportFilterDC filter);
@@ -6258,9 +6331,9 @@ namespace BeWo.ServiceProxy
return base.Channel.GetServiceRecordsWithoutConfirmationReceiptSignature(serviceRecordOids, signatureType);
}
public void RemoveAllDiensteForOneMonth(System.DateTime month)
public void RemoveAllDiensteForOneMonth(System.DateTime month, System.Collections.Generic.List<BS.Shared.DataContracts.RegelmaessigerDienstDC> rd)
{
base.Channel.RemoveAllDiensteForOneMonth(month);
base.Channel.RemoveAllDiensteForOneMonth(month, rd);
}
public string GetColorForStatus(bool status)
@@ -6303,6 +6376,11 @@ namespace BeWo.ServiceProxy
return base.Channel.GetDefaultFeiertageForYear(year);
}
public BS.Shared.DataContracts.UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month)
{
return base.Channel.BuildUrlaubsplanerRootObject(year, month);
}
public BS.Shared.DataContracts.FlexibleReportResultDC GetFlexibleReportResult(BS.Shared.DataContracts.FlexibleReportFilterDC filter)
{
return base.Channel.GetFlexibleReportResult(filter);

View File

@@ -48,12 +48,17 @@ namespace BeWo.View.Controls
c.Text = string.Empty;
c.ToolTip = "Kein gültiger Arbeitsvertrag";
}
else if (info.Reason != null)
else if (info.Reason != null && !info.IsFeiertag && info.DayOfWeek != DayOfWeek.Saturday && info.DayOfWeek != DayOfWeek.Sunday)
{
c.Background = Brushes.White;
c.Foreground = Brushes.Red;
c.Text = $"{info.Reason.Description[0]}";
c.ToolTip = $"{info.Reason.Description}";
if (info.DayOfWeek == DayOfWeek.Saturday || info.DayOfWeek == DayOfWeek.Sunday)
c.Background = new SolidColorBrush(ColorExtensions.FromHexString("EFEFEF"));
else
c.Background = Brushes.White;
}
else if (dc != null)
{

View File

@@ -30,20 +30,15 @@ namespace BeWo.View.Controls
{
if(information.Employee != null)
{
switch (information.Row)
if (information.IsLastRow)
{
case 0:
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
ctrl.BorderLight.BorderThickness = new Thickness(0, 0, 0, 1);
break;
case 1:
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
ctrl.BorderLight.BorderThickness = new Thickness(0, 0, 0, 1);
break;
case 2:
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
ctrl.BorderLight.BorderThickness = new Thickness(0, 0, 0, 1);
break;
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
ctrl.BorderLight.BorderThickness = new Thickness(0, 0, 0, 1);
}
else
{
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
ctrl.BorderLight.BorderThickness = new Thickness(0, 0, 0, 1);
}
}
else
@@ -113,44 +108,44 @@ namespace BeWo.View.Controls
case 0: return EmployeeInformation.Employee.LastNameFirstName;
case 1:
//case 1:
foreach (var contract in EmployeeInformation.Contracts)
{
sb.Append(contract.EmploymentType?.Name);
sb.Append('/');
}
// foreach (var contract in EmployeeInformation.Contracts)
// {
// sb.Append(contract.EmploymentType?.Name);
// sb.Append('/');
// }
sb.Remove(sb.Length - 1, 1);
// sb.Remove(sb.Length - 1, 1);
return sb.ToString();
// return sb.ToString();
case 2:
//case 2:
foreach (var contract in EmployeeInformation.Contracts)
{
sb.Append('(');
// foreach (var contract in EmployeeInformation.Contracts)
// {
// sb.Append('(');
if (contract.EntryDate.HasValue)
sb.Append(contract.EntryDate.Value.ToString("dd.MM.yy"));
else
sb.Append("k.A.");
// if (contract.EntryDate.HasValue)
// sb.Append(contract.EntryDate.Value.ToString("dd.MM.yy"));
// else
// sb.Append("k.A.");
sb.Append(" - ");
// sb.Append(" - ");
if (contract.ContractEndDate.HasValue)
sb.Append(contract.ContractEndDate.Value.ToString("dd.MM.yy"));
else
sb.Append("unbefr.");
// if (contract.ContractEndDate.HasValue)
// sb.Append(contract.ContractEndDate.Value.ToString("dd.MM.yy"));
// else
// sb.Append("unbefr.");
sb.Append(')');
// sb.Append(')');
sb.Append('/');
}
// sb.Append('/');
// }
sb.Remove(sb.Length - 1, 1);
// sb.Remove(sb.Length - 1, 1);
return sb.ToString();
// return sb.ToString();
}
}
@@ -169,5 +164,6 @@ namespace BeWo.View.Controls
public EmployeeDC Employee { get; set; }
public List<ContractDC> Contracts { get; set; }
public int Row { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace BeWo.View.Controls
{
public class DPCtrlIst : DienstplanerControl
{
public static readonly DependencyProperty IstInformationProperty = DependencyProperty.Register(
"IstInformation",
typeof(DPCtrlIstInformation),
typeof(DPCtrlIst),
new UIPropertyMetadata(
(s, e) =>
{
var information = (DPCtrlIstInformation)e.NewValue;
var ctrl = (DPCtrlIst)s;
if (ctrl != null)
{
if (information != null)
{
if (information.Row == 0 && !information.Statuszeile)
{
ctrl.Text = string.Format("{0:0.00}", information.IstWert);
ctrl.ToolTip = "Ist-Wert";
}
if (information.Statuszeile)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 2);
else
{
if (information.IsLastRow)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 1);
else
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 0);
}
}
}
}));
public DPCtrlIst()
{
InitializeComponent();
//BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
txt.HorizontalAlignment = HorizontalAlignment.Right;
}
public DPCtrlIstInformation IstInformation
{
get { return (DPCtrlIstInformation)GetValue(IstInformationProperty); }
set { SetValue(IstInformationProperty, value); }
}
}
public class DPCtrlIstInformation
{
public int Row { get; set; }
public bool Statuszeile { get; set; }
public decimal IstWert { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -23,19 +23,20 @@ namespace BeWo.View.Controls
{
if (information != null)
{
if (information.Row == 2)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
if (information.Row == 0 && !information.Statuszeile)
{
ctrl.Text = string.Format("{0:0.00}", information.SaldoWert);
ctrl.ToolTip = "Saldo-Wert";
}
if (information.Statuszeile)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 2);
else
{
if (information.Statuszeile)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 2);
if (information.IsLastRow)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 1);
else
{
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
if (information.Row == 0)
ctrl.Text = string.Format("{0:0.00}", information.SaldoWert);
}
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 0);
}
}
}
@@ -58,5 +59,6 @@ namespace BeWo.View.Controls
public int Row { get; set; }
public bool Statuszeile { get; set; }
public decimal SaldoWert { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace BeWo.View.Controls
{
public class DPCtrlSoll : DienstplanerControl
{
public static readonly DependencyProperty SollInformationProperty = DependencyProperty.Register(
"SollInformation",
typeof(DPCtrlSollInformation),
typeof(DPCtrlSoll),
new UIPropertyMetadata(
(s, e) =>
{
var information = (DPCtrlSollInformation)e.NewValue;
var ctrl = (DPCtrlSoll)s;
if(ctrl != null)
{
if(information != null)
{
if (information.Row == 0 && !information.Statuszeile)
{
ctrl.Text = string.Format("{0:0.00}", information.SollWert);
ctrl.ToolTip = "Soll-Wert";
}
if (information.Statuszeile)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 2);
else
{
if (information.IsLastRow)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 1);
else
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 0);
}
}
}
}));
public DPCtrlSoll()
{
InitializeComponent();
//BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
txt.HorizontalAlignment = HorizontalAlignment.Right;
}
public DPCtrlSollInformation SollInformation
{
get { return (DPCtrlSollInformation)GetValue(SollInformationProperty); }
set { SetValue(SollInformationProperty, value); }
}
}
public class DPCtrlSollInformation
{
public int Row { get; set; }
public bool Statuszeile { get; set; }
public decimal SollWert { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -1,74 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace BeWo.View.Controls
{
public class DPCtrlSollIst : DienstplanerControl
{
public static readonly DependencyProperty SollIstInformationProperty = DependencyProperty.Register(
"SollIstInformation",
typeof(DPCtrlSollIstInformation),
typeof(DPCtrlSollIst),
new UIPropertyMetadata(
(s, e) =>
{
var information = (DPCtrlSollIstInformation)e.NewValue;
var ctrl = (DPCtrlSollIst)s;
if(ctrl != null)
{
if(information != null)
{
if (information.Row == 2)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
else
{
if (information.Statuszeile)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 2);
else
{
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
if (information.Row == 0)
{
ctrl.Text = string.Format("{0:0.00}", information.SollWert);
ctrl.ToolTip = "Soll-Wert";
}
else if (information.Row == 1)
{
ctrl.Text = string.Format("{0:0.00}", information.IstWert);
ctrl.ToolTip = "Ist-Wert";
}
}
}
}
}
}));
public DPCtrlSollIst()
{
InitializeComponent();
//BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
txt.HorizontalAlignment = HorizontalAlignment.Right;
}
public DPCtrlSollIstInformation SollIstInformation
{
get { return (DPCtrlSollIstInformation)GetValue(SollIstInformationProperty); }
set { SetValue(SollIstInformationProperty, value); }
}
}
public class DPCtrlSollIstInformation
{
public int Row { get; set; }
public bool Statuszeile { get; set; }
public decimal SollWert { get; set; }
public decimal IstWert { get; set; }
}
}

View File

@@ -25,8 +25,10 @@ namespace BeWo.View.Controls
{
if (information.SpalteFuerUrlaub)
{
if (information.Row == 2)
if (information.IsLastRow)
{
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 0, 1);
}
else
{
if (information.Statuszeile)
@@ -37,8 +39,10 @@ namespace BeWo.View.Controls
}
else
{
if (information.Row == 2)
if (information.IsLastRow)
{
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
}
else
{
if (information.Statuszeile)
@@ -48,8 +52,11 @@ namespace BeWo.View.Controls
}
}
ctrl.Text = string.Format("{0:0}", information.SummeTage);
if(information.Row == 0 && !information.Statuszeile)
{
ctrl.Text = string.Format("{0:0}", information.SummeTage);
ctrl.ToolTip = "Abwesenheiten an Wochenend- und Feiertagen werden nicht mitgezählt.";
}
}
}
}));
@@ -73,5 +80,6 @@ namespace BeWo.View.Controls
public int Row { get; set; }
public bool SpalteFuerUrlaub { get; set; }
public decimal SummeTage { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -25,20 +25,24 @@ namespace BeWo.View.Controls
if (dc != null)
{
//dc.RemoveAll(x => x == null);
c.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
if (!dc.IsLastRow)
c.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 0);
else
c.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
double res = 0.0;
if (dc.Hours.Count != 0 || dc.Row == 2)
if(!dc.Statuszeile)
{
foreach (var dauer in dc.Hours)
if (dc.Hours.Count != 0 || dc.Row == 0)
{
res += dauer;
foreach (var dauer in dc.Hours)
{
res += dauer;
}
c.Text = res.ToString("0.##");
}
c.Text = res.ToString("0.##");
}
else
{
if(dc.Statuszeile)
@@ -81,5 +85,6 @@ namespace BeWo.View.Controls
public List<double> Hours { get; set; }
public bool Statuszeile { get; set; }
public int Row { get; set; }
public bool IsLastRow { get; set; }
}
}

View File

@@ -24,7 +24,7 @@ namespace BeWo.View.Controls
{
if (information != null)
{
if (information.Row == 2)
if (information.IsLastRow)
ctrl.BorderBlack.BorderThickness = new Thickness(0, 0, 1, 1);
else
{
@@ -68,5 +68,6 @@ namespace BeWo.View.Controls
public int Row { get; set; }
public bool Statuszeile { get; set; }
public DienstplanerMonthlySummaryDC Monatszusammenfassung { get; set;}
public bool IsLastRow { get; set; }
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
@@ -22,7 +23,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Grid;
using Button = System.Windows.Controls.Button;
@@ -37,9 +38,14 @@ namespace BeWo.View.Detail
private GridControl _GridAbsenceTimes;
private GridControl _GridOvertimes;
private GridControl _GridCustomers;
private GridControl _GridLeaveDays;
private bool _InitTabIndex;
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
private readonly ObservableSortCollection<ValueListEntryDC> _EintragKategorien;
public EmployeeView(EmployeeVM pEmployeeDC)
@@ -150,7 +156,7 @@ namespace BeWo.View.Detail
_EintragKategorien = pEmployeeDC.EintragKategorien;
}
public void Image_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
public void Image_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
{
_ViewModel.EmployeeImage = Img.EditValue as byte[];
}
@@ -207,7 +213,10 @@ namespace BeWo.View.Detail
if (tabcontrol_contracts.Items.Count > 0)
{
tabcontrol_contracts.SelectedIndex = tabcontrol_contracts.Items.Count - 1;
}
var contract = tabcontrol_contracts.SelectedItem as ContractVM;
ViewModel.LastContract.EmploymentTypeLeaveDaysVisibility = (contract.EmploymentType.LeaveDays != null) ? Visibility.Visible : Visibility.Collapsed;
ViewModel.LastContract.LeaveDaysVisibility = (contract.EmploymentType.LeaveDays != null) ? Visibility.Collapsed : Visibility.Visible;
}
}
protected override UserRightType[] GetSaveDemands()
@@ -234,10 +243,35 @@ namespace BeWo.View.Detail
try
{
if (ViewModel.LastContract != null)
{
if (ViewModel.LastContract.EmploymentType.LeaveDays != null)
{
var originalEmploymentType = ServiceFacade.DoEmployeeServiceSync(s => s.GetEmploymentType((long)ViewModel.LastContract.EmploymentType.EmploymentTypeOid));
if (originalEmploymentType.LeaveDays == ViewModel.LastContract.EmploymentType.LeaveDays) // Beschäftigungsart wurde feste Zahl Urlaubstage gegeben
{
int arbeitstage = ViewModel.LastContract.WeeklyDays != null ? (int)ViewModel.LastContract.WeeklyDays : 0;
decimal? urlaubstage = ViewModel.LastContract.EmploymentType.LeaveDays;
ViewModel.LastContract.LeaveDays = urlaubstage;
if (ViewModel.LastContract.ContractEndDate.Value.Date >= new DateTime(ViewModel.LastContract.EntryDate.Value.Year, 12, 31))
{
int restlicheTageImJahr = Convert.ToInt32((new DateTime(ViewModel.LastContract.EntryDate.Value.Year, 12, 31) - ViewModel.LastContract.EntryDate.Value.Date).TotalDays);
urlaubstage = CalculateUrlaubstage((DateTime)ViewModel.LastContract.EntryDate, arbeitstage, restlicheTageImJahr, urlaubstage);
//Urlaubskonto: Verbleibende Tage hier auf urlaubstage setzen..
}
}
else // Beschäftigungsart sind keine festen Urlaubstage zugeordnet
{
ViewModel.LastContract.LeaveDays = ViewModel.LastContract.EmploymentType.LeaveDays;
}
}
}
if(ViewModel.IsNew)
{
IsDoneWithInsertOrUpdate = false;
ServiceFacade.DoEmployeeServiceAsync(s => s.InsertNewEmployee(lDataContract), ReloadViewModel);
}
else
@@ -256,6 +290,11 @@ namespace BeWo.View.Detail
}
}
private decimal CalculateUrlaubstage(DateTime entryDate, int anzahlArbeitstage, int restlicheTageImJahr, decimal? urlaubstage)
{
return ServiceFacade.DoEmployeeServiceSync(s => s.CalculateUrlaubstage(entryDate, anzahlArbeitstage, restlicheTageImJahr, urlaubstage));
//return 0;
}
private bool ValidateContracts()
{
var count = ViewModel.Contracts.VMList.Count(c => !c.ContractEndDate.HasValue);
@@ -458,6 +497,7 @@ namespace BeWo.View.Detail
{
ViewModel.Contracts.AddNewVMToList();
tabcontrol_contracts.SelectedIndex = tabcontrol_contracts.Items.Count - 1;
}
private void btn_deleteContract_Click(object sender, RoutedEventArgs e)
@@ -605,5 +645,61 @@ namespace BeWo.View.Detail
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
private void LeaveDaysTabItem_Selected(object sender, RoutedEventArgs e)
{
if (_GridLeaveDays == null)
{
_GridLeaveDays = rootGrid.Resources["datagrid_leavedays"] as GridControl;
GroupBoxLeaveDays.Content = _GridLeaveDays;
}
GeschenkteUrlaubstage = ServiceFacade.DoEmployeeServiceSync(s => s.GetGeschenkteUrlaubstageForEmployee((long)ViewModel.DataContract.EmployeeOid));
_GridLeaveDays.ItemsSource = GeschenkteUrlaubstage;
}
private void button_addLeaveDay_Click(object sender, RoutedEventArgs e)
{
var anzahlTage = Convert.ToDecimal(spinedit_anzahlTage.Text);
var erlaeuterung = textbox_erlaeuterung.Text;
GeschenkterUrlaubstagDC dc = new GeschenkterUrlaubstagDC()
{
AnzahlTage = anzahlTage,
Date = DateTime.Now.Date,
Employee = (long)ViewModel.DataContract.EmployeeOid,
GeschenkterUrlaubstagNotice = erlaeuterung
};
ServiceFacade.DoEmployeeServiceSync(s => s.InsertGeschenkterUrlaubstag(dc));
GeschenkteUrlaubstage.Add(dc);
_GridLeaveDays.ItemsSource = null;
_GridLeaveDays.ItemsSource = GeschenkteUrlaubstage;
}
private void button_removeLeaveDay_Click(object sender, RoutedEventArgs e)
{
var dc = _GridLeaveDays.GetCurrentValue<GeschenkterUrlaubstagDC>();
ServiceFacade.DoEmployeeServiceSync(s => s.DeleteGeschenkterUrlaubstag(dc));
var items = _GridLeaveDays.ItemsSource as List<GeschenkterUrlaubstagDC>;
items.Remove(dc);
_GridLeaveDays.ItemsSource = null;
_GridLeaveDays.ItemsSource = items;
}
private void combobox_employmenttype_EditValueChanged(object sender, EditValueChangedEventArgs e)
{
var contract = tabcontrol_contracts.SelectedItem as ContractVM;
if (contract.EmploymentType.LeaveDays != null)
{
contract.EmploymentTypeLeaveDaysVisibility = Visibility.Visible;
contract.LeaveDaysVisibility = Visibility.Collapsed;
}
else
{
contract.EmploymentTypeLeaveDaysVisibility = Visibility.Collapsed;
contract.LeaveDaysVisibility = Visibility.Visible;
}
}
}
}

View File

@@ -18,15 +18,20 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Name="label_" Content="Bezeichnung" />
<TextBox Margin="3" Grid.Column="1" Text="{val:ValidationBinding Path=NewVM.Name, UpdateSourceTrigger=PropertyChanged}" Height="23" VerticalAlignment="Center" />
<Button Margin="3" Padding="3,2,3,2" Grid.Column="2" IsDefault="True" Name="button_add" Click="button_add_Click" VerticalAlignment="Center" Content="Hinzufügen" Height="25" Width="Auto" FontWeight="Normal" />
<dxg:GridControl Margin="0,10,0,0" Grid.Row="1" Grid.ColumnSpan="3" Name="grid">
<Label Name="label_leavedays" Grid.Row="1" Content="Urlaubstage" />
<TextBox Margin="3" Grid.Row="1" Grid.Column="1" Text="{val:ValidationBinding Path=NewVM.LeaveDays, UpdateSourceTrigger=PropertyChanged}" Height="23" VerticalAlignment="Center"/>
<Button Margin="3" Padding="3,2,3,2" Grid.Row="1" Grid.Column="2" IsDefault="True" Name="button_add" Click="button_add_Click" VerticalAlignment="Center" Content="Hinzufügen" Height="25" Width="Auto" FontWeight="Normal" />
<dxg:GridControl Margin="0,10,0,0" Grid.Row="2" Grid.ColumnSpan="3" Name="grid">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
@@ -38,6 +43,7 @@
</dxg:GridColumn>
<dxg:GridColumn FieldName="Name" Header="Bezeichnung" />
<dxg:GridColumn FieldName="LeaveDays" Header="Urlaubstage"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />

View File

@@ -73,10 +73,11 @@ namespace BeWo.View.Detail.Report
Parent._SchedulerControl.Storage.AppointmentStorage.Remove(Appointment);
ServiceFacade.DoOperationsServiceSync(x => x.DeleteAbsenceTime(AbsenceTime));
Parent.UrlaubsplanerRootObj.Abwesenheiten.Remove(AbsenceTime);
SchedulerFormBehavior.Close(this, true);
Parent.UpdateUrlaubkonto(AbsenceTime.EmployeeOid.Value);
Parent.UpdateScheduler();
}
private void SaveBtn_Click(object sender, RoutedEventArgs e)
@@ -99,6 +100,18 @@ namespace BeWo.View.Detail.Report
{
AbsenceTime = ServiceFacade.DoOperationsServiceSync(x => x.UpdateAbsenceTimeWithReturn(AbsenceTime));
AbsenceTimeDC dc = null;
foreach (var item in Parent.UrlaubsplanerRootObj.Abwesenheiten)
{
if (item.AbsenceTimeOid == AbsenceTime.AbsenceTimeOid)
dc = item;
}
if (dc != null)
{
Parent.UrlaubsplanerRootObj.Abwesenheiten.Remove(dc);
Parent.UrlaubsplanerRootObj.Abwesenheiten.Add(AbsenceTime);
}
var t = AbsenceTime.AbsenceTimeVersion;
SchedulerHelper.OverrideAppointmentWithAbsenceTime(Appointment, AbsenceTime);
@@ -106,7 +119,7 @@ namespace BeWo.View.Detail.Report
else
{
AbsenceTime = ServiceFacade.DoOperationsServiceSync(x => x.InsertAbsenceTimeWithReturn(AbsenceTime));
Parent.UrlaubsplanerRootObj.Abwesenheiten.Add(AbsenceTime);
SchedulerHelper.OverrideAppointmentWithAbsenceTime(Appointment, AbsenceTime);
Parent._SchedulerControl.Storage.AppointmentStorage.Add(Appointment);

View File

@@ -20,35 +20,6 @@ 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";
// if (dc.Urlaubskonto.Resturlaub < 0)
// c._EmployeeUrlaub.Foreground = Brushes.LightCoral;
// var jahr = c.Jahr;
// var monat = c.Monat;
// //var absencetimes = ServiceFacade.DoOperationsServiceSync(x => x.GetAbsenceTimesForMonth(dc.EmployeeOid.Value, c.Monat, c.Jahr, 2));
// //c._EmployeeUrlaubDieserMonat.Text +=
// ((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc);
// //((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc, absencetimes);
// }
// }
// }));
public static readonly DependencyProperty AbwesenheitsInformationDCProperty = DependencyProperty.Register(
"AbwesenheitsInformationDC",
typeof(AbwesenheitsInformationDC),
@@ -63,10 +34,16 @@ namespace BeWo.View.Detail.Report
{
if (dc != null)
{
decimal geschenkteUrlaubstage = 0.0m;
//foreach (var urlaub in dc.GeschenkteUrlaubstage)
// geschenkteUrlaubstage += urlaub.AnzahlTage;
c._EmployeeName.Text = dc.Employee.LastNameFirstName;
c._EmployeeUrlaub.Text = $"Urlaub: {dc.Employee.Urlaubskonto.Resturlaub.ToString("0.00")}/{dc.Employee.Urlaubskonto.Urlaubsanspruch.ToString("0.00")} Tage";
if (dc.Employee.Urlaubskonto.Resturlaub < 0)
c._EmployeeUrlaub.Text = $"Urlaub: {(dc.Employee.Urlaubskonto.Resturlaub).ToString("0.00")}/{(dc.Employee.Urlaubskonto.Urlaubsanspruch).ToString("0.00")} Tage";
if (dc.Employee.Urlaubskonto.Resturlaub + geschenkteUrlaubstage < 0)
c._EmployeeUrlaub.Foreground = Brushes.LightCoral;
else
c._EmployeeUrlaub.Foreground = Brushes.White;
int tageUrlaub = 0;
int tageKrankheit = 0;
@@ -84,20 +61,28 @@ namespace BeWo.View.Detail.Report
krankheitstage.Add(tag);
}
// Berechnung der Urlaubstage (falls vorhanden)
if (urlaubstage.Count > 0)
{
foreach (var spanne in urlaubstage)
{
if (spanne.End == null)
spanne.End = new DateTime(dc.Year, dc.Month, DateTime.DaysInMonth(dc.Year, dc.Month));
// Nur ein Tag
if (spanne.Start == spanne.End)
tageUrlaub++;
// Mehrere Tage
else
{
// Alle Tage in einem Monat
if (spanne.Start.Value.Month == spanne.End.Value.Month)
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// Tage über Monate verteilt
else
{
DateTime? tempStart = null;
DateTime? tempEnd = null;
// Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
if (spanne.Start.Value.Month != dc.Month)
{
tempStart = new DateTime(dc.Year, dc.Month, 1);
@@ -116,43 +101,68 @@ namespace BeWo.View.Detail.Report
}
}
}
c._EmployeeUrlaubDieserMonat.Text = "Urlaub diesen Monat: " + tageUrlaub + " Tage";
}
// Berechnung der Krankheitstage (falls vorhanden)
if (krankheitstage.Count > 0)
{
foreach (var spanne in krankheitstage)
{
// Nur ein Tag
if (spanne.Start == spanne.End)
tageKrankheit++;
// Mehrere Tage
else
{
if (spanne.Start.Value.Month == spanne.End.Value.Month)
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// Wenn Krankheit ein Enddatum hat
if (spanne.End != null)
{
// Alle Tage in einem Monat
if (spanne.Start.Value.Month == spanne.End.Value.Month)
tageUrlaub += Convert.ToInt32((spanne.End.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
// Tage über mehrere Monate verteilt
else
{
// Prüfen, ob Start und/oder Ende nicht dem ausgewählten Monat entspricht
DateTime? tempStart = null;
DateTime? tempEnd = null;
if (spanne.Start.Value.Month != dc.Month)
{
tempStart = new DateTime(dc.Year, dc.Month, 1);
}
if (spanne.End.Value.Month != dc.Month)
{
tempEnd = new DateTime(dc.Year, dc.Month, 1).AddMonths(1).AddTicks(-1);
}
if (tempStart != null && tempEnd != null)
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
else if (tempStart != null && tempEnd == null)
tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
else if (tempStart == null && tempEnd != null)
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
}
}
// Wenn Krankheit kein Enddatum gesetzt wurde
else
{
DateTime? tempStart = null;
DateTime? tempEnd = null;
if (spanne.Start.Value.Month != dc.Month)
{
tempStart = new DateTime(dc.Year, dc.Month, 1);
}
if (spanne.End.Value.Month != dc.Month)
{
tempEnd = new DateTime(dc.Year, dc.Month, 1).AddMonths(1).AddTicks(-1);
}
DateTime tempEnd = new DateTime(dc.Year, dc.Month, DateTime.DaysInMonth(dc.Year, dc.Month));
DateTime tempStart = new DateTime(dc.Year, dc.Month, 1); ;
if (tempStart != null && tempEnd != null)
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - tempStart.Value.Date).TotalDays + 1);
else if (tempStart != null && tempEnd == null)
tageKrankheit += Convert.ToInt32((spanne.End.Value.Date - tempStart.Value.Date).TotalDays + 1);
else if (tempStart == null && tempEnd != null)
tageKrankheit += Convert.ToInt32((tempEnd.Value.Date - spanne.Start.Value.Date).TotalDays + 1);
tageKrankheit += Convert.ToInt32((tempEnd.Date - tempStart.Date).TotalDays + 1);
}
else
{
DateTime tempEnd = new DateTime(spanne.Start.Value.Year, spanne.Start.Value.Month, DateTime.DaysInMonth(spanne.Start.Value.Year, spanne.Start.Value.Month));
tageKrankheit += Convert.ToInt32((tempEnd.Date - spanne.Start.Value.Date).TotalDays + 1);
}
}
}
}
c._EmployeeKrankheitDieserMonat.Text = "Krankheit diesen Monat: " + tageKrankheit + " Tage";
}
c._EmployeeUrlaubDieserMonat.Text = "Urlaub diesen Monat: " + tageUrlaub + " Tage";
c._EmployeeKrankheitDieserMonat.Text = "Krankheit diesen Monat: " + tageKrankheit + " Tage";
((AbwesenheitsEmployeeHeaderTooltip)c.ToolTip).Set(dc.Employee, tageUrlaub, tageKrankheit);
}

View File

@@ -123,20 +123,20 @@
</dxsch:SchedulerControl.FullWeekView>
<dxsch:SchedulerControl.MonthView >
<dxsch:MonthView Enabled="False">
<!--
<dxsch:MonthView.CellStyle>
<!--<dxsch:MonthView.CellStyle>
<Style TargetType="dxschv:CellControl">
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding Converter="{Binding:TestConverter}">
<Binding Path="Interval.Start"/>
<Binding Path=""
</DataTrigger.Binding>
</DataTrigger>
<MultiBinding Converter="{report:TestConverter}">
<Binding Path="Interval.Start" />
<Binding Path="(dxsch:SchedulerControl.Scheduler).DataContext.SpecialDates" RelativeSource="{RelativeSource Self}" />
</MultiBinding>
</DataTrigger>
</Style.Triggers>
</Style>
</dxsch:MonthView.CellStyle>
-->
</dxsch:MonthView.CellStyle>-->
</dxsch:MonthView>
</dxsch:SchedulerControl.MonthView>
<dxsch:SchedulerControl.WeekView >
@@ -160,11 +160,16 @@
</dxsch:SchedulerControl>
<StackPanel Grid.Row="3" Grid.ColumnSpan="3" Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Right">
<TextBlock x:Name="textblock_link_pdfexport" Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="linkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPdfExport_OnRequestNavigate">
<Run Text="Drucken" />
</Hyperlink>
</TextBlock>
<TextBlock x:Name="textblock_link_gift_leaveday" Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="linkGiftLeaveday" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkGiftLeaveday_OnRequestNavigate">
<Run Text="Urlaub schenken" />
</Hyperlink>
</TextBlock>
<TextBlock x:Name="textblock_link_pdfexport" Margin="5,0,5,3" FontSize="14">
<Hyperlink x:Name="linkPdfExport" TargetName="_NewWindow" Foreground="#FF2B508B" RequestNavigate="LinkPdfExport_OnRequestNavigate">
<Run Text="Drucken" />
</Hyperlink>
</TextBlock>
</StackPanel>
</Grid>
</GroupBox>

View File

@@ -36,6 +36,7 @@ using AppointmentViewInfoCustomizingEventArgs = DevExpress.Xpf.Scheduler.Appoint
using DevExpress.XtraScheduler;
using System.Collections.ObjectModel;
using DevExpress.Xpf.Scheduler.Drawing;
//using System.Windows.Markup;
namespace BeWo.View.Detail.Report
{
@@ -52,14 +53,17 @@ namespace BeWo.View.Detail.Report
private List<AbsenceReasonDC> _AbsenceReasonDCs;
private List<CompactTeamDC> _TeamDCs;
private Dictionary<long, EmployeeDC> _EmployeeDict;
private List<AbsenceTimeDC> Abwesenheiten;
private AbsenceOverviewFilterDC _SelectedFilter;
public int SelectedMonth;
public int SelectedYear;
public UrlaubsplanerRootDC UrlaubsplanerRootObj { get; set; }
public List<FeiertagDC> Feiertage { get; set; }
public int SelectedMonth { get; set; }
public int SelectedYear { get; set; }
//public List<AbsenceTimeDC> Abwesenheiten { get; set; }
//public List<FeiertagDC> Feiertage { get; set; }
//public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
public AbwesenheitstabelleView()
@@ -71,6 +75,7 @@ namespace BeWo.View.Detail.Report
InitializeScheduler();
linkPdfExport.NavigateUri = BeWoApp.SiteOfOrigin;
linkGiftLeaveday.NavigateUri = BeWoApp.SiteOfOrigin;
_EmployeeDict = new Dictionary<long, EmployeeDC>();
}
@@ -88,8 +93,13 @@ namespace BeWo.View.Detail.Report
SelectedMonth = _MonthPicker.SelectedMonth;
SelectedYear = (int)_YearPicker.SelectedItem;
Feiertage = ServiceFacade.DoOperationsServiceSync(s => s.GetDefaultFeiertageForYear(SelectedYear)).Where(f => f.Datum.Month == SelectedMonth).ToList();
Abwesenheiten = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForMonth(SelectedYear, SelectedMonth));
UrlaubsplanerRootObj = ServiceFacade.DoOperationsServiceSync(s => s.BuildUrlaubsplanerRootObject(SelectedYear, SelectedMonth));
//Feiertage = ServiceFacade.DoOperationsServiceSync(s => s.GetDefaultFeiertageForYear(SelectedYear)).Where(f => f.Datum.Month == SelectedMonth).ToList();
//Abwesenheiten = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllEmployeeAbsenceTimesForMonth(SelectedYear, SelectedMonth));
//GeschenkteUrlaubstage = ServiceFacade.DoEmployeeServiceSync(s => s.GetGeschenkteUrlaubstageForYear(SelectedYear));
UpdateScheduler();
ColorizeFeiertage();
@@ -153,6 +163,40 @@ namespace BeWo.View.Detail.Report
beWoWindow.rootGroupBox.Header = "Drucken";
beWoWindow.ShowDialog();
}
private void LinkGiftLeaveday_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (_EmployeeDict.Count > 0)
{
var employee = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployees());
var control = new UrlaubstagSchenkenView(employee);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Urlaub schenken" },
Height = 350,
MinHeight = 350,
Width = 300,
MinWidth = 300,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
control.ButtonCancelClicked += () =>
{
beWoWindow.Close();
};
control.ButtonConfirmClicked += () =>
{
beWoWindow.Close();
};
beWoWindow.ShowDialog();
}
else
{
System.Windows.MessageBox.Show("Erstellen Sie zuerst die Abwesenheitsübersicht!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private void SchedulerControl_PopupMenuShowing(object sender, SchedulerMenuEventArgs e)
{
@@ -292,7 +336,8 @@ namespace BeWo.View.Detail.Report
Employee = employee,
Month = _MonthPicker.SelectedMonth,
Year = (int)_YearPicker.SelectedItem,
AbsenceTimes = Abwesenheiten.Where(a => a.EmployeeOid == employee.EmployeeOid).ToList()
AbsenceTimes = UrlaubsplanerRootObj.Abwesenheiten.Where(a => a.EmployeeOid == employee.EmployeeOid).ToList(),
GeschenkteUrlaubstage = UrlaubsplanerRootObj.GeschenkteUrlaubstage.Where(u => u.Employee == employee.EmployeeOid).ToList()
};
var resource = _SchedulerStorage.CreateResource(employee.EmployeeOid.Value.ToString());
@@ -350,10 +395,10 @@ namespace BeWo.View.Detail.Report
_SelectedFilter = new AbsenceOverviewFilterDC() { Month = date.Month, Year = date.Year };
if (Feiertage != null)
if (UrlaubsplanerRootObj.Feiertage != null)
{
List<int> feiertageInMonat = new List<int>();
foreach (var tag in Feiertage)
foreach (var tag in UrlaubsplanerRootObj.Feiertage)
{
feiertageInMonat.Add(tag.Datum.Day);
}
@@ -371,8 +416,12 @@ namespace BeWo.View.Detail.Report
private void VerticalHeaderControl_MouseDown(object sender, MouseButtonEventArgs e)
{
var temp = (VerticalHeaderControl)sender;
var c = (VisualResourceHeaderContent)temp.Content;
var info = c.CustomFields["AbwesenheitsInformationDC"]; //Hierin steht das AbwesenheitsInformationDC, aber man kommt nicht dran
}
}
public class MouseHandlerService : MouseHandlerServiceWrapper
@@ -392,6 +441,22 @@ namespace BeWo.View.Detail.Report
}
}
//public class TestConverter : MarkupExtension, IMultiValueConverter
//{
// public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
// {
// return values[0] is DateTime && values[1] is System.Collections.IList ? ((System.Collections.IList)values[1]).Contains(values[0]) : false;
// }
// public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
// {
// throw new NotImplementedException();
// }
// public override object ProvideValue(IServiceProvider serviceProvider)
// {
// return this;
// }
//}
public static class SchedulerHelper
{
public static void OverrideAppointmentWithAbsenceTime(Appointment appointment, AbsenceTimeDC absenceTime)

View File

@@ -28,8 +28,11 @@
<ControlTemplate x:Key="ctrlEmp">
<controls:DPCtrlEmployee Margin="0" Focusable="True" EmployeeInformation="{Binding Value}"/>
</ControlTemplate>
<ControlTemplate x:Key="ctrlSollIst">
<controls:DPCtrlSollIst Margin="0" Focusable="True" SollIstInformation="{Binding Value}"/>
<ControlTemplate x:Key="ctrlSoll">
<controls:DPCtrlSoll Margin="0" Focusable="True" SollInformation="{Binding Value}"/>
</ControlTemplate>
<ControlTemplate x:Key="ctrlIst">
<controls:DPCtrlIst Margin="0" Focusable="True" IstInformation="{Binding Value}"/>
</ControlTemplate>
<ControlTemplate x:Key="ctrlSaldo">
<controls:DPCtrlSaldo Margin="0" Focusable="True" SaldoInformation="{Binding Value}"/>
@@ -235,6 +238,7 @@
</ListBox>
<Button x:Name="Btn_RegelSchichtHinzufuegen" Grid.Column="3" Grid.Row="2" Margin="5 5 0 0" Content="Hinzufügen" Click="Btn_RegelSchichtHinzufuegen_Click"/>
<Button x:Name="Btn_RegelSchichtEntfernen" Grid.Column="2" Grid.Row="2" Margin="0 5 0 0" Content="Löschen" Click="Btn_RegelSchichtEntfernen_Click"/>
<Button x:Name="Btn_ZeileHinzufuegen" Grid.Column="0" Grid.Row="2" Margin="0 5 0 0" HorizontalAlignment="Left" Content="Zeile hinzufügen" Click="Btn_ZeileHinzufuegen_Click"/>
</Grid>
</GroupBox>
</Border>

View File

@@ -47,7 +47,8 @@ namespace BeWo.View.Detail.Report
private List<GridColumn> _ColumnDays;
private GridColumn _ColumnMonth;
private List<GridColumn> _ColumnWeek;
private GridColumn _ColumnSollIst;
private GridColumn _ColumnSoll;
private GridColumn _ColumnIst;
private GridColumn _ColumnSaldo;
private GridColumn _ColumnZeitkonto;
private GridColumn _ColumnUrlaub;
@@ -492,7 +493,8 @@ namespace BeWo.View.Detail.Report
var weekControlTemplate = (ControlTemplate)FindResource("ctrlWeek");
var monthControlTemplate = (ControlTemplate)FindResource("ctrlMonth");
var empControlTemplate = (ControlTemplate)FindResource("ctrlEmp");
var sollIstControlTemplate = (ControlTemplate)FindResource("ctrlSollIst");
var sollControlTemplate = (ControlTemplate)FindResource("ctrlSoll");
var istControlTemplate = (ControlTemplate)FindResource("ctrlIst");
var saldoControlTemplate = (ControlTemplate)FindResource("ctrlSaldo");
var zeitkontoControlTemplate = (ControlTemplate)FindResource("ctrlZeitkonto");
var urlaubKrankheitControlTemplate = (ControlTemplate)FindResource("ctrlUrlaubKrankheit");
@@ -502,7 +504,9 @@ namespace BeWo.View.Detail.Report
_ColumnMonth = NewGridColumnUnbound("Monatsstunden", "month", "MO:", 60, 40, DevExpress.Data.UnboundColumnType.Object, monthControlTemplate, DevExpress.Utils.DefaultBoolean.True);
_ColumnSollIst = NewGridColumnUnbound("Soll/Ist", "sollist", "SI:", 55, 40, DevExpress.Data.UnboundColumnType.Object, sollIstControlTemplate, DevExpress.Utils.DefaultBoolean.True);
_ColumnSoll = NewGridColumnUnbound("Soll", "soll", "SO:", 55, 40, DevExpress.Data.UnboundColumnType.Object, sollControlTemplate, DevExpress.Utils.DefaultBoolean.True);
_ColumnIst = NewGridColumnUnbound("Ist", "ist", "IS:", 55, 40, DevExpress.Data.UnboundColumnType.Object, istControlTemplate, DevExpress.Utils.DefaultBoolean.True);
_ColumnSaldo = NewGridColumnUnbound("Saldo", "saldo", "SA:", 55, 40, DevExpress.Data.UnboundColumnType.Object, saldoControlTemplate, DevExpress.Utils.DefaultBoolean.True);
@@ -529,7 +533,8 @@ namespace BeWo.View.Detail.Report
//Hinzufügen der Spalten Mitarbeiter, einzelne Wochentage und Woche
_GridControl.Columns.Add(_ColumnEmp);
//_GridControl.Columns.Add(_ColumnMonth);
_GridControl.Columns.Add(_ColumnSollIst);
_GridControl.Columns.Add(_ColumnSoll);
_GridControl.Columns.Add(_ColumnIst);
_GridControl.Columns.Add(_ColumnSaldo);
//_GridControl.Columns.Add(_ColumnZeitkonto); // Zeitkonto wieder einblenden
_GridControl.Columns.Add(_ColumnUrlaub);
@@ -600,10 +605,10 @@ namespace BeWo.View.Detail.Report
//_AlleDienstvertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstvertretungenAsList(AuswahlWohnheim.WohnheimOid,
// _AuswahlMonat.Year, _AuswahlMonat.Month));
_DienstplanerRootObj.AlleDienstEintraege = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstEintraegeAsList(AuswahlWohnheim.WohnheimOid,
_AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
_DienstplanerRootObj.AlleDienstvertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstvertretungenAsList(AuswahlWohnheim.WohnheimOid,
_AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
//_DienstplanerRootObj.AlleDienstEintraege = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstEintraegeAsList(AuswahlWohnheim.WohnheimOid,
// _AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
//_DienstplanerRootObj.AlleDienstvertretungen = ServiceFacade.DoOperationsServiceSync(s => s.GetAllDienstvertretungenAsList(AuswahlWohnheim.WohnheimOid,
// _AuswahlMonat.Year, _AuswahlMonat.Month)); //Root
}
private void button_neuerMitarbeiter_Click(object sender, RoutedEventArgs e)
@@ -868,13 +873,15 @@ namespace BeWo.View.Detail.Report
if (_AuswahlWohnheim.EmployeeOids.Contains(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value))
{
//var eintrag = ServiceFacade.DoOperationsServiceSync(s => s.GetDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
// _AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer)); //Zeit sparen durch Root-Objekt
decimal stundenFuerSaldo = 0.0m;
var eintrag = GetDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value,
_AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer);
if (eintrag != null)
{
stundenFuerSaldo += Convert.ToDecimal(eintrag.DauerInStunden);
var oldDienst = TryGetDienst(_AuswahlDienstZeileDC, _AuswahlTag); //abc
ServiceFacade.DoOperationsServiceSync(x => x.DeleteDienstEintrag(_AuswahlDienstZeileDC.Employee.EmployeeOid.Value, AuswahlWohnheim.WohnheimOid, _AuswahlDienstZeileDC.Zeile, Pointer));
_AuswahlDienstZeileDC.RemoveDienst(_AuswahlTag);
@@ -907,7 +914,7 @@ namespace BeWo.View.Detail.Report
if (item.Employee.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid)
{
item.Ist += Convert.ToDecimal(newEintrag.DauerInStunden);
item.Saldo += Convert.ToDecimal(newEintrag.DauerInStunden);
item.Saldo += (stundenFuerSaldo == 0.0m) ? Convert.ToDecimal(newEintrag.DauerInStunden) : Convert.ToDecimal(newEintrag.DauerInStunden) - stundenFuerSaldo;
}
}
}
@@ -993,6 +1000,20 @@ namespace BeWo.View.Detail.Report
if (e.IsGetData)
{
var selZeile = _GridControl.GetRowByListIndex(e.ListSourceRowIndex) as DienstZeileDC;
bool isLastRow = false;
if (selZeile.DienstDict != null)
{
var rowsForEmployee = new List<DienstZeileDC>();
foreach (var zeile in _DienstplanerRootObj.DienstZeilenListe)
{
if (zeile.Employee == selZeile.Employee)
rowsForEmployee.Add(zeile);
}
if (rowsForEmployee.Count > 0)
isLastRow = rowsForEmployee[rowsForEmployee.Count - 1] == selZeile ? true : false;
}
DienstplanerMonthlySummaryDC summary = new DienstplanerMonthlySummaryDC();
foreach (var summ in _DienstplanerRootObj.MonatsZusammenfassung)
{
@@ -1065,7 +1086,7 @@ namespace BeWo.View.Detail.Report
e.Value = new DPCtrlDayInformation
{
DienstInfoDC = TryGetDienst(selZeile, pos), //abc
IsLastRow = selZeile.Zeile == 2,
IsLastRow = isLastRow,
DayOfWeek = date.DayOfWeek,
IsLastColumn = pos == DateTime.DaysInMonth(AuswahlMonat.Year, AuswahlMonat.Month),
IsInContractRange = GetContract(selZeile, pos) != null, //abc
@@ -1113,10 +1134,10 @@ namespace BeWo.View.Detail.Report
pos = int.Parse(e.Column.FieldName.Remove(e.Column.FieldName.Length - 1));
//e.Value = selZeile.Zeile == 2 ? _DienstEintragListe.FindAll(x => x.Employee == selZeile.Employee).SelectMany(y => y.GetDienstWoche(pos)).ToList() : null;
if (selZeile.Zeile == 2)
if (selZeile.Zeile == 0 && selZeile.StatusListe == null)
{
var eintraegeFuerMitarbeiter = selZeile.Zeile == 2 ? _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
var vertretungenFuerMitarbeiter = selZeile.Zeile == 2 ? _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
var eintraegeFuerMitarbeiter = selZeile.Zeile == 0 ? _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
var vertretungenFuerMitarbeiter = selZeile.Zeile == 0 ? _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList() : null;
var eintraegeEinerWoche = eintraegeFuerMitarbeiter != null ? GetEintraegeEinerWoche(eintraegeFuerMitarbeiter, pos) : null;
var vertretungenEinerWoche = vertretungenFuerMitarbeiter != null ? GetVertretungenEinerWoche(vertretungenFuerMitarbeiter, pos) : null;
@@ -1136,7 +1157,8 @@ namespace BeWo.View.Detail.Report
{
Hours = stundenWoche,
Statuszeile = selZeile.DienstDict == null,
Row = selZeile.Zeile
Row = selZeile.Zeile,
IsLastRow = isLastRow
};
}
else
@@ -1145,7 +1167,8 @@ namespace BeWo.View.Detail.Report
{
Hours = new List<double>(),
Statuszeile = selZeile.DienstDict == null,
Row = selZeile.Zeile
Row = selZeile.Zeile,
IsLastRow = isLastRow
};
}
@@ -1155,7 +1178,8 @@ namespace BeWo.View.Detail.Report
{
Employee = selZeile.Employee,
Contracts = selZeile.Contracts,
Row = selZeile.Zeile
Row = selZeile.Zeile,
IsLastRow = isLastRow
};
return;
@@ -1186,8 +1210,29 @@ namespace BeWo.View.Detail.Report
return;
case "SI":
case "SO":
if(selZeile.StatusListe == null)
{
e.Value = new DPCtrlSollInformation
{
Row = selZeile.Zeile,
Statuszeile = selZeile.DienstDict == null,
SollWert = summary.Soll,
IsLastRow = isLastRow
};
}
else
{
e.Value = new DPCtrlSollInformation
{
Row = selZeile.Zeile,
Statuszeile = selZeile.DienstDict == null
};
}
return;
case "IS":
if (selZeile.StatusListe == null)
{
var eintraegeFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstEintraege.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
var vertretungenFuerMitarbeiterMonat = _DienstplanerRootObj.AlleDienstvertretungen.FindAll(x => x.EmployeeOid == selZeile.Employee.EmployeeOid).ToList();
@@ -1204,21 +1249,20 @@ namespace BeWo.View.Detail.Report
stunden += Convert.ToDecimal(vertretung.DauerInStunden);
}
e.Value = new DPCtrlSollIstInformation
e.Value = new DPCtrlIstInformation
{
Row = selZeile.Zeile,
Statuszeile = selZeile.DienstDict == null,
IstWert = stunden,
SollWert = summary.Soll
IsLastRow = isLastRow
};
}
else
{
e.Value = new DPCtrlSollIstInformation
e.Value = new DPCtrlIstInformation
{
Row = selZeile.Zeile,
Statuszeile = selZeile.DienstDict == null
Statuszeile = selZeile.DienstDict == null,
};
}
@@ -1239,7 +1283,8 @@ namespace BeWo.View.Detail.Report
{
Row = selZeile.Zeile,
Statuszeile = selZeile.DienstDict == null,
SaldoWert = summaryForSaldo.Saldo
SaldoWert = summaryForSaldo.Saldo,
IsLastRow = isLastRow
};
}
else
@@ -1287,7 +1332,8 @@ namespace BeWo.View.Detail.Report
Row = selZeile.Zeile,
SpalteFuerUrlaub = true,
Statuszeile = selZeile.DienstDict == null,
SummeTage = summary.TageUrlaub
SummeTage = summary.TageUrlaub,
IsLastRow = isLastRow
};
return;
case "KR":
@@ -1296,7 +1342,8 @@ namespace BeWo.View.Detail.Report
Row = selZeile.Zeile,
SpalteFuerUrlaub = false,
Statuszeile = selZeile.DienstDict == null,
SummeTage = summary.TageKrank
SummeTage = summary.TageKrank,
IsLastRow = isLastRow
};
return;
}
@@ -1371,29 +1418,10 @@ namespace BeWo.View.Detail.Report
private void RefreshDienste()
{
//_DienstDCListe = ServiceFacade.DoOperationsServiceSync(x => x.GetDienstEintraege(AuswahlWohnheim.WohnheimOid, AuswahlMonat.Year, AuswahlMonat.Month)); //Dem Wohnheim zugeordnete Mitarbeiter mit ihren Diensten
//_DienstplanerRootObj.DienstDCListe = ServiceFacade.DoOperationsServiceSync(x =>
//x.GetDienstEintraege(AuswahlWohnheim.WohnheimOid, AuswahlMonat.Year, AuswahlMonat.Month)); //Root
//var vertretungen = ServiceFacade.DoOperationsServiceSync(x => x.GetDienstvertretungen(AuswahlWohnheim.WohnheimOid, AuswahlMonat.Year, AuswahlMonat.Month));
//_DienstDCListe.AddRange(vertretungen);
//_DienstplanerRootObj.DienstDCListe.AddRange(ServiceFacade.DoOperationsServiceSync(x =>
// x.GetDienstvertretungen(AuswahlWohnheim.WohnheimOid, AuswahlMonat.Year, AuswahlMonat.Month))); //Root
//_DienstplanerRootObj.DienstDCListe = _DienstplanerRootObj.DienstDCListe.OrderBy(d => d.Employee.LastName).ToList(); //Root
//_DienstDCListe = _DienstDCListe.OrderBy(d => d.Employee.LastName).ToList();
//_AlleDienste = ServiceFacade.DoOperationsServiceSync(x => x.GetAllDienste()); //Verschiedene Schichten zum Zuordnen an Mitarbeiter
//_AlleDienste = _AlleDienste.OrderBy(d => d.Start).ToList();
//_AlleDienste.Insert(0, DienstInfoDC.Platzhalter); // Leere Schicht zum Löschen von Einträgen im Dienstplan
//_DienstEintragListe.AddRange(_DienstDCListe
// .SelectMany(x => Init(x, _AlleDienste, RefreshGrid, AuswahlMonat)) //Erstellen der 3 Zeilen pro Mitarbeiter
// .ToList());
_DienstplanerRootObj.DienstZeilenListe.AddRange(_DienstplanerRootObj.DienstDCListe //Root
.SelectMany(x => Init(x, _DienstplanerRootObj.AlleDienste, RefreshGrid, AuswahlMonat))
.ToList());
//var absence = ServiceFacade.DoOperationsServiceSync(x => x.GetAbsenceTimeVacationByWohnheim(AuswahlWohnheim.WohnheimOid, AuswahlMonat.Year, AuswahlMonat.Month));
var temp = new Dictionary<long, List<AbsenceTimeDC>>();
foreach (var abs in _DienstplanerRootObj.AbsenceTimes)
@@ -1432,17 +1460,31 @@ namespace BeWo.View.Detail.Report
private void _BtnRemoveAllDiensteForMonth_Click(object sender, RoutedEventArgs e)
{
if (System.Windows.MessageBox.Show("Wollen Sie alle Dienste des gewählten Monats entfernen? Dies kann nicht rückgängig gemacht werden.", "BeWoPlaner",
MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
MessageBoxResult result = (System.Windows.MessageBox.Show("Wollen Sie auch die regelmäßigen Dienste des gewählten löschen? Das Löschen kann nicht" +
" rückgängig gemacht werden.", "BeWoPlaner", MessageBoxButton.YesNoCancel, MessageBoxImage.Question));
if (result == MessageBoxResult.Yes)
{
RemoveDiensteForMonth(_AuswahlMonat);
RemoveDiensteForMonth(_AuswahlMonat, true);
}
else if (result == MessageBoxResult.No)
{
RemoveDiensteForMonth(_AuswahlMonat, false);
}
else if (result == MessageBoxResult.Cancel)
return;
}
private void RemoveDiensteForMonth(DateTime auswahlMonat, bool includeRegelmaessigeDienste)
{
_DienstplanerRootObj.AlleDienstEintraege = new List<DienstEintragDC>();
_DienstplanerRootObj.AlleDienstvertretungen = new List<DienstvertretungDC>();
}
private void RemoveDiensteForMonth(DateTime auswahlMonat)
{
ServiceFacade.DoOperationsServiceSync(s => s.RemoveAllDiensteForOneMonth(auswahlMonat));
List<RegelmaessigerDienstDC> rd = new List<RegelmaessigerDienstDC>();
if (includeRegelmaessigeDienste)
{
rd.AddRange(_DienstplanerRootObj.RegelmaessigeDienste);
}
ServiceFacade.DoOperationsServiceSync(s => s.RemoveAllDiensteForOneMonth(auswahlMonat, rd));
InitGridControl(true);
}
@@ -1481,6 +1523,51 @@ namespace BeWo.View.Detail.Report
routine_listbox_dienste.ItemsSource = t;
}
private void Btn_ZeileHinzufuegen_Click(object sender, RoutedEventArgs e)
{
var emp = _AuswahlDienstZeileDC.Employee;
for (int i = 0; i < _DienstplanerRootObj.DienstZeilenListe.Count; i++)
{
var zeile = _DienstplanerRootObj.DienstZeilenListe[i];
if (i < _DienstplanerRootObj.DienstZeilenListe.Count - 1)
{
if (zeile.Employee == emp && _DienstplanerRootObj.DienstZeilenListe[i + 1].Employee != zeile.Employee && zeile.Zeile + 1 <= 2) //Letzte Zeile des ausgewählten Mitarbeiters
{
_DienstplanerRootObj.DienstZeilenListe.Insert(i + 1,
new DienstZeileDC()
{
Contracts = zeile.Contracts,
Date = zeile.Date,
DienstDict = new Dictionary<int, DienstInfoDC>(),
Employee = zeile.Employee,
StatusListe = null,
Zeile = zeile.Zeile + 1
});
RefreshGrid();
break;
}
}
else
{
if (zeile.Employee == emp && zeile.Zeile + 1 <= 2) //Letzte Zeile des Grids
{
_DienstplanerRootObj.DienstZeilenListe.Add(new DienstZeileDC()
{
Contracts = zeile.Contracts,
Date = zeile.Date,
DienstDict = new Dictionary<int, DienstInfoDC>(),
Employee = zeile.Employee,
StatusListe = null,
Zeile = zeile.Zeile + 1
});
RefreshGrid();
break;
}
}
}
popUp_RightClickEmployee.IsOpen = false;
}
private void routine_button_save_Click(object sender, RoutedEventArgs e)
{
if (routine_combobox_weekdays.SelectedItem == null || routine_listbox_dienste.SelectedItem == null)
@@ -1579,14 +1666,22 @@ namespace BeWo.View.Detail.Report
break;
}
}
//foreach (var tag in _DienstplanerRootObj.Feiertage)
//{
// if (tag.Datum.Date == date.Date)
// {
// eintragFuerDatumExistiert = true;
// break;
// }
//}
foreach (var tag in _DienstplanerRootObj.Feiertage)
{
if (tag.Datum.Date == date.Date)
{
eintragFuerDatumExistiert = true;
break;
}
}
foreach (var abwesenheit in _DienstplanerRootObj.AbsenceTimes.Where(a => a.EmployeeOid == dc.EmployeeOid))
{
if (abwesenheit.AbsenceSpan.ContainsDate(date))
{
eintragFuerDatumExistiert = true;
break;
}
}
if (!eintragFuerDatumExistiert)
{
@@ -1671,7 +1766,8 @@ namespace BeWo.View.Detail.Report
}
private void popUp_RightClickEmployee_Opened(object sender, EventArgs e)
{
var t = _DienstplanerRootObj.RegelmaessigeDienste.Where(r => r.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid).ToList();
var t = _DienstplanerRootObj.RegelmaessigeDienste.Where(r => r.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid &&
r.WohnheimOid == _AuswahlWohnheim.WohnheimOid).ToList();
listbox_regelmaessige_dienste.ItemsSource = t;
}
@@ -1764,16 +1860,19 @@ namespace BeWo.View.Detail.Report
{
var zeileDC = eintragDC.DienstDictArray[i];
var newDic = new Dictionary<int, DienstInfoDC>();
if(zeileDC.Count > 0 || i == 0)
{
var newDic = new Dictionary<int, DienstInfoDC>();
if (zeileDC != null)
newDic = zeileDC.ToDictionary(k => k.Key, v => dienste.Find(x => x.Oid == v.Value));
if (zeileDC != null)
newDic = zeileDC.ToDictionary(k => k.Key, v => dienste.Find(x => x.Oid == v.Value));
var toAdd = new DienstZeileDC(eintragDC.Employee, eintragDC.Contracts, i, date, newDic);
var toAdd = new DienstZeileDC(eintragDC.Employee, eintragDC.Contracts, i, date, newDic);
toAdd.DienstDictUpdated += dienstDictUpdate;
toAdd.DienstDictUpdated += dienstDictUpdate;
res.Add(toAdd);
res.Add(toAdd);
}
}

View File

@@ -0,0 +1,43 @@
<localView:BeWoView x:Class="BeWo.View.Detail.UrlaubstagSchenkenView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="0 5 0 0" Content="Anzahl Tage:"/>
<dxe:SpinEdit x:Name="spinEdit_AnzahlTage" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="0" MinValue="0.5" MaxValue="35" Value="1" Margin="0 5 5 0" MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Increment="0.5"/>
<Label Grid.Column="0" Grid.Row="1" Margin="0 5 0 0" Content="Erläuterung:" />
<dxe:TextEdit x:Name="textedit_erlaeuterung" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1" Margin="0 5 5 0"/>
<CheckBox x:Name="checkbox_FuerAlleMitarbeiter" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3" Margin="5 10 0 5" Content="Für alle Mitarbeiter" Checked="Checkbox_FuerAlleMitarbeiter_Checked" Unchecked="Checkbox_FuerAlleMitarbeiter_Unchecked" />
<dxg:GridControl x:Name="EmployeeSelectionGrid" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Margin="5" SelectionMode="MultipleRow">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Name des Mitarbeiters" FieldName="LastNameFirstName" Width="*" AllowEditing="False"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="EmployeeSelectionGridView"/>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Bottom" Orientation="Horizontal">
<Button x:Name="Btn_Abbrechen" Content="Abbrechen" Click="Btn_Abbrechen_Click" />
<Button x:Name="Btn_Bestaetigen" Content="Bestätigen" Margin="5" Click="Btn_Bestaetigen_Click" />
</StackPanel>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,154 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using BeWo.Controls;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.View.Search;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BeWo.Core.Service;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;
using DevExpress.Xpf.Grid;
using System.Windows.Media.Imaging;
using DevExpress.Utils;
namespace BeWo.View.Detail
{
public partial class UrlaubstagSchenkenView
{
private List<EmployeeDC> _EmployeeList { get; set; }
public event Action ButtonConfirmClicked;
public event Action ButtonCancelClicked;
public List<EmployeeDC> MitarbeiterAktualisiert { get; set; }
public UrlaubstagSchenkenView(List<EmployeeDC> _EmployeeList)
{
InitializeComponent();
//_EmployeeList = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveEmployees());
EmployeeSelectionGrid.ItemsSource = _EmployeeList;
}
private void Btn_Abbrechen_Click(object sender, RoutedEventArgs e)
{
ButtonCancelClicked?.Invoke();
}
private void Btn_Bestaetigen_Click(object sender, RoutedEventArgs e)
{
List<GeschenkterUrlaubstagDC> geschenkteUrlaubstage = new List<GeschenkterUrlaubstagDC>();
decimal anzahlTage = Convert.ToDecimal(spinEdit_AnzahlTage.Text);
if (checkbox_FuerAlleMitarbeiter.IsChecked != null)
{
if ((bool)checkbox_FuerAlleMitarbeiter.IsChecked == false)
{
var selected = EmployeeSelectionGrid.SelectedItems;
if (selected != null)
{
if (selected.Count > 0)
{
foreach (var item in selected)
{
var emp = (EmployeeDC)item;
var oid = emp.EmployeeOid;
var urlaubstag = new GeschenkterUrlaubstagDC()
{
AnzahlTage = anzahlTage,
Date = DateTime.Now.Date,
Employee = (long)oid,
GeschenkterUrlaubstagNotice = textedit_erlaeuterung.Text
};
geschenkteUrlaubstage.Add(urlaubstag);
}
}
else
{
MessageBox.Show("Es muss mindestens ein Mitarbeiter ausgewählt werden!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
}
else
{
MessageBox.Show("Es muss mindestens ein Mitarbeiter ausgewählt werden!", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
}
else
{
foreach (var item in _EmployeeList)
{
var oid = item.EmployeeOid;
var urlaubstag = new GeschenkterUrlaubstagDC()
{
AnzahlTage = anzahlTage,
Date = DateTime.Now.Date,
Employee = (long)oid,
GeschenkterUrlaubstagNotice = textedit_erlaeuterung.Text
};
geschenkteUrlaubstage.Add(urlaubstag);
}
}
}
ServiceFacade.DoEmployeeServiceSync(s => s.InsertMultipleGeschenkteUrlaubstage(geschenkteUrlaubstage));
ButtonConfirmClicked?.Invoke();
}
private void Checkbox_FuerAlleMitarbeiter_Checked(object sender, RoutedEventArgs e)
{
EmployeeSelectionGrid.Visibility = Visibility.Collapsed;
}
private void Checkbox_FuerAlleMitarbeiter_Unchecked(object sender, RoutedEventArgs e)
{
EmployeeSelectionGrid.Visibility = Visibility.Visible;
}
private ContractDC GetLastContract(List<ContractDC> contracts)
{
DateTime maxDate = DateTime.MinValue;
ContractDC lastContract = null;
if (contracts != null)
{
foreach (ContractDC c in contracts)
{
if (!c.ContractEndDate.HasValue)
{
lastContract = c;
maxDate = DateTime.MaxValue;
}
else if (c.ContractEndDate.Value > maxDate)
{
maxDate = c.ContractEndDate.Value;
lastContract = c;
}
}
}
return lastContract;
}
}
}

View File

@@ -8,6 +8,7 @@ using BS.Shared.Extensions;
using System.Collections.Generic;
using BS.Shared.Core;
using System.Windows;
namespace BeWo.ViewModel
{
@@ -49,6 +50,22 @@ namespace BeWo.ViewModel
private String _Notice;
private EmploymentTypeDC _EmploymentType;
private Visibility _EmploymentTypeLeaveDaysVisibility;
private Visibility _LeaveDaysVisibility;
public Visibility EmploymentTypeLeaveDaysVisibility
{
get { return _EmploymentTypeLeaveDaysVisibility; }
set { _EmploymentTypeLeaveDaysVisibility = value; }
}
public Visibility LeaveDaysVisibility
{
get { return _LeaveDaysVisibility; }
set { _LeaveDaysVisibility = value; }
}
private IList<ValueListEntryDC> _AllContractTypes;
private IList<CostRatePeriodDC> _AllHourlyRateCostRatePeriods;

View File

@@ -148,7 +148,9 @@ namespace BeWo.ViewModel
private ObservableSortCollection<ValueListEntryDC> _Nationalitaeten;
private ObservableSortCollection<ValueListEntryDC> _EintragKategorien;
public EmployeeVM(
private bool _SpinEditEnabled;
public EmployeeVM(
EmployeeDC pEmployeeDC, IList<EmploymentTypeDC> pPossibleTypes, IEnumerable<ValueListEntryDC> pValueList, IEnumerable<ValueListEntryDC> pPossibleQualifications,
IEnumerable<ValueListEntryDC> pPossibleFocusTypes, IEnumerable<AuszahlungsartDC> pPossibleAuszahlungsarten, List<ValueListEntryDC> allContractTypes, List<CostRatePeriodDC> allHourlyRateCostRatePeriods, List<ValueListEntryDC> eintragKategorien)
: base(pEmployeeDC, pEmployeeDC.EmployeeOid == null)
@@ -179,6 +181,15 @@ namespace BeWo.ViewModel
_EintragKategorien = new ObservableSortCollection<ValueListEntryDC>(eintragKategorien);
}
public bool SpinEditEnabled
{
get { return _SpinEditEnabled; }
set
{
_SpinEditEnabled = value;
}
}
public List<SolidColorBrush> AllBrushes
{
get

View File

@@ -9,8 +9,10 @@ namespace BeWo.ViewModel
public class EmploymentTypeVM : AbstractDCMapperVM<EmploymentTypeDC>
{
public static string PropertyName_Name = "Name";
public static string PropertyName_LeaveDays = "LeaveDays";
private string _Name;
private decimal? _LeaveDays;
public EmploymentTypeVM(EmploymentTypeDC pDC) : base(pDC, pDC.EmploymentTypeOid == null)
{
@@ -31,7 +33,20 @@ namespace BeWo.ViewModel
}
}
}
public decimal? LeaveDays
{
get { return this._LeaveDays; }
set
{
if (this.AreDifferent(this._LeaveDays, value))
{
this._LeaveDays = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.LeaveDays, value), PropertyName_LeaveDays);
this.FirePropertyChanged(PropertyName_LeaveDays);
}
}
}
protected override void InitByDataContract(EmploymentTypeDC pDataContract)
@@ -39,12 +54,14 @@ namespace BeWo.ViewModel
if (!this.IsNew)
{
this._Name = pDataContract.Name;
this._LeaveDays = pDataContract.LeaveDays;
}
}
protected override EmploymentTypeDC MapToDataContract(EmploymentTypeDC pDataContract, bool doCommit)
{
pDataContract.Name = this._Name;
pDataContract.LeaveDays = this._LeaveDays;
return pDataContract;
}
}

View File

@@ -0,0 +1,95 @@
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ViewModel
{
public class GeschenkterUrlaubstagVM : AbstractDCMapperVM<GeschenkterUrlaubstagDC>
{
public static string PropertyName_Employee = "Employee";
public static string PropertyName_Date = "Date";
public static string PropertyName_AnzahlTage = "AnzahlTage";
private long _Employee;
private DateTime _Date;
private decimal _AnzahlTage;
private EmployeeVM _EmployeeObj;
public GeschenkterUrlaubstagVM(GeschenkterUrlaubstagDC pDC) : base(pDC, pDC.GeschenkterUrlaubstagOid == null)
{
}
public long Employee
{
get { return this._Employee; }
set
{
if (this.AreDifferent(this._Employee, value))
{
this._Employee = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Employee, value), PropertyName_Employee);
this.FirePropertyChanged(PropertyName_Employee);
}
}
}
public DateTime Date
{
get { return this._Date; }
set
{
if (this.AreDifferent(this._Date, value))
{
this._Date = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Date, value), PropertyName_Date);
this.FirePropertyChanged(PropertyName_Date);
}
}
}
public decimal AnzahlTage
{
get { return this._AnzahlTage; }
set
{
if (this.AreDifferent(this._AnzahlTage, value))
{
this._AnzahlTage = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AnzahlTage, value), PropertyName_AnzahlTage);
this.FirePropertyChanged(PropertyName_AnzahlTage);
}
}
}
public EmployeeVM EmployeeObj
{
get { return _EmployeeObj; }
set
{
if (this.AreDifferent(this._EmployeeObj, value))
this._EmployeeObj = value;
}
}
protected override void InitByDataContract(GeschenkterUrlaubstagDC pDataContract)
{
if (!this.IsNew)
{
this._Employee = pDataContract.Employee;
this._Date = pDataContract.Date;
this._AnzahlTage= pDataContract.AnzahlTage;
}
}
protected override GeschenkterUrlaubstagDC MapToDataContract(GeschenkterUrlaubstagDC pDataContract, bool doCommit)
{
pDataContract.Employee = this._Employee;
pDataContract.Date = this._Date;
pDataContract.AnzahlTage = this._AnzahlTage;
return pDataContract;
}
}
}

View File

@@ -4496,5 +4496,23 @@ namespace BeWo.Data.Access
return c.List<ServiceRecord>().ToList();
}
public IList<GeschenkterUrlaubstag> FindGeschenkteUrlaubstageByEmpOid(long empOid)
{
var criteria = CreateCriteriaIsActive<GeschenkterUrlaubstag>()
.Add(Restrictions.Eq("Employee", empOid));
return criteria.List<GeschenkterUrlaubstag>();
}
public IList<GeschenkterUrlaubstag> FindGeschenkteUrlaubstageByYear(int year)
{
DateTime start = new DateTime(year, 1, 1).AddTicks(-1);
DateTime end = new DateTime(year, 12, 31).AddDays(1).AddTicks(-1);
var criteria = CreateCriteriaIsActive<GeschenkterUrlaubstag>()
.Add(Restrictions.Between("Date", start, end));
return criteria.List<GeschenkterUrlaubstag>();
}
}
}

View File

@@ -201,6 +201,7 @@
<Compile Include="Entities\ConfirmationReceiptSignature.cs" />
<Compile Include="Entities\Dienstvertretung.cs" />
<Compile Include="Entities\Dokumentvorlage.cs" />
<Compile Include="Entities\GeschenkterUrlaubstag.cs" />
<Compile Include="Entities\GoalRating.cs" />
<Compile Include="Entities\Quittierungsbelegsstatus.cs" />
<Compile Include="Entities\Rating.cs" />
@@ -703,6 +704,7 @@
<EmbeddedResource Include="Mappings\Quittierungsbelegsstatus.hbm.xml" />
<EmbeddedResource Include="Mappings\Dienstvertretung.hbm.xml" />
<EmbeddedResource Include="Mappings\RegelmaessigerDienst.hbm.xml" />
<EmbeddedResource Include="Mappings\GeschenkterUrlaubstag.hbm.xml" />
<Content Include="Mappings\Timesheet2Mail.hbm.xml" />
<EmbeddedResource Include="Mappings\ContactHistory.hbm.xml">
<SubType>Designer</SubType>

View File

@@ -8,9 +8,11 @@ namespace BeWo.Data.Entities
{
public static string PropertyName_Name = "Name";
public static string PropertyName_LeaveDays = "LeaveDays";
private string _Name;
private decimal? _LeaveDays;
public EmploymentType()
@@ -34,7 +36,21 @@ namespace BeWo.Data.Entities
}
}
}
public virtual decimal? LeaveDays
{
get
{
return this._LeaveDays;
}
set
{
if (this.AreDifferent(this._LeaveDays, value))
{
this._LeaveDays = value;
}
}
}
}
}

View File

@@ -0,0 +1,72 @@
using BS.Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Entities
{
public class GeschenkterUrlaubstag : BeWoEntityBase
{
public static string PropertyName_Employee = "Employee";
public static string PropertyName_Date = "Date";
public static string PropertyName_AnzahlTage = "AnzahlTage";
private long _Employee;
private DateTime _Date;
private decimal _AnzahlTage;
public GeschenkterUrlaubstag()
{
this._Tid = TableID.GeschenkterUrlaubstag;
}
public virtual long Employee
{
get
{
return this._Employee;
}
set
{
if (this.AreDifferent(this._Employee, value))
{
this._Employee = value;
}
}
}
public virtual DateTime Date
{
get
{
return this._Date;
}
set
{
if (this.AreDifferent(this._Date, value))
{
this._Date = value;
}
}
}
public virtual decimal AnzahlTage
{
get
{
return this._AnzahlTage;
}
set
{
if (this.AreDifferent(this._AnzahlTage, value))
{
this._AnzahlTage = value;
}
}
}
}
}

View File

@@ -14,6 +14,7 @@
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Name" type="String" name="Name" />
<property column="LeaveDays" type="Decimal" name="LeaveDays" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.GeschenkterUrlaubstag,BeWo.Data" table="GeschenkterUrlaubstag">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Employee" type="Int64" name="Employee" />
<property column="Date" type="DateTime" name="Date" />
<property column="AnzahlTage" type="Decimal" name="AnzahlTage" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,2 @@
ALTER TABLE `bewodemo`.`employmenttype`
ADD COLUMN `Workdays` INT NULL DEFAULT NULL AFTER `Name`;

View File

@@ -0,0 +1,2 @@
ALTER TABLE `bewodemo`.`employmenttype`
CHANGE COLUMN `Workdays` `Urlaubstage` DECIMAL NULL DEFAULT NULL ;

View File

@@ -0,0 +1,2 @@
ALTER TABLE `bewodemo`.`employmenttype`
CHANGE COLUMN `Urlaubstage` `LeaveDays` DECIMAL(10,0) NULL DEFAULT NULL

View File

@@ -0,0 +1,17 @@
CREATE TABLE `geschenkterUrlaubstag` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Tid` int NOT NULL,
`ObjectOid` bigint DEFAULT NULL,
`ObjectTid` int DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`Employee` bigint DEFAULT NULL,
`Date` datetime DEFAULT NULL,
`AnzahlTage` tinyint DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

View File

@@ -0,0 +1,2 @@
ALTER TABLE `bewodemo`.`geschenkterurlaubstag`
CHANGE COLUMN `AnzahlTage` `AnzahlTage` DECIMAL NULL DEFAULT NULL ;

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" 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>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6AB16005-E552-4619-9E55-D752FCCAC3B0}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AmbulantBetreutesWohnenAstridPulm</RootNamespace>
<AssemblyName>7951718431_Reports</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Host\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuittierungsbelegMitDatum.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QuittierungsbelegMitDatum.Designer.cs">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
</Compile>
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.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">
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\..\Report\Report.csproj">
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\..\Service\Service.csproj">
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
<Name>Service</Name>
</ProjectReference>
<ProjectReference Include="..\..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="QuittierungsbelegMitDatum.resx">
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.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

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("KundeXyz")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KundeXyz")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,135 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace AmbulantBetreutesWohnenAstridPulm
{
public partial class Quittierungsbeleg2 : DevExpress.XtraReports.UI.XtraReport//, IBeWoReport<ServicesOverviewRO>
{
public Quittierungsbeleg2()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
bool hatGruppen = false;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable)
{
//ServicesOverviewRO.CreateSignatureString(sd);
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
hatGruppen = true;
}
servicesBillable.Add(sd);
}
}
pRO.Services = servicesBillable;
}
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
{
lblHatAbwesenheiten.Text = "X";
}
if (!hatGruppen)
{
lblHatGruppen.Text = "X";
}
ErstelleAbwesenheitenTabelle(pRO);
bindingSource1.DataSource = pRO;
}
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
{
if (pRo.Abwesenheiten != null)
{
int newRows = 0;
int index = 1;
foreach (var at in pRo.Abwesenheiten)
{
if (at.AbsenceReason.BillableMinutes.HasValue && at.AbsenceReason.BillableMinutes.Value > 0)
{
DevExpress.XtraReports.UI.XRTableRow row = null;
if (index < xrTableAbwesenheiten.Rows.Count)
{
row = xrTableAbwesenheiten.Rows[index];
}
else
{
row = xrTableAbwesenheiten.InsertRowBelow(
xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
newRows++;
}
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
int? days = null;
if (at.End.HasValue)
{
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
days = (int) at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
}
else
{
row.Cells[1].Text = "unbekannt";
}
row.Cells[2].Text = String.Format("{0:0}", days);
index++;
}
}
if (newRows > 0)
{
lblUnterschriftKlient.Top += newRows * 20;
lblUnterschriftMitarbeiter.Top += newRows * 20;
}
}
}
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
string base64String = xrBox.Tag as string;
if (!String.IsNullOrWhiteSpace(base64String))
{
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);
Image img = ByteArrayToImage(binData);
xrBox.Image = Utils.CropImage(img);
}
else
{
xrBox.Image = null;
}
}
public Image ByteArrayToImage(byte[] byteArrayIn)
{
Image returnImage = null;
MemoryStream ms = new System.IO.MemoryStream(byteArrayIn);
returnImage = Image.FromStream(ms);
return returnImage;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,898 @@
using BeWo.Report.ReportObjects;
namespace AmbulantBetreutesWohnenAstridPulm
{
partial class ServiceInvoiceReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.HeightF = 120F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(313.0832F, 0F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(363.75F, 82.50002F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 90F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7,
this.xrLabel4,
this.xrLabel3,
this.xrLabel2,
this.xrLabel5,
this.xrLabel8,
this.lblAbrechnungszeitraum,
this.xrTable2});
this.Page1.Font = new System.Drawing.Font("Verdana", 10F);
this.Page1.HeightF = 354.0833F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// xrLabel7
//
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel7.Multiline = true;
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 111.5F);
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
"tStreet]\r\n[RecipientPostCodeAndTown]";
//
// xrLabel4
//
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
this.xrLabel4.CanShrink = true;
this.xrLabel4.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 235F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel4.StylePriority.UseBackColor = false;
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "[CustomerReferenceNumber]";
this.xrLabel4.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
this.xrLabel3.CanShrink = true;
this.xrLabel3.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 215F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel3.StylePriority.UseBackColor = false;
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [CustomerSalutation] [CustomerName]";
this.xrLabel3.WordWrap = false;
//
// xrLabel2
//
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 195F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 20F);
this.xrLabel2.StylePriority.UseBackColor = false;
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
this.xrLabel2.WordWrap = false;
//
// xrLabel5
//
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 297.5F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(317F, 17F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "Sehr geehrte Damen und Herren,";
//
// xrLabel8
//
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(362.5F, 172F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(283F, 23F);
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "xrLabel8";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 322.5F);
this.lblAbrechnungszeitraum.Multiline = true;
this.lblAbrechnungszeitraum.Name = "lblAbrechnungszeitraum";
this.lblAbrechnungszeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbrechnungszeitraum.SizeF = new System.Drawing.SizeF(642F, 31.58334F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
this.lblAbrechnungszeitraum.Text = "hiermit berechnen wir für den ... folgende erbrachte Tätigkeiten:";
//
// xrTable2
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(362.5F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow5,
this.xrTableRow4,
this.xrTableRow3,
this.xrTableRow1,
this.xrTableRow6,
this.xrTableRow8});
this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 134F);
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.13245033112582783D;
//
// xrTableCell4
//
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell4.Weight = 1D;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell13});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.13245033112582783D;
//
// xrTableCell13
//
this.xrTableCell13.CanShrink = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.Text = "[SenderContactPerson]";
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell13.Weight = 1D;
//
// xrTableRow4
//
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell11});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.13245033112582783D;
//
// xrTableCell11
//
this.xrTableCell11.CanShrink = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell11.StylePriority.UseFont = false;
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.Text = "[SenderContactPersonDivision]";
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell11.Weight = 1D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell8});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.13245033112582783D;
//
// xrTableCell8
//
this.xrTableCell8.CanShrink = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "[SenderContactPersonMail]";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell8.Weight = 1D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.13245033112582783D;
//
// xrTableCell1
//
this.xrTableCell1.CanShrink = true;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "[SenderContactPersonPhone]";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell1.Weight = 1D;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.11258278145695365D;
//
// xrTableCell2
//
this.xrTableCell2.CanShrink = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "[SenderContactPersonFax]";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell2.Weight = 1D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.11258278145695365D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell5.Weight = 1D;
//
// xrLabel15
//
this.xrLabel15.Font = new System.Drawing.Font("Verdana", 10F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.5833F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
this.xrLabel15.StylePriority.UseFont = false;
this.xrLabel15.Text = "Mit freundlichen Grüßen";
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Verdana", 10F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.75F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10,
this.xrTableRow14});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 26F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell9});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 0.38095238095238093D;
//
// xrTableCell9
//
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.Text = "xrTableCell1";
this.xrTableCell9.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell12});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.23809523809523808D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Weight = 3D;
//
// xrLabel14
//
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.Font = new System.Drawing.Font("Verdana", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 189.5833F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.Text = "[CreatorName]";
//
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.75F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.Text = "Abschließende Bemerkungen:";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport2});
this.DetailReport.DataMember = "ServiceInvoicePeriods";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
//
// xrTable5
//
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow23});
this.xrTable5.SizeF = new System.Drawing.SizeF(677F, 25F);
//
// xrTableRow23
//
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell32,
this.xrTableCell37,
this.xrTableCell35,
this.xrTableCell33,
this.xrTableCell36,
this.xrTableCell38,
this.xrTableCell34});
this.xrTableRow23.Name = "xrTableRow23";
this.xrTableRow23.Weight = 1D;
//
// xrTableCell32
//
this.xrTableCell32.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell32.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell32.StylePriority.UseBackColor = false;
this.xrTableCell32.StylePriority.UseBorderColor = false;
this.xrTableCell32.StylePriority.UseBorders = false;
this.xrTableCell32.StylePriority.UsePadding = false;
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "Zeitraum";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.62463077449375981D;
//
// xrTableCell37
//
this.xrTableCell37.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell37.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell37.StylePriority.UseBackColor = false;
this.xrTableCell37.StylePriority.UseBorderColor = false;
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.Text = "Leistung";
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.85081236260328186D;
//
// xrTableCell35
//
this.xrTableCell35.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell35.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell35.StylePriority.UseBackColor = false;
this.xrTableCell35.StylePriority.UseBorderColor = false;
this.xrTableCell35.StylePriority.UseBorders = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Satz";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.23245943032832414D;
//
// xrTableCell33
//
this.xrTableCell33.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell33.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell33.StylePriority.UseBackColor = false;
this.xrTableCell33.StylePriority.UseBorderColor = false;
this.xrTableCell33.StylePriority.UseBorders = false;
this.xrTableCell33.StylePriority.UsePadding = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Stunden";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell33.Weight = 0.2893277257020575D;
//
// xrTableCell36
//
this.xrTableCell36.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell36.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell36.StylePriority.UseBackColor = false;
this.xrTableCell36.StylePriority.UseBorderColor = false;
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "Betrag";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell36.Weight = 0.26310971709438763D;
//
// xrTableCell38
//
this.xrTableCell38.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell38.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell38.StylePriority.UseBackColor = false;
this.xrTableCell38.StylePriority.UseBorderColor = false;
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UsePadding = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.Text = "pausch Fakt.";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell38.Weight = 0.42042083402151886D;
//
// xrTableCell34
//
this.xrTableCell34.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell34.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell34.StylePriority.UseBackColor = false;
this.xrTableCell34.StylePriority.UseBorderColor = false;
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UsePadding = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "Gesamt";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell34.Weight = 0.31923915575667006D;
//
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail3,
this.GroupFooter1});
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.DetailReport2.DataSource = this.bindingSource1;
this.DetailReport2.Level = 0;
this.DetailReport2.Name = "DetailReport2";
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// Detail3
//
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable6});
this.Detail3.HeightF = 25F;
this.Detail3.Name = "Detail3";
//
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow25});
this.xrTable6.SizeF = new System.Drawing.SizeF(677F, 25F);
this.xrTable6.StylePriority.UseFont = false;
//
// xrTableRow25
//
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell40,
this.xrTableCell42,
this.xrTableCell43,
this.xrTableCell44,
this.xrTableCell45,
this.xrTableCell46,
this.xrTableCell47});
this.xrTableRow25.Name = "xrTableRow25";
this.xrTableRow25.Weight = 1D;
//
// xrTableCell40
//
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Duration")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell40.StylePriority.UseBorderColor = false;
this.xrTableCell40.StylePriority.UseBorders = false;
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell40.Weight = 0.62463084211025488D;
//
// xrTableCell42
//
this.xrTableCell42.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell42.StylePriority.UseBorderColor = false;
this.xrTableCell42.StylePriority.UseBorders = false;
this.xrTableCell42.StylePriority.UsePadding = false;
this.xrTableCell42.StylePriority.UseTextAlignment = false;
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell42.Weight = 0.85081229498678679D;
//
// xrTableCell43
//
this.xrTableCell43.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell43.StylePriority.UseBorderColor = false;
this.xrTableCell43.StylePriority.UseBorders = false;
this.xrTableCell43.StylePriority.UsePadding = false;
this.xrTableCell43.StylePriority.UseTextAlignment = false;
this.xrTableCell43.Text = "xrTableCell43";
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell43.Weight = 0.23245943032832414D;
//
// xrTableCell44
//
this.xrTableCell44.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:0.##}")});
this.xrTableCell44.Name = "xrTableCell44";
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell44.StylePriority.UseBorderColor = false;
this.xrTableCell44.StylePriority.UseBorders = false;
this.xrTableCell44.StylePriority.UsePadding = false;
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.Text = "xrTableCell44";
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell44.Weight = 0.2893277257020575D;
//
// xrTableCell45
//
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount", "{0:0.00}")});
this.xrTableCell45.Name = "xrTableCell45";
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell45.StylePriority.UseBorderColor = false;
this.xrTableCell45.StylePriority.UseBorders = false;
this.xrTableCell45.StylePriority.UsePadding = false;
this.xrTableCell45.StylePriority.UseTextAlignment = false;
this.xrTableCell45.Text = "xrTableCell45";
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell45.Weight = 0.26310971709438763D;
//
// xrTableCell46
//
this.xrTableCell46.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell46.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell46.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.RateFactor")});
this.xrTableCell46.Name = "xrTableCell46";
this.xrTableCell46.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell46.StylePriority.UseBorderColor = false;
this.xrTableCell46.StylePriority.UseBorders = false;
this.xrTableCell46.StylePriority.UsePadding = false;
this.xrTableCell46.StylePriority.UseTextAlignment = false;
this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell46.Weight = 0.42042083402151886D;
//
// xrTableCell47
//
this.xrTableCell47.BorderColor = System.Drawing.Color.DarkGray;
this.xrTableCell47.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
this.xrTableCell47.Name = "xrTableCell47";
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
this.xrTableCell47.StylePriority.UseBorderColor = false;
this.xrTableCell47.StylePriority.UseBorders = false;
this.xrTableCell47.StylePriority.UsePadding = false;
this.xrTableCell47.StylePriority.UseTextAlignment = false;
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell47.Weight = 0.31923915575667006D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.xrLabel15});
this.GroupFooter1.HeightF = 206.5833F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
this.xrLabel1.Font = new System.Drawing.Font("Verdana", 9F, System.Drawing.FontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// ServiceInvoiceReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.Page1,
this.DetailReport});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Verdana", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleRateFactorNull});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 90, 50);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.XRTable xrTable5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.XRTable xrTable6;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
}
}

View File

@@ -0,0 +1,32 @@
using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
namespace AmbulantBetreutesWohnenAstridPulm
{
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public ServiceInvoiceReport()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
if (start.Month == end.Month && start.Year == end.Year)
{
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start);
}
else
{
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
}
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,222 @@
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;
namespace AmbulantBetreutesWohnenAstridPulm
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
bool isDefaultSpitzabrechnung = false;
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
if (pRO.InvoiceItems != null && pRO.InvoiceItems.Count == 1)
{
var ii = pRO.InvoiceItems[0];
if ((ii.ItemDescription == "Spitzabrechung" || ii.ItemDescription == "Spitzabrechnung") && ii.GrossAmountTotal == null && ii.RateFactor == null)
{
isDefaultSpitzabrechnung = true;
}
}
if (!isDefaultSpitzabrechnung)
{
if (pRO.DifferentHourlyRateCount > 0 && pRO.HourlyRateNew.HasValue)
{
isDefaultSpitzabrechnung = true;
}
}
if (isDefaultSpitzabrechnung)
{
//UpdateAbrechnungsFelder(pRO);
pRO.InvoiceItems = CreateDefaultSpitzabrechnungInvoiceItems(pRO);
}
else
{
var id = GetCustomerId(pRO);
if (id == "LWLNEU")
{
pRO.RateFactorText = null;
pRO.RateFactorText2 = null;
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS x {3:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
}
}
}
else
{
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS {3}x {4:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd,
ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ",
ii.AmountPerUnit);
}
}
}
}
this.bindingSource1.DataSource = pRO;
}
private String GetCustomerId(SettlementRO pRO)
{
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
return cb2sc.CostBearer.ID;
}
private IList<InvoiceItemDC> CreateDefaultSpitzabrechnungInvoiceItems(SettlementRO pRO)
{
IList<InvoiceItemDC> itemList = new List<InvoiceItemDC>();
if (pRO.DifferentHourlyRateCount == 3)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString,
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatz3 * pRO.RateFactor * pRO.HourlyRate3
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else if (pRO.DifferentHourlyRateCount == 2)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
return itemList;
}
private void UpdateAbrechnungsFelder(SettlementRO pRO)
{
if (pRO.DifferentHourlyRateCount == 3)
{
//Erbrachte Leistungen (FLS) - bis [HourlyRateOldEndDateString] à [HourlyRateOldString] €
pRO.Abrechnungstext1 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString);
pRO.Abrechnungstext1 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3);
//[AccountingStartDateString] - [HourlyRate3EndDateString] sind [RecordedFLSWithHourlyRate3String] Std. x [HourlyRate3String] € =";
pRO.Betrag1 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatz3 * (decimal)pRO.RateFactor * pRO.HourlyRate3);
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else if (pRO.DifferentHourlyRateCount == 2)
{
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else
{
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -18,6 +18,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.EmploymentTypeVersion = pEntity.Version;
pDataContract.EmploymentTypeOid = pEntity.Oid;
pDataContract.Name = pEntity.Name;
pDataContract.LeaveDays = pEntity.LeaveDays;
return pDataContract;
}
@@ -28,6 +29,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Oid = pDataContract.EmploymentTypeOid;
pEntity.Name = pDataContract.Name;
pEntity.LeaveDays = pDataContract.LeaveDays;
return pEntity;
}

View File

@@ -0,0 +1,49 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.DCEntityMapper
{
public class GeschenkterUrlaubstagDC_GeschenkterUrlaubstag : AbstractIDCEntityMapper<GeschenkterUrlaubstag, GeschenkterUrlaubstagDC>
{
public override GeschenkterUrlaubstagDC MergeWithDC(GeschenkterUrlaubstag pEntity, GeschenkterUrlaubstagDC pDataContract)
{
pDataContract.GeschenkterUrlaubstagVersion = pEntity.Version;
pDataContract.GeschenkterUrlaubstagOid = pEntity.Oid;
pDataContract.GeschenkterUrlaubstagNotice = pEntity.Notice;
pDataContract.Employee = pEntity.Employee;
pDataContract.Date = pEntity.Date;
pDataContract.AnzahlTage = pEntity.AnzahlTage;
return pDataContract;
}
public override GeschenkterUrlaubstag MergeWithEntity(GeschenkterUrlaubstagDC pDataContract, GeschenkterUrlaubstag pEntity)
{
this.ConcurrencyCheck(pDataContract.GeschenkterUrlaubstagVersion, pEntity);
pEntity.Oid = pDataContract.GeschenkterUrlaubstagOid;
pEntity.Version = pDataContract.GeschenkterUrlaubstagVersion;
pEntity.Notice = pDataContract.GeschenkterUrlaubstagNotice;
pEntity.Employee = pDataContract.Employee;
pEntity.Date = pDataContract.Date;
pEntity.AnzahlTage = pDataContract.AnzahlTage;
return pEntity;
}
protected override bool AreDCAndEntityEqual(GeschenkterUrlaubstagDC pDC, GeschenkterUrlaubstag pEntity)
{
if (pDC.GeschenkterUrlaubstagOid == null)
{
return false;
}
return pDC.GeschenkterUrlaubstagOid == pEntity.Oid;
}
}
}

View File

@@ -282,6 +282,8 @@ namespace BeWo.Service.DCEntityMapper
private static VorlagentabelleDC_Vorlagentabelle _VorlagentabelleDC_Vorlagentabelle;
private static GeschenkterUrlaubstagDC_GeschenkterUrlaubstag _GeschenkterUrlaubstagDC_GeschenkterUrlaubstag;
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
@@ -708,5 +710,8 @@ namespace BeWo.Service.DCEntityMapper
public static VorlagentabelleDC_Vorlagentabelle VorlagentabelleDC_Vorlagentabelle =>
_VorlagentabelleDC_Vorlagentabelle ?? (_VorlagentabelleDC_Vorlagentabelle = new VorlagentabelleDC_Vorlagentabelle());
public static GeschenkterUrlaubstagDC_GeschenkterUrlaubstag GeschenkterUrlaubstagDC_GeschenkterUrlaubstag =>
_GeschenkterUrlaubstagDC_GeschenkterUrlaubstag ?? (_GeschenkterUrlaubstagDC_GeschenkterUrlaubstag = new GeschenkterUrlaubstagDC_GeschenkterUrlaubstag());
}
}

View File

@@ -321,8 +321,18 @@ namespace BeWo.Service.Dienstplanung
DAOFactory.GenericDAO.Delete(toDelete[i]);
}
}
public static void RemoveAllDiensteForOneMonth(DateTime month)
public static void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd)
{
if (rd.Count > 0)
{
List<RegelmaessigerDienst> entities = new List<RegelmaessigerDienst>();
foreach (var dienst in rd)
{
entities.Add(DAOFactory.GenericDAO.GetByID<RegelmaessigerDienst>((long)dienst.Oid));
}
DAOFactory.GenericDAO.Delete(entities);
}
var alleDienste = DAOFactory.GenericDAO.GetAll<DienstEintrag>();
var alleVertretungen = DAOFactory.GenericDAO.GetAll<Dienstvertretung>();
foreach (var dienst in alleDienste)

View File

@@ -271,12 +271,13 @@ namespace BeWo.Service.Plugins
//t = "8242644560"; // Bewolonia - Fr. Sultan Schulz
//t = "4817284046"; // Verein für Sozialmedizin Stade e.V.
//t = "6323001211"; // ASB Faßbacher Hof gGmbH
//t = "9389386079"; // VARO Sozialagentur
t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
//t = "5850903700"; // Alzey Teilhabe
//t = "5929601293"; // Lebenshilfe Duisburg ATZ
//t = "4823067940"; // Die Kette 2
//t = "8283849714"; // Forum e.V. (proviel GmbH)
//t = "9389386079"; // VARO Sozialagentur
//t = "demo";
return t;

View File

@@ -208,6 +208,9 @@ namespace BeWo.Service.Plugins
//(!x.End.HasValue || x.End.Value.Year >= year)
.OrderBy(x => x.Start);
var empService = new ServiceImplementations.EmployeeServiceImp();
var geschenkteUrlaubstage = empService.GetGeschenkteUrlaubstageForEmployee((long)emp.Oid);
// Startzeitpunkt für Berechnung berechnen
var firstContractYear = emp.Contracts?.Min(x => x.EntryDate)?.Year ?? int.MaxValue;
var firstAbsenceTimeYear = absences.Min(x => x.Start)?.Year ?? int.MaxValue;
@@ -231,8 +234,18 @@ namespace BeWo.Service.Plugins
if (konten.ContainsKey(i))
{
var tmp = konten[i];
decimal anzGeschenkteTage = 0.0m;
tmp.Urlaubsanspruch += contract.LeaveDays ?? 0;
if (geschenkteUrlaubstage != null)
{
foreach (var item in geschenkteUrlaubstage)
{
if (item.Date.Year == i)
anzGeschenkteTage += item.AnzahlTage;
}
}
tmp.Urlaubsanspruch += contract.LeaveDays + anzGeschenkteTage ?? 0;
tmp.Resturlaub = tmp.Urlaubsanspruch;
}
}
@@ -336,4 +349,4 @@ namespace BeWo.Service.Plugins
return 0;
}
}
}
}

View File

@@ -231,6 +231,7 @@
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
<Compile Include="DCEntityMapper\DienstvertretungDC_Dienstvertretung.cs" />
<Compile Include="DCEntityMapper\DokumentvorlageDC_Dokumentvorlage.cs" />
<Compile Include="DCEntityMapper\GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.cs" />
<Compile Include="DCEntityMapper\QuittierungsbelegsstatusDC_Quittierungsbelegsstatus.cs" />
<Compile Include="DCEntityMapper\RatingTypeDC_RatingType.cs" />
<Compile Include="DCEntityMapper\GoalRatingDC_GoalRating.cs" />

View File

@@ -86,6 +86,10 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<EmploymentTypeDC> GetAllEmploymentTypes();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
EmploymentTypeDC GetEmploymentType(long oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<long> InsertNewEmploymentTypes(List<EmploymentTypeDC> pEntries);
@@ -415,5 +419,33 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactCustomerDC> GetActiveCustomersForEmployee(long? employeeOid, CustomerFilterEnum customerFilter);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
decimal CalculateUrlaubstage(DateTime entryDate, int anzahlArbeitstage, int restlicheTageImJahr, decimal? urlaubstageProJahr);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForEmployee(long empOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForYear(int year);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertMultipleGeschenkteUrlaubstage(List<GeschenkterUrlaubstagDC> dcs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc);
}
}

View File

@@ -1135,7 +1135,7 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void RemoveAllDiensteForOneMonth(DateTime month);
void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
@@ -1172,5 +1172,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<RatingTypeDC> GetRatingTypesByOids(List<long> ratingTypeOids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month);
}
}

View File

@@ -333,6 +333,17 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public EmploymentTypeDC GetEmploymentType(long oid)
{
try
{
return MapperFactory.EmploymentTypeDC_EmploymentType.MapToNewDC(DAOFactory.GenericDAO.GetByID<EmploymentType>(oid));
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<long> InsertNewEmploymentTypes(List<EmploymentTypeDC> pEntries)
{
@@ -1862,5 +1873,93 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(exception);
}
}
public decimal CalculateUrlaubstage(DateTime entryDate, int anzahlArbeitstage, int restlicheTageImJahr, decimal? urlaubstageProJahr)
{
try
{
decimal urlaubstage = 0;
if (urlaubstageProJahr == null)
urlaubstageProJahr = 0m;
if (entryDate.Day == 1 && entryDate.Month == 1 || entryDate.Day == 2 && entryDate.Month == 1) //Erster Tag im Jahr
{
if (anzahlArbeitstage < 5) // weniger als 5 Tage
urlaubstage = (decimal)urlaubstageProJahr / 5m * anzahlArbeitstage;
else
{
if (anzahlArbeitstage == 5) // 5 Tage
urlaubstage = (decimal)urlaubstageProJahr;
else if (anzahlArbeitstage == 6) // 6 Tage
urlaubstage = (decimal)urlaubstageProJahr;
}
}
else if (entryDate.Day > 1 && anzahlArbeitstage < 5) // Mitten im Monat, weniger als 5 Tage
{
urlaubstage = (decimal)urlaubstageProJahr / 5m * 3m / 365m * restlicheTageImJahr;
}
else if (entryDate.Day > 1 && anzahlArbeitstage >= 5) // Mitten im Monat, 5 oder 6 Tage
{
urlaubstage = (decimal)urlaubstageProJahr / 365m * restlicheTageImJahr;
}
// Runden
//urlaubstage = 25.51m;
if (urlaubstage - (int)urlaubstage <= 0.1m)
{
urlaubstage = Math.Round(urlaubstage, MidpointRounding.AwayFromZero);
}
else if (urlaubstage - (int)urlaubstage <= 0.5m)
{
decimal digits = urlaubstage - (int)urlaubstage;
urlaubstage = urlaubstage - digits + 0.5m;
}
else if (urlaubstage - (int)urlaubstage <= 1.0m)
{
urlaubstage = Math.Ceiling(urlaubstage);
}
return urlaubstage;
}
catch (Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
public List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForEmployee(long empOid)
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByEmpOid(empOid);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
return tage;
}
public List<GeschenkterUrlaubstagDC> GetGeschenkteUrlaubstageForYear(int year)
{
List<GeschenkterUrlaubstagDC> tage = new List<GeschenkterUrlaubstagDC>();
var tageEntities = DAOFactory.SearchDAO.FindGeschenkteUrlaubstageByYear(year);
if (tageEntities != null)
tage.AddRange(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewDCs(tageEntities));
return tage;
}
public void InsertGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc)
{
DAOFactory.GenericDAO.Insert(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntity(dc));
}
public void InsertMultipleGeschenkteUrlaubstage(List<GeschenkterUrlaubstagDC> dcs)
{
DAOFactory.GenericDAO.Insert(MapperFactory.GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.MapToNewEntities(dcs));
}
public void DeleteGeschenkterUrlaubstag(GeschenkterUrlaubstagDC dc)
{
var lOriginal = DAOFactory.GenericDAO.LoadByID<GeschenkterUrlaubstag>((long)dc.GeschenkterUrlaubstagOid);
DAOFactory.GenericDAO.Delete(lOriginal);
}
}
}

View File

@@ -6741,11 +6741,11 @@ namespace BeWo.Service.ServiceImplementations
}
public void RemoveAllDiensteForOneMonth(DateTime month)
public void RemoveAllDiensteForOneMonth(DateTime month, List<RegelmaessigerDienstDC> rd)
{
try
{
DienstplanungsManager.RemoveAllDiensteForOneMonth(month);
DienstplanungsManager.RemoveAllDiensteForOneMonth(month, rd);
}
catch (Exception e)
{
@@ -7085,10 +7085,25 @@ namespace BeWo.Service.ServiceImplementations
return MapperFactory.RatingTypeDC_RatingType.MapToNewDCs(ratingTypes);
}
catch (Exception exception)
catch(Exception exception)
{
throw Utils.CreateBeWoFaultException(exception);
}
}
public UrlaubsplanerRootDC BuildUrlaubsplanerRootObject(int year, int month)
{
UrlaubsplanerRootDC root = new UrlaubsplanerRootDC();
var empService = new EmployeeServiceImp();
root.Feiertage = GetDefaultFeiertageForYear(year).Where(f => f.Datum.Month == month).ToList();
root.Abwesenheiten = empService.GetAllEmployeeAbsenceTimesForMonth(year, month);
root.GeschenkteUrlaubstage = empService.GetGeschenkteUrlaubstageForYear(year);
//root.AlleAbwesenheitsgründe = GetAllAbsenceReason().ToList();
//root.AlleVertragsArten = empService.GetAllEmploymentTypes();
//root.AlleTeamsCompact = empService.GetAllTeamsCompact();
return root;
}
}
}

View File

@@ -157,7 +157,8 @@ namespace BS.Shared
Dokumentvorlage = 150,
Vorlagentabelle = 151,
Dienstvertretung = 152,
RegelmaessigerDienst = 153
RegelmaessigerDienst = 153,
GeschenkterUrlaubstag = 154
}
public enum SystemEntryID

View File

@@ -17,5 +17,7 @@ namespace BS.Shared.DataContracts
public int Year { get; set; }
[DataMember]
public List<AbsenceTimeDC> AbsenceTimes { get; set; }
[DataMember]
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
}
}

View File

@@ -51,8 +51,11 @@ namespace BS.Shared.DataContracts
public void AddDienst(int tag, DienstInfoDC dienst)
{
DienstDict.Add(tag, dienst);
DienstDictUpdated?.Invoke();
if (dienst != null && !DienstDict.ContainsKey(tag))
{
DienstDict.Add(tag, dienst);
DienstDictUpdated?.Invoke();
}
}
public void UpdateDienst(int tag, DienstInfoDC dienst)

View File

@@ -15,6 +15,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Name { get; set; }
[DataMember]
public decimal? LeaveDays { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class GeschenkterUrlaubstagDC : IDataContract
{
[DataMember]
public long? GeschenkterUrlaubstagOid { get; set; }
[DataMember]
public long? GeschenkterUrlaubstagVersion { get; set; }
[DataMember]
public string GeschenkterUrlaubstagNotice { get; set; }
[DataMember]
public long Employee { get; set; }
[DataMember]
public DateTime Date{ get; set; }
[DataMember]
public decimal AnzahlTage { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using BS.Shared.DataContracts.Compact;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
public class UrlaubsplanerRootDC
{
[DataMember]
public List<AbsenceTimeDC> Abwesenheiten { get; set; }
[DataMember]
public List<FeiertagDC> Feiertage { get; set; }
[DataMember]
public List<GeschenkterUrlaubstagDC> GeschenkteUrlaubstage { get; set; }
//[DataMember]
//public List<AbsenceReasonDC> AlleAbwesenheitsgründe { get; set; }
//[DataMember]
//public List<EmploymentTypeDC> AlleVertragsArten { get; set; }
//[DataMember]
//public List<CompactTeamDC> AlleTeamsCompact { get; set; }
}
}

View File

@@ -171,6 +171,7 @@
<Compile Include="DataContracts\DienstZeileDC.cs" />
<Compile Include="DataContracts\DocumentTreeItemDC.cs" />
<Compile Include="DataContracts\DokumentvorlageDC.cs" />
<Compile Include="DataContracts\GeschenkterUrlaubstagDC.cs" />
<Compile Include="DataContracts\GoalRatingDC.cs" />
<Compile Include="DataContracts\PlatzhalterDC.cs" />
<Compile Include="DataContracts\QuittierungsbelegsstatusDC.cs" />
@@ -234,6 +235,7 @@
<Compile Include="DataContracts\TextbausteinDC.cs" />
<Compile Include="DataContracts\TimeSheetStatusItemDC.cs" />
<Compile Include="DataContracts\UrlaubskontoDC.cs" />
<Compile Include="DataContracts\UrlaubsplanerRootDC.cs" />
<Compile Include="DataContracts\VertretungsKlientAccountingsListeItemsDC.cs" />
<Compile Include="DataContracts\QuittierungsCheckViewListItemsDC.cs" />
<Compile Include="DataContracts\VertretungsListeMitarbeiterItemsDC.cs" />