MH: Anpassungen für Aidshilfe Essen

This commit is contained in:
Marcel Hirschle
2022-02-02 17:50:40 +01:00
parent 1580f1e903
commit 4608d68eb8
22 changed files with 7003 additions and 14 deletions

View File

@@ -501,6 +501,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IlkaLinkAmbulanteHilfen", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UebergangshilfeUnnaEV", "ReportImp\UebergangshilfeUnnaEV\UebergangshilfeUnnaEV.csproj", "{A9B88C6C-8965-4F08-B647-42CF0D8058A5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AidshilfeEssen", "ReportImp\AidshilfeEssen\AidshilfeEssen.csproj", "{C52AC467-D452-4396-8DB3-D04AC1045CFB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -3896,6 +3898,22 @@ Global
{A9B88C6C-8965-4F08-B647-42CF0D8058A5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A9B88C6C-8965-4F08-B647-42CF0D8058A5}.Release|x86.ActiveCfg = Release|Any CPU
{A9B88C6C-8965-4F08-B647-42CF0D8058A5}.Release|x86.Build.0 = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|.NET.ActiveCfg = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|.NET.Build.0 = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|x86.ActiveCfg = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Debug|x86.Build.0 = Debug|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|.NET.ActiveCfg = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|.NET.Build.0 = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|Any CPU.Build.0 = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|x86.ActiveCfg = Release|Any CPU
{C52AC467-D452-4396-8DB3-D04AC1045CFB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -4142,6 +4160,7 @@ Global
{D2668FF9-5A6B-497F-876D-C560919BA30C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{AA0D5E5F-9690-4EDA-B1D8-7C883CC63DE4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{A9B88C6C-8965-4F08-B647-42CF0D8058A5} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{C52AC467-D452-4396-8DB3-D04AC1045CFB} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -5254,6 +5254,14 @@ namespace BeWo.ServiceProxy
"BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteRegelmaessigeDiensteOfRemovedEmployee(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> employee, long wOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/SetSortierMethoden", ReplyAction="http://tempuri.org/IOperationsService/SetSortierMethodenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/SetSortierMethodenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<string> SetSortierMethoden();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DienstBloeckeNeuSortieren", ReplyAction="http://tempuri.org/IOperationsService/DienstBloeckeNeuSortierenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DienstBloeckeNeuSortierenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.DienstBlockDC> DienstBloeckeNeuSortieren(System.Collections.Generic.List<BS.Shared.DataContracts.DienstBlockDC> bloecke, string auswahl, bool aufsteigend);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateBudget", ReplyAction="http://tempuri.org/IOperationsService/UpdateBudgetResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateBudgetBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateBudget(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC> budgets);
@@ -6630,6 +6638,16 @@ namespace BeWo.ServiceProxy
base.Channel.DeleteRegelmaessigeDiensteOfRemovedEmployee(employee, wOid);
}
public System.Collections.Generic.List<string> SetSortierMethoden()
{
return base.Channel.SetSortierMethoden();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.DienstBlockDC> DienstBloeckeNeuSortieren(System.Collections.Generic.List<BS.Shared.DataContracts.DienstBlockDC> bloecke, string auswahl, bool aufsteigend)
{
return base.Channel.DienstBloeckeNeuSortieren(bloecke, auswahl, aufsteigend);
}
public void UpdateBudget(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC> budgets)
{
base.Channel.UpdateBudget(budgets);

View File

@@ -198,8 +198,8 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="75*" />
<ColumnDefinition Width="11*"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="16*"/>
<ColumnDefinition Width="466*"/>
<ColumnDefinition Width="Auto" />
@@ -208,7 +208,40 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Visibility="Hidden" x:Name="_TxtWohnheimInfo" Content="Dienstplan für: "/>
<Label Grid.Column="1" Visibility="Hidden" x:Name="_TxtWohnheim" Grid.ColumnSpan="4" Margin="0,0,57,0"/>
<Label Grid.Column="1" Visibility="Hidden" x:Name="_TxtWohnheim" Grid.ColumnSpan="2" Margin="0,0,0,0"/>
<TextBlock x:Name="_Textblock_link_sortierung" Grid.Column="3" Margin="5,5,5,0" Visibility="Collapsed">
<Hyperlink x:Name="linkSortierung" TargetName="_NewWindow" Foreground="Black" Click="linkSortierung_Click">
<Run Text="Sortierung" />
</Hyperlink>
</TextBlock>
<controls:PopupNonTopmost Topmost="False" x:Name="popUp_sortierung" Width="350" StaysOpen="False" Placement="MousePoint">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_popUp_sortierung" Header="Sortierung anpassen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Sortierung" />
<ComboBox x:Name="Combobox_Sortierungsarten" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="10 0 0 0"/>
<WrapPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0">
<RadioButton x:Name="radiobutton_aufsteigend" GroupName="Reihenfolge" Margin="0 5 0 0" IsChecked="True">Aufsteigend</RadioButton>
<RadioButton x:Name="radiobutton_absteigend" GroupName="Reihenfolge" Margin="10 5 0 0">Absteigend</RadioButton>
</WrapPanel>
<Button x:Name="Button_SortierungBestaetigen" Grid.Column="2" Grid.Row="3" Content="Ausführen" Click="Button_SortierungBestaetigen_Click" Margin="0 7 0 0"/>
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>
</Grid>
<!--Dritte Zeile ______________________________________________________________________________________________________ -->
<dxg:GridControl Grid.Row="3" Visibility="Hidden" x:Name="_GridControl" CustomUnboundColumnData="GridControl_CustomUnboundColumnData" SelectionMode="Cell">

View File

@@ -156,6 +156,7 @@ namespace BeWo.View.Detail.Report
button_neuerMitarbeiter.Visibility = Visibility.Visible;
_BtnRemoveAllDiensteForMonth.Visibility = Visibility.Visible;
textblock_link_pdfexport.Visibility = Visibility.Visible;
_Textblock_link_sortierung.Visibility = _DienstplanerRootObj.EnableSorting ? Visibility.Visible : Visibility.Collapsed;
}
private void RefreshGrid()
{
@@ -173,6 +174,7 @@ namespace BeWo.View.Detail.Report
_GridControl.Visibility = Visibility.Visible;
_TxtWohnheim.Visibility = Visibility.Visible;
_TxtWohnheimInfo.Visibility = Visibility.Visible;
_Textblock_link_sortierung.Visibility = _DienstplanerRootObj.EnableSorting ? Visibility.Visible : Visibility.Collapsed;
}
private void RefreshStatusForDay(int day)
@@ -1884,6 +1886,8 @@ namespace BeWo.View.Detail.Report
overtimeTemp[ot.EmployeeOid.Value].Add(ot);
}
_OverTimesDict = overtimeTemp;
_GridControl.ItemsSource = _DienstplanerRootObj.DienstZeilenListe;
}
// Abhängig von Version URL zum Drucken generieren
@@ -2271,8 +2275,26 @@ namespace BeWo.View.Detail.Report
listbox_regelmaessige_dienste.ItemsSource = t;
}
private void linkSortierung_Click(object sender, RoutedEventArgs e)
{
Combobox_Sortierungsarten.ItemsSource = _DienstplanerRootObj.SortierMethoden;
Combobox_Sortierungsarten.SelectedIndex = 0;
popUp_sortierung.IsOpen = true;
}
private void Button_SortierungBestaetigen_Click(object sender, RoutedEventArgs e)
{
string auswahl = Combobox_Sortierungsarten.SelectedItem as string;
bool aufsteigend = false;
if (radiobutton_absteigend.IsChecked.Value)
aufsteigend = false;
else if (radiobutton_aufsteigend.IsChecked.Value)
aufsteigend = true;
_DienstplanerRootObj.DienstDCListe = ServiceFacade.DoOperationsServiceSync(s => s.DienstBloeckeNeuSortieren(_DienstplanerRootObj.DienstDCListe, auswahl, aufsteigend));
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
_DienstplanerRootObj.DienstZeilenListe.Add(InitStatusZeile(RefreshGrid, AuswahlMonat));
RefreshDienste();
}
#region ColumnCreate

View File

@@ -0,0 +1,95 @@
<?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>{C52AC467-D452-4396-8DB3-D04AC1045CFB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AidshilfeEssen</RootNamespace>
<AssemblyName>AidshilfeEssen_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="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="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

View File

@@ -0,0 +1,446 @@
using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports
{
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.xrPictureBox3 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
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.RecipientPostCodeAndTown = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel_RecipientStreet = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel_RecipientDivision = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel_RecipientContactPerson = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel13 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
this.lblForderung = new DevExpress.XtraReports.UI.XRLabel();
this.lblSchlusssatz = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((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.xrPictureBox3,
this.xrLabel6});
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
this.ReportHeader.HeightF = 115.625F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrPictureBox3
//
this.xrPictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox3.Image")));
this.xrPictureBox3.LocationFloat = new DevExpress.Utils.PointFloat(475.1666F, 0F);
this.xrPictureBox3.Name = "xrPictureBox3";
this.xrPictureBox3.SizeF = new System.Drawing.SizeF(201.6666F, 75.62501F);
this.xrPictureBox3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel6
//
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "Essen, {0:dd.MM.yyyy}")});
this.xrLabel6.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(393.8332F, 87.00002F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(283F, 23F);
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "[]xrLabel8";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 54F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.RecipientPostCodeAndTown,
this.xrLabel_RecipientStreet,
this.xrLabel_RecipientDivision,
this.xrLabel_RecipientContactPerson,
this.xrLabel2,
this.xrLabel8,
this.xrLabel3,
this.xrLabel13,
this.xrLabel4,
this.xrLabel17,
this.xrLabel16,
this.xrLabel5,
this.xrLabel18,
this.xrLabel19,
this.lblAbrechnungszeitraum,
this.lblForderung,
this.lblSchlusssatz,
this.xrLabel23,
this.xrLabel24,
this.xrLabel25,
this.xrLabel26});
this.Page1.Font = new System.Drawing.Font("Verdana", 10F);
this.Page1.HeightF = 521.3125F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
// RecipientPostCodeAndTown
//
this.RecipientPostCodeAndTown.CanShrink = true;
this.RecipientPostCodeAndTown.Font = new System.Drawing.Font("Arial", 11F);
this.RecipientPostCodeAndTown.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.00003F);
this.RecipientPostCodeAndTown.Name = "RecipientPostCodeAndTown";
this.RecipientPostCodeAndTown.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.RecipientPostCodeAndTown.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.RecipientPostCodeAndTown.SizeF = new System.Drawing.SizeF(292F, 17F);
this.RecipientPostCodeAndTown.StylePriority.UseFont = false;
this.RecipientPostCodeAndTown.Text = "[RecipientPostCodeAndTown]";
//
// xrLabel_RecipientStreet
//
this.xrLabel_RecipientStreet.CanShrink = true;
this.xrLabel_RecipientStreet.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel_RecipientStreet.LocationFloat = new DevExpress.Utils.PointFloat(0F, 51.00002F);
this.xrLabel_RecipientStreet.Name = "xrLabel_RecipientStreet";
this.xrLabel_RecipientStreet.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel_RecipientStreet.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel_RecipientStreet.SizeF = new System.Drawing.SizeF(292F, 17F);
this.xrLabel_RecipientStreet.StylePriority.UseFont = false;
this.xrLabel_RecipientStreet.Text = "[RecipientStreet]";
//
// xrLabel_RecipientDivision
//
this.xrLabel_RecipientDivision.CanShrink = true;
this.xrLabel_RecipientDivision.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel_RecipientDivision.LocationFloat = new DevExpress.Utils.PointFloat(0F, 34.00002F);
this.xrLabel_RecipientDivision.Name = "xrLabel_RecipientDivision";
this.xrLabel_RecipientDivision.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel_RecipientDivision.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel_RecipientDivision.SizeF = new System.Drawing.SizeF(292F, 17F);
this.xrLabel_RecipientDivision.StylePriority.UseFont = false;
this.xrLabel_RecipientDivision.Text = "[RecipientDivision]";
//
// xrLabel_RecipientContactPerson
//
this.xrLabel_RecipientContactPerson.CanShrink = true;
this.xrLabel_RecipientContactPerson.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel_RecipientContactPerson.LocationFloat = new DevExpress.Utils.PointFloat(0F, 17.00001F);
this.xrLabel_RecipientContactPerson.Name = "xrLabel_RecipientContactPerson";
this.xrLabel_RecipientContactPerson.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel_RecipientContactPerson.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel_RecipientContactPerson.SizeF = new System.Drawing.SizeF(292F, 17F);
this.xrLabel_RecipientContactPerson.StylePriority.UseFont = false;
this.xrLabel_RecipientContactPerson.Text = "[RecipientContactPerson]";
//
// xrLabel2
//
this.xrLabel2.CanShrink = true;
this.xrLabel2.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
this.xrLabel2.SizeF = new System.Drawing.SizeF(292F, 17F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "[RecipientOrganisation]";
//
// xrLabel8
//
this.xrLabel8.BackColor = System.Drawing.Color.Transparent;
this.xrLabel8.CanShrink = true;
this.xrLabel8.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 126.0418F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(650F, 17F);
this.xrLabel8.StylePriority.UseBackColor = false;
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.Text = "Abrechnung über Dienstleistungsstunden im Betreuten Wohnen § 67 DGB XII";
this.xrLabel8.WordWrap = false;
//
// xrLabel3
//
this.xrLabel3.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 154.1667F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(154.5F, 17F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.Text = "Für:";
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 194.1667F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel13.SizeF = new System.Drawing.SizeF(154.5F, 17F);
this.xrLabel13.StylePriority.UseFont = false;
this.xrLabel13.Text = "Rechnungsnummer:";
//
// xrLabel4
//
this.xrLabel4.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 174.1667F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(154.5F, 17F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.Text = "Aktenzeichen:";
//
// xrLabel17
//
this.xrLabel17.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerReferenceNumber")});
this.xrLabel17.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(154.5F, 174.1667F);
this.xrLabel17.Name = "xrLabel17";
this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel17.SizeF = new System.Drawing.SizeF(193.0416F, 17F);
this.xrLabel17.StylePriority.UseBorders = false;
this.xrLabel17.StylePriority.UseFont = false;
//
// xrLabel16
//
this.xrLabel16.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(154.5F, 194.1667F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel16.SizeF = new System.Drawing.SizeF(193.0416F, 17F);
this.xrLabel16.StylePriority.UseBorders = false;
this.xrLabel16.StylePriority.UseFont = false;
//
// xrLabel5
//
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel5.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(154.5F, 154.1667F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(193.0417F, 17F);
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.Text = "[CustomerLastName], [CustomerFirstName]";
//
// xrLabel18
//
this.xrLabel18.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(347.5416F, 154.1667F);
this.xrLabel18.Name = "xrLabel18";
this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel18.SizeF = new System.Drawing.SizeF(75.33334F, 17F);
this.xrLabel18.StylePriority.UseFont = false;
this.xrLabel18.Text = ", geb. am";
//
// xrLabel19
//
this.xrLabel19.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerBirthdate", "{0:dd.MM.yyyy}")});
this.xrLabel19.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(422.875F, 154.1667F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel19.SizeF = new System.Drawing.SizeF(193.0417F, 17F);
this.xrLabel19.StylePriority.UseBorders = false;
this.xrLabel19.StylePriority.UseFont = false;
//
// lblAbrechnungszeitraum
//
this.lblAbrechnungszeitraum.Font = new System.Drawing.Font("Arial", 11F);
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 227.0835F);
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(678F, 45F);
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
//
// lblForderung
//
this.lblForderung.Font = new System.Drawing.Font("Arial", 11F);
this.lblForderung.LocationFloat = new DevExpress.Utils.PointFloat(0F, 272.0835F);
this.lblForderung.Multiline = true;
this.lblForderung.Name = "lblForderung";
this.lblForderung.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblForderung.SizeF = new System.Drawing.SizeF(678F, 22.20834F);
this.lblForderung.StylePriority.UseFont = false;
//
// lblSchlusssatz
//
this.lblSchlusssatz.Font = new System.Drawing.Font("Arial", 11F);
this.lblSchlusssatz.LocationFloat = new DevExpress.Utils.PointFloat(0F, 316.2917F);
this.lblSchlusssatz.Multiline = true;
this.lblSchlusssatz.Name = "lblSchlusssatz";
this.lblSchlusssatz.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblSchlusssatz.SizeF = new System.Drawing.SizeF(678F, 22.20834F);
this.lblSchlusssatz.StylePriority.UseFont = false;
this.lblSchlusssatz.Text = "Bitte geben Sie bei einer Überweisung die o. g. Rechnungsnummer an. Die Bankverbi" +
"ndung lautet: \t";
//
// xrLabel23
//
this.xrLabel23.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(105.0416F, 356.2083F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(300.3333F, 17F);
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.Text = "Aidshilfe Essen e. V. ";
//
// xrLabel24
//
this.xrLabel24.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(105.0416F, 373.2083F);
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(300.3333F, 17F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.Text = "IBAN: DE74 3605 0105 0000 2838 38";
//
// xrLabel25
//
this.xrLabel25.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(105.0416F, 390.2083F);
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel25.SizeF = new System.Drawing.SizeF(300.3333F, 17F);
this.xrLabel25.StylePriority.UseFont = false;
this.xrLabel25.Text = "SWIFT-BIC: SPESDE3EXXX";
//
// xrLabel26
//
this.xrLabel26.Font = new System.Drawing.Font("Arial", 11F);
this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(0F, 504.3125F);
this.xrLabel26.Name = "xrLabel26";
this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel26.SizeF = new System.Drawing.SizeF(300.3333F, 17F);
this.xrLabel26.StylePriority.UseFont = false;
this.xrLabel26.Text = "Unterschrift und Stempel des Anbieters";
//
// 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.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, 70, 54, 50);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((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.XRPictureBox xrPictureBox3;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel RecipientPostCodeAndTown;
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientStreet;
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientDivision;
private DevExpress.XtraReports.UI.XRLabel xrLabel_RecipientContactPerson;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel13;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRLabel xrLabel17;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel18;
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
private DevExpress.XtraReports.UI.XRLabel lblForderung;
private DevExpress.XtraReports.UI.XRLabel lblSchlusssatz;
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
private DevExpress.XtraReports.UI.XRLabel xrLabel26;
}
}

View File

@@ -0,0 +1,87 @@
using System;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports
{
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public ServiceInvoiceReport()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
decimal hourlyRate = 0;
decimal rateFactor = 1;
decimal hours = 0;
if (pRO.ServiceInvoicePeriods != null && pRO.ServiceInvoicePeriods.Count > 0)
{
foreach (var p in pRO.ServiceInvoicePeriods)
{
if (p.ServiceInvoiceItems != null && p.ServiceInvoiceItems.Count > 0)
{
foreach (var i in p.ServiceInvoiceItems)
{
if (i.HourlyRate.HasValue)
{
hourlyRate = i.HourlyRate.Value;
if (!String.IsNullOrEmpty(i.RateFactor))
{
var rfStr = i.RateFactor.Replace("%", "").Replace(",00", "").Trim();
int rfInt = 0;
Int32.TryParse(rfStr, out rfInt);
rateFactor = (100m + rfInt) / 100m;
}
}
if (i.Hours.HasValue)
hours += i.Hours.Value;
}
}
}
}
DateTime changeDt = new DateTime(2019, 12, 10); //CB Am 10.12.2019 habe ich die Änderungen gemacht, dass der Ratefactor nicht mehr nachträglich hier im Formular auf die Stunden gerechnet werden muss.
if (pRO.InvoiceDateTime.HasValue && pRO.InvoiceDateTime < new DateTime(2019, 12, 10) && pRO.InvoiceBase != null)
{
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(pRO.InvoiceBase.InvoiceBaseOid.Value);
if (ib.InsTs < changeDt)
{
hours *= rateFactor;
}
}
if (pRO.RecipientOrganisation.ToLower().Contains("lvr"))
lblSchlusssatz.Text = "Es wird ausdrücklich bestätigt, dass in den angegebenen Dienstleistungsstunden nur unmittelbare Betreuungsleistungen im Sinne der " +
"Leistungs- und Prüfungs- sowie der Vergütungsvereinbarung enthalten sind. Eine Dienstleistungsstunde besteht aus 40 (Zeit-)Minuten. Alle gemachten Angaben " +
"können anhand der vorgehaltenen Quittierungsbelege sowie der Betreuungsdokumentation nachgewiesen werden. Es wird weiterhin bestätigt, dass die " +
"Verpflichtungen aus der Leistungs- und Prüfungs- sowie der Vergütungsvereinbarung eingehalten wurden.\n\nBitte geben Sie bei einer Überweisung die o. g. Rechnungsnummer an. " +
"Die Bankverbindung lautet: ";
else
lblSchlusssatz.Text = "Bitte geben Sie bei einer Überweisung die o.g.Rechnungsnummer an. Die Bankverbindung lautet:";
lblForderung.Text =
String.Format("Hieraus ergibt sich eine Forderung von {0:0.00} Std. x {1:0.00} EUR = {2:0.00} EUR.", hours, hourlyRate, pRO.NetClaim);
lblAbrechnungszeitraum.Text =
String.Format(
"Im Zeitraum vom {0:dd.MM.yyyy} bis {1:dd.MM.yyyy} wurden {2:0.00} Fachleistungsstunden des Ambulant Betreuten Wohnens erbracht.",
pRO.AccountingPeriodStart, pRO.AccountingPeriodEnd, hours);
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,248 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Report.DefaultReports.Alt
{
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);
}
}
}
}
foreach (var approval in pRO.Approvals)
{
if (approval.PeriodStartDate == pRO.AccountingStartDate && approval.PeriodEndDate == pRO.AccountingEndDate)
{
var tage = (approval.PeriodEndDate.Value - approval.PeriodStartDate.Value).TotalDays;
var wochen = tage / 7;
var stundenProWoche = 0.00m;
switch (approval.ApprovalUnit)
{
case AccountingIntervalType.Weekly:
stundenProWoche = approval.ApprovedPerUnit.Value;
break;
case AccountingIntervalType.Monthly:
stundenProWoche = pRO.ApprovedFLSWeekly;
break;
}
tc_TageBewilligt.Text = tage.ToString();
tc_WochenBewilligt.Text = string.Format("{0:0.00}", wochen);
tc_BewilligtProWoche.Text = pRO.ApprovedFLSWeekly.ToString();
tc_BewilligtGesamt.Text = string.Format("{0:0.00}", approval.ApprovedPerUnit.Value * Convert.ToDecimal(wochen));
break;
}
}
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: 122 KiB

View File

@@ -132,7 +132,7 @@ namespace BeWo.DiakonieKKKleve
//
// lblForderung
//
this.lblForderung.LocationFloat = new DevExpress.Utils.PointFloat(0F, 250.625F);
this.lblForderung.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 250.625F);
this.lblForderung.Multiline = true;
this.lblForderung.Name = "lblForderung";
this.lblForderung.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);

View File

@@ -0,0 +1,72 @@
<?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>{C1FED668-ADB9-47E0-B589-1389618E1B6E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>KundeXyz</RootNamespace>
<AssemblyName>0000000000_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" />
</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>
<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

@@ -19,6 +19,12 @@ namespace BeWo.Service.Dienstplanung
{
internal class DienstplanungsManager
{
enum Sortierungsmethoden
{
Alphabetisch = 0,
Dienstanzahl = 1
}
public static DienstplanerRootDC BuildDienstplanerRootObject(DateTime date, long wohnheimOid)
{
DienstplanerRootDC root = new DienstplanerRootDC();
@@ -53,7 +59,7 @@ namespace BeWo.Service.Dienstplanung
}
}
root.AlleDienstvertretungen = GetAllDienstvertretungenAsList(wohnheimOid, date.Year, date.Month);
root.DienstDCListe = GetDienstEintraege(wohnheimOid, date.Year, date.Month);
root.DienstDCListe.AddRange(GetDienstvertretungen(wohnheimOid, date.Year, date.Month));
root.DienstDCListe = root.DienstDCListe.OrderBy(d => d.Employee.LastName).ToList();
@@ -86,10 +92,12 @@ namespace BeWo.Service.Dienstplanung
root.AllEmployee.Add(block.Employee);
}
#endregion
root.MonatsZusammenfassung = BerechneSollSaldoUndIst(root, date, empOids);
root.EnableDiensteAnFeiertagen = SetEnableDiensteAnFeiertagen();
root.EnableSorting = SetEnableSorting();
root.SortierMethoden = SetSortierMethoden();
return root;
}
@@ -142,7 +150,7 @@ namespace BeWo.Service.Dienstplanung
withoutWH.Add(d);
}
list.RemoveRange(withoutWH);
list = list.OrderBy(l => l.Wohnheim).ThenBy(d => d.DienstName).ToList();
list.AddRange(withoutWH.OrderBy(w => w.DienstName));
}
@@ -150,8 +158,8 @@ namespace BeWo.Service.Dienstplanung
list = DAOFactory.SearchDAO.FindDiensteForWohnheim(whOid).ToList();
var dcs = MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(list);
return dcs;
}
public static void InsertNewDienst(List<DienstInfoDC> dienst)
@@ -268,7 +276,7 @@ namespace BeWo.Service.Dienstplanung
foreach (var eintrag in dienstEintraegeDC)
{
if(!oids.Contains(eintrag.EmployeeOid))
if (!oids.Contains(eintrag.EmployeeOid))
{
var emp = MapperFactory.EmployeeDC_Employee.MapToNewDC(DAOFactory.GenericDAO.GetByID<Employee>(eintrag.EmployeeOid));
@@ -401,7 +409,7 @@ namespace BeWo.Service.Dienstplanung
x.Datum == date);
if (toDel != null)
DAOFactory.GenericDAO.Delete(toDel);
DAOFactory.GenericDAO.Delete(toDel);
}
public static void DeleteDienstvertretung(long empId, long wohnId, int zeile, DateTime date)
{
@@ -490,7 +498,7 @@ namespace BeWo.Service.Dienstplanung
}
public static DienstEintragDC GetDienstEintrag(long empId, long wohnId, int zeile, DateTime date)
{
var eintrag = DAOFactory.GenericDAO.GetAll<DienstEintrag>()
var eintrag = DAOFactory.GenericDAO.GetAll<DienstEintrag>()
.FirstOrDefault(x =>
x.EmployeeOid == empId &&
x.WohnheimOid == wohnId &&
@@ -645,6 +653,22 @@ namespace BeWo.Service.Dienstplanung
{
return true;
}
public static bool SetEnableSorting()
{
#if DEBUG
return true;
#endif
return false;
}
public static List<string> SetSortierMethoden()
{
List<string> auswahl = new List<string>();
auswahl.Add("Alphabetisch");
auswahl.Add("Menge der Dienste");
return auswahl;
}
public static List<CompactEmployeeDC> GetCompactEmployeesForTeam(long teamOid)
{
@@ -652,5 +676,58 @@ namespace BeWo.Service.Dienstplanung
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(team.MemberList); ;
}
public static List<DienstBlockDC> DienstBloeckeNeuSortieren(List<DienstBlockDC> bloecke, string auswahl, bool aufsteigend)
{
switch (auswahl)
{
case "Alphabetisch":
if (aufsteigend)
bloecke = bloecke.OrderBy(d => d.Employee.LastName).ToList();
else
bloecke = bloecke.OrderByDescending(d => d.Employee.LastName).ToList();
break;
case "Menge der Dienste":
bloecke = NachMengeDerDiensteSortieren(bloecke, aufsteigend);
break;
}
return bloecke;
}
private static List<DienstBlockDC> NachMengeDerDiensteSortieren(List<DienstBlockDC> bloecke, bool aufsteigend)
{
Dictionary<long?, int> anzahlDiensteProMitarbeiter = new Dictionary<long?, int>();
foreach (var block in bloecke)
{
foreach (var dict in block.DienstDictArray)
{
if (!anzahlDiensteProMitarbeiter.ContainsKey(block.Employee.EmployeeOid))
anzahlDiensteProMitarbeiter.Add(block.Employee.EmployeeOid, dict.Count);
else
anzahlDiensteProMitarbeiter[block.Employee.EmployeeOid] += dict.Count;
}
}
List<DienstBlockDC> bloeckeNeuSortiert = new List<DienstBlockDC>();
int max = 0;
long? nextEmployee = null;
while (bloecke.Count != bloeckeNeuSortiert.Count)
{
foreach (var anz in anzahlDiensteProMitarbeiter)
{
if (anz.Value > max)
{
nextEmployee = anz.Key;
max = anz.Value;
}
}
bloeckeNeuSortiert.AddRange(bloecke.Where(b => b.Employee.EmployeeOid == nextEmployee));
}
return bloeckeNeuSortiert;
}
}
}

View File

@@ -314,8 +314,9 @@ namespace BeWo.Service.Plugins
//t = "1344064965"; // ABW Klaßen
//t = "3625103678"; // Pro Hilfe GbR | MID
//t = "6028314513"; // Grundstein e.V.
t = "6178735147"; // Ilka Link ivi. - ambulante Hilfen, Beratung &amp; Therapie
//t = "6178735147"; // Ilka Link ivi. - ambulante Hilfen, Beratung &amp; Therapie
//t = "9416221963"; // Übergangshilfe Unna e.V.
t = "AidshilfeEssen"; // Aidshilfe Essen
return t;
#else

View File

@@ -1224,6 +1224,14 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteRegelmaessigeDiensteOfRemovedEmployee(List<CompactEmployeeDC> employee, long wOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<string> SetSortierMethoden();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<DienstBlockDC> DienstBloeckeNeuSortieren(List<DienstBlockDC> bloecke, string auswahl, bool aufsteigend);
}

View File

@@ -7090,6 +7090,29 @@ namespace BeWo.Service.ServiceImplementations
}
}
public List<string> SetSortierMethoden()
{
try
{
return DienstplanungsManager.SetSortierMethoden();
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<DienstBlockDC> DienstBloeckeNeuSortieren(List<DienstBlockDC> bloecke, string auswahl, bool aufsteigend)
{
try
{
return DienstplanungsManager.DienstBloeckeNeuSortieren(bloecke, auswahl, aufsteigend);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public Dictionary<string, string> GetAdditionalEmployeeInformationForScheduler(long empOid)
{

View File

@@ -61,5 +61,11 @@ namespace BS.Shared.DataContracts
[DataMember]
public bool EnableDiensteAnFeiertagen { get; set; }
[DataMember]
public bool EnableSorting { get; set; }
[DataMember]
public List<string> SortierMethoden { get; set; }
}
}