diff --git a/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.Designer.cs b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.Designer.cs
new file mode 100644
index 000000000..70a7feae3
--- /dev/null
+++ b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.Designer.cs
@@ -0,0 +1,620 @@
+using BeWo.Report.ReportObjects;
+namespace ZukunftLeben
+{
+ partial class EigenanteilInvoiceReport
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
+ this.Detail = new DevExpress.XtraReports.UI.DetailBand();
+ this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
+ 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.lblAdresse = 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.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel14 = 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.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.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.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
+ this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
+ this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
+ this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
+ this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
+ ((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.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.ReportHeader.HeightF = 0F;
+ this.ReportHeader.Name = "ReportHeader";
+ this.ReportHeader.StylePriority.UseFont = false;
+ //
+ // ruleRateFactorNull
+ //
+ this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
+ this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
+ this.ruleRateFactorNull.Name = "ruleRateFactorNull";
+ //
+ // topMarginBand1
+ //
+ this.topMarginBand1.HeightF = 212.7083F;
+ 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.xrLabel6,
+ this.lblAdresse,
+ this.xrLabel4,
+ this.xrLabel3,
+ this.xrLabel2,
+ this.xrLabel5,
+ this.xrLabel8,
+ this.lblAbrechnungszeitraum});
+ this.Page1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.Page1.HeightF = 474.2918F;
+ this.Page1.Name = "Page1";
+ this.Page1.StylePriority.UseFont = false;
+ //
+ // lblAdresse
+ //
+ this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
+ this.lblAdresse.Multiline = true;
+ this.lblAdresse.Name = "lblAdresse";
+ this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111.5F);
+ this.lblAdresse.StylePriority.UseFont = false;
+ this.lblAdresse.Text = "[RecipientOrganisation]\r\n[RecipientAddressLine1]\r\n[RecipientStreet]\r\n[RecipientPo" +
+ "stCodeAndTown]";
+ //
+ // xrLabel4
+ //
+ this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
+ this.xrLabel4.CanShrink = true;
+ this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
+ new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((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 = "Rechnung Eigenanteil [AccountingPeriod]";
+ this.xrLabel4.WordWrap = false;
+ //
+ // xrLabel3
+ //
+ this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
+ this.xrLabel3.CanShrink = true;
+ this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
+ new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((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 = "[CustomerName], geb. [CustomerBirthdate!dd.MM.yyyy]";
+ this.xrLabel3.WordWrap = false;
+ //
+ // xrLabel2
+ //
+ this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
+ this.xrLabel2.CanShrink = true;
+ this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
+ new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((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 = "Soziotherapie";
+ 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 = "[CustomerSalutation]";
+ //
+ // 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(366.9999F, 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, 34F);
+ this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
+ this.lblAbrechnungszeitraum.Text = "bei der Soziotherapie gestaltet sich die gesetzliche Zuzahlungspflicht - \r\nsofern" +
+ " Sie davon nicht befreit sind - wie folgt:";
+ //
+ // xrLabel15
+ //
+ this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 119.7917F);
+ 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";
+ //
+ // xrLabel14
+ //
+ this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
+ this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 196.7499F);
+ 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]";
+ //
+ // 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 = 40.49991F;
+ 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(680.3334F, 40.49991F);
+ //
+ // xrTableRow23
+ //
+ this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+ this.xrTableCell32,
+ this.xrTableCell38,
+ this.xrTableCell1,
+ this.xrTableCell34});
+ this.xrTableRow23.Name = "xrTableRow23";
+ this.xrTableRow23.Weight = 1D;
+ //
+ // xrTableCell32
+ //
+ this.xrTableCell32.BackColor = System.Drawing.Color.Transparent;
+ this.xrTableCell32.BorderColor = System.Drawing.Color.Transparent;
+ 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.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ this.xrTableCell32.Weight = 0.5494310185893323D;
+ //
+ // xrTableCell38
+ //
+ this.xrTableCell38.BackColor = System.Drawing.Color.Transparent;
+ this.xrTableCell38.BorderColor = System.Drawing.Color.Transparent;
+ this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
+ | DevExpress.XtraPrinting.BorderSide.Right)
+ | DevExpress.XtraPrinting.BorderSide.Bottom)));
+ this.xrTableCell38.Multiline = true;
+ 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 = "Tatsächliche \r\nBehandlungskosten";
+ this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
+ this.xrTableCell38.Weight = 0.84504695654880491D;
+ //
+ // xrTableCell34
+ //
+ this.xrTableCell34.BackColor = System.Drawing.Color.Transparent;
+ this.xrTableCell34.BorderColor = System.Drawing.Color.Transparent;
+ this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
+ | DevExpress.XtraPrinting.BorderSide.Right)
+ | DevExpress.XtraPrinting.BorderSide.Bottom)));
+ this.xrTableCell34.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Underline);
+ 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.UseFont = false;
+ this.xrTableCell34.StylePriority.UsePadding = false;
+ this.xrTableCell34.StylePriority.UseTextAlignment = false;
+ this.xrTableCell34.Text = "Ihr Eigenteil";
+ this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
+ 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 DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
+ new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((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(680.3334F, 25F);
+ this.xrTable6.StylePriority.UseFont = false;
+ //
+ // xrTableRow25
+ //
+ this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+ this.xrTableCell45,
+ this.xrTableCell46,
+ this.xrTableCell2,
+ this.xrTableCell47});
+ this.xrTableRow25.Name = "xrTableRow25";
+ this.xrTableRow25.Weight = 1D;
+ //
+ // xrTableCell45
+ //
+ this.xrTableCell45.BorderColor = System.Drawing.Color.Transparent;
+ 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.AccountingPeriodStart")});
+ this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ 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.UseFont = false;
+ this.xrTableCell45.StylePriority.UsePadding = false;
+ this.xrTableCell45.StylePriority.UseTextAlignment = false;
+ this.xrTableCell45.Text = "xrTableCell45";
+ this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ this.xrTableCell45.TextFormatString = "{0:dd.MM.yyyy}";
+ this.xrTableCell45.Weight = 0.42042062270317726D;
+ //
+ // xrTableCell46
+ //
+ this.xrTableCell46.BorderColor = System.Drawing.Color.Transparent;
+ 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.ServiceDescription")});
+ this.xrTableCell46.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ 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.UseFont = false;
+ this.xrTableCell46.StylePriority.UsePadding = false;
+ this.xrTableCell46.StylePriority.UseTextAlignment = false;
+ this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+ this.xrTableCell46.Weight = 0.64662376091114537D;
+ //
+ // xrTableCell47
+ //
+ this.xrTableCell47.BorderColor = System.Drawing.Color.Transparent;
+ 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.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ 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.UseFont = false;
+ this.xrTableCell47.StylePriority.UsePadding = false;
+ this.xrTableCell47.StylePriority.UseTextAlignment = false;
+ this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ this.xrTableCell47.Weight = 0.24427940340152482D;
+ //
+ // GroupFooter1
+ //
+ this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+ this.xrLabel11,
+ this.xrLabel9,
+ this.xrLabel10,
+ this.xrLabel1,
+ this.xrLabel14,
+ this.xrLabel15});
+ this.GroupFooter1.HeightF = 230.75F;
+ this.GroupFooter1.Name = "GroupFooter1";
+ //
+ // xrLabel1
+ //
+ this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.Top;
+ this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")});
+ this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
+ this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(563.5595F, 0F);
+ this.xrLabel1.Name = "xrLabel1";
+ this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
+ this.xrLabel1.SizeF = new System.Drawing.SizeF(113.2737F, 25F);
+ this.xrLabel1.StylePriority.UseBorders = false;
+ 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.MiddleLeft;
+ this.xrLabel1.TextFormatString = "{0}";
+ //
+ // xrLabel6
+ //
+ this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Verdana", 10F, DevExpress.Drawing.DXFontStyle.Italic);
+ this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 356.5001F);
+ this.xrLabel6.Multiline = true;
+ this.xrLabel6.Name = "xrLabel6";
+ this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel6.SizeF = new System.Drawing.SizeF(642F, 58.66672F);
+ this.xrLabel6.StylePriority.UseFont = false;
+ this.xrLabel6.Text = "\"Pro Kalendertag, an dem Soziotherapie stattfindet, zahlt der Patient einen Eigen" +
+ "anteil in Höhe von zehn Prozent der tatsächtichen Behandlungskosten, mindestens " +
+ "fünf Euro, höchstens zehn Euro.\"";
+ //
+ // xrLabel7
+ //
+ this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 415.1668F);
+ 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(642F, 59.12503F);
+ this.xrLabel7.StylePriority.UseFont = false;
+ this.xrLabel7.Text = "Daher erlauben wir uns, lhnen die von uns erbrachten Leistungen von [AccountingPe" +
+ "riodStart!dd.MM.yyyy] bis [AccountingPeriodEnd!dd.MM.yyyy] wie folgt in Rechnung" +
+ " zu stellen:";
+ //
+ // xrTableCell1
+ //
+ this.xrTableCell1.BackColor = System.Drawing.Color.Transparent;
+ this.xrTableCell1.BorderColor = System.Drawing.Color.Transparent;
+ this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
+ | DevExpress.XtraPrinting.BorderSide.Right)
+ | DevExpress.XtraPrinting.BorderSide.Bottom)));
+ this.xrTableCell1.Multiline = true;
+ this.xrTableCell1.Name = "xrTableCell1";
+ this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
+ this.xrTableCell1.StylePriority.UseBackColor = false;
+ this.xrTableCell1.StylePriority.UseBorderColor = false;
+ this.xrTableCell1.StylePriority.UseBorders = false;
+ this.xrTableCell1.StylePriority.UsePadding = false;
+ this.xrTableCell1.StylePriority.UseTextAlignment = false;
+ this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomRight;
+ this.xrTableCell1.Weight = 0.14619422330308785D;
+ //
+ // xrTableCell2
+ //
+ this.xrTableCell2.BorderColor = System.Drawing.Color.Transparent;
+ this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
+ | DevExpress.XtraPrinting.BorderSide.Bottom)));
+ this.xrTableCell2.Multiline = true;
+ this.xrTableCell2.Name = "xrTableCell2";
+ this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
+ this.xrTableCell2.StylePriority.UseBorderColor = false;
+ this.xrTableCell2.StylePriority.UseBorders = false;
+ this.xrTableCell2.StylePriority.UsePadding = false;
+ this.xrTableCell2.StylePriority.UseTextAlignment = false;
+ this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+ this.xrTableCell2.Weight = 0.11186675387824806D;
+ //
+ // xrLabel10
+ //
+ this.xrLabel10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "AccountingPeriod")});
+ this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
+ this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
+ this.xrLabel10.Name = "xrLabel10";
+ this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
+ this.xrLabel10.SizeF = new System.Drawing.SizeF(563.5595F, 25F);
+ this.xrLabel10.StylePriority.UseFont = false;
+ this.xrLabel10.StylePriority.UsePadding = false;
+ this.xrLabel10.StylePriority.UseTextAlignment = false;
+ this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+ this.xrLabel10.TextFormatString = "Gesamtsumme {0}:";
+ //
+ // xrLabel9
+ //
+ this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 41.66667F);
+ this.xrLabel9.Multiline = true;
+ this.xrLabel9.Name = "xrLabel9";
+ this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel9.SizeF = new System.Drawing.SizeF(642F, 59.12503F);
+ this.xrLabel9.StylePriority.UseFont = false;
+ this.xrLabel9.Text = "Wir bitten Sie, den Betrag auf unser unten genanntes Konto zu überweisen.\r\nVielen" +
+ " Dank.";
+ //
+ // xrLabel11
+ //
+ this.xrLabel11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
+ new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorDivision")});
+ this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 213.75F);
+ this.xrLabel11.Name = "xrLabel11";
+ this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+ this.xrLabel11.SizeF = new System.Drawing.SizeF(225F, 17F);
+ this.xrLabel11.StylePriority.UseFont = false;
+ this.xrLabel11.Text = "[CreatorName]";
+ //
+ // bindingSource1
+ //
+ this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
+ //
+ // EigenanteilInvoiceReport
+ //
+ 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 DevExpress.Drawing.DXFont("Verdana", 10F);
+ this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
+ this.ruleRateFactorNull});
+ this.Margins = new DevExpress.Drawing.DXMargins(91.66666F, 55F, 212.7083F, 50F);
+ this.PageHeight = 1169;
+ this.PageWidth = 827;
+ this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
+ this.Version = "23.2";
+ xrWatermark1.Id = "Watermark1";
+ this.Watermarks.Add(xrWatermark1);
+ ((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.XRLabel xrLabel15;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel14;
+ 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 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 xrTableCell45;
+ private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
+ private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
+ private DevExpress.XtraReports.UI.XRLabel lblAdresse;
+ private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel1;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel6;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel7;
+ private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
+ private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel10;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel9;
+ private DevExpress.XtraReports.UI.XRLabel xrLabel11;
+ }
+}
diff --git a/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.cs b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.cs
new file mode 100644
index 000000000..a258386e6
--- /dev/null
+++ b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Text;
+using BeWo.Report;
+using BeWo.Report.ReportObjects;
+using BS.Shared.Core;
+using DevExpress.XtraReports.UI;
+
+namespace ZukunftLeben
+{
+ [IDSpecificClass(Identifier = "Eigenanteil")]
+ public partial class EigenanteilInvoiceReport : XtraReport, IBeWoReport
+ {
+ public EigenanteilInvoiceReport()
+ {
+ 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);
+ }
+
+ SetzeAdresse(pRO);
+
+ this.bindingSource1.DataSource = pRO;
+ }
+
+ private void SetzeAdresse(ServiceInvoiceRO pRO)
+ {
+ StringBuilder sb = new StringBuilder();
+ //if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
+ //{
+ // sb.AppendLine(pRO.RecipientAddressLine1);
+ //}
+ if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
+ {
+ sb.AppendLine(pRO.RecipientContactPerson);
+ }
+ if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
+ {
+ sb.AppendLine(pRO.RecipientDivision);
+ }
+ if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
+ {
+ sb.AppendLine(pRO.RecipientPoBox);
+ }
+ else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
+ {
+ sb.AppendLine(pRO.RecipientStreet);
+ }
+ if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
+ {
+ sb.AppendLine(pRO.RecipientPostCodeAndTown);
+ }
+ lblAdresse.Text = sb.ToString();
+ }
+ }
+}
\ No newline at end of file
diff --git a/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.resx b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.resx
new file mode 100644
index 000000000..d58980a38
--- /dev/null
+++ b/ReportImp/ZukunftLeben/EigenanteilInvoiceReport.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/ReportImp/ZukunftLeben/Invoicing/EigenanteilsInvoiceCreation.cs b/ReportImp/ZukunftLeben/Invoicing/EigenanteilsInvoiceCreation.cs
new file mode 100644
index 000000000..24ae3ff46
--- /dev/null
+++ b/ReportImp/ZukunftLeben/Invoicing/EigenanteilsInvoiceCreation.cs
@@ -0,0 +1,176 @@
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+using BeWo.Service.Invoicing;
+using BS.Shared.Core;
+using BS.Shared.DataContracts;
+using BS.Shared.DataContracts.Compact;
+using BS.Shared.Services;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZukunftLeben.Invoicing
+{
+ public class EigenanteilsInvoiceCreation : InvoiceCreation
+ {
+ public override void SetInvoiceId(ServiceInvoice invoice)
+ {
+ invoice.InvoiceBase.InvoiceId = "Eigenanteil";
+ invoice.InvoiceBase.InvoiceTypeText = "Eigenanteil";
+ }
+
+ // Hier wird die Prüfung auf AlreadyAccounted entfernt, weil für jeden Tag zusätzlich 10% an den Customer in Rechnung gestellt wird.
+ // Außerdem wird eine Liste geführt, die die Tage, die schon in Rechnung gestellt wurden, trackt, da jeder Tag mit einer Leistung nur ein Mal
+ // in Rechnung gestellt werden darf.
+ public override IList CreateInvoiceItems(List serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
+ {
+ var list = new List();
+ List schonInRechnungGestellt = new List();
+ foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod)
+ {
+ if (iServiceRecord.ServiceDescription.Category.IsBillable && !schonInRechnungGestellt.Contains(iServiceRecord.Start.Value.Date))
+ {
+ InvoiceItem invoiceItem = CreateInvoiceItem(iServiceRecord, scap, calc);
+ if (invoiceItem != null)
+ {
+ list.Add(invoiceItem);
+ schonInRechnungGestellt.Add(iServiceRecord.Start.Value.Date);
+ }
+ }
+ }
+
+ return CreateSummaryInvoiceItems(list, invoicePeriod, scap, calc);
+ }
+ public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
+ {
+ var invoiceItem = new InvoiceItem();
+
+ BillingData bd = calc.GetBillingData(iServiceRecord);
+
+ var eigentanteil = bd.AmountPerUnit / 100 * 10;
+ if (eigentanteil < 5)
+ eigentanteil = 5;
+ else if (eigentanteil > 10)
+ eigentanteil = 10;
+
+ invoiceItem.AmountPerUnit = eigentanteil; // Ihr Eigenanteil
+ invoiceItem.UnitCount = 1;
+ invoiceItem.AmountTotal = eigentanteil; // Ihr Eigenanteil
+ invoiceItem.ItemPeriodStart = iServiceRecord.Start;
+ invoiceItem.ItemPeriodEnd = iServiceRecord.End;
+ invoiceItem.RateFactor = null;
+ invoiceItem.GrossAmountTotal = eigentanteil; // Ihr Eigenanteil
+ invoiceItem.AccountingInterval = bd.AccountingInterval;
+ invoiceItem.ItemDescription = string.Format("{0:0.00} Euro", bd.AmountPerUnit);
+ invoiceItem.CustomNumber1 = bd.AmountPerUnit; // Tatsächliche Behandlungskosten
+ invoiceItem.ServiceRecord = DAOFactory.GenericDAO.LoadByID(iServiceRecord.ServiceRecordOid.Value);
+ if (scap != null)
+ invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
+
+ return invoiceItem;
+ }
+
+ public override IList CreateSummaryInvoiceItems(IList itemList,
+ DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
+ {
+ //Fasse InvoiceItems mit gleichem Stundensatz zusammen:
+
+ var newlist = new List();
+
+ var rateToItem = new Dictionary();
+ foreach (InvoiceItem iitem in itemList)
+ {
+ InvoiceItem item;
+
+ var key = GetSummaryItemKey(scap, iitem, summaryPerMonth);
+
+ if (rateToItem.ContainsKey(key))
+ {
+ item = rateToItem[key];
+ }
+ else
+ {
+ item = new InvoiceItem();
+ newlist.Add(item);
+
+ item.AmountPerUnit = iitem.AmountPerUnit;
+ if (invoicePeriod != null)
+ {
+ item.ItemPeriodStart = iitem.ItemPeriodStart;
+ item.ItemPeriodEnd = iitem.ItemPeriodEnd;
+ }
+ else
+ {
+ item.ItemPeriodStart = iitem.ItemPeriodStart;
+ item.ItemPeriodEnd = iitem.ItemPeriodEnd;
+ }
+
+ item.RateFactor = iitem.RateFactor;
+
+ item.AccountingInterval = iitem.AccountingInterval;
+ item.ItemDescription = iitem.ItemDescription;
+ item.UnitDescription = iitem.UnitDescription;
+ item.SupportConceptApprovalPeriodOid = scap.Oid;
+
+ rateToItem[key] = item;
+ }
+
+
+ if (!item.UnitCount.HasValue)
+ {
+ item.UnitCount = 0;
+ }
+ item.UnitCount += iitem.UnitCount ?? 0;
+ }
+
+ BerechneSummaryItemsSummen(newlist, addRateFactorToUnitCount);
+ return newlist;
+ }
+
+ public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer)
+ {
+ serviceInvoice.InvoiceBase.RecipientDivision = costBearer.Organisation.Name2;
+ serviceInvoice.InvoiceBase.RecipientOrganisationOid = costBearer.Organisation.Oid;
+ serviceInvoice.InvoiceBase.RecipientOrganisation = costBearer.Organisation.Name;
+ serviceInvoice.InvoiceBase.RecipientContacts = costBearer.Organisation.Contacts.Select(i => i.CopyToNew()).ToList();
+ serviceInvoice.InvoiceBase.RecipientCostBearerOid = costBearer.Oid;
+
+ if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null)
+ {
+ var cust = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.SupportConcept.Customer;
+
+ serviceInvoice.InvoiceBase.RecipientOrganisation = cust.Person.FirstNameLastName;
+
+ if (cust.Person.InvoiceAddress != null)
+ {
+ serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.InvoiceAddress.CopyToNew();
+ }
+ else if (cust.Person.Address != null)
+ {
+ serviceInvoice.InvoiceBase.RecipientAddress = cust.Person.Address.CopyToNew();
+ }
+ if (cust.Person.InvoiceAddress != null && cust.Person.InvoiceAddress.AddressLine1 != null) // Anderer Rechnungsempfänger z.B. Vormund
+ {
+ serviceInvoice.InvoiceBase.RecipientPersonFirstName = cust.Person.InvoiceAddress.AddressLine1;
+ serviceInvoice.InvoiceBase.RecipientPersonLastName = "";
+ }
+ else
+ {
+ serviceInvoice.InvoiceBase.RecipientPersonFirstName = cust.Person.FirstName;
+ serviceInvoice.InvoiceBase.RecipientPersonLastName = cust.Person.LastName;
+ }
+ return;
+ }
+ if (costBearer.Organisation.InvoiceAddress != null)
+ {
+ serviceInvoice.InvoiceBase.RecipientAddress = costBearer.Organisation.InvoiceAddress.CopyToNew();
+ }
+ else if (costBearer.Organisation.Address != null)
+ {
+ serviceInvoice.InvoiceBase.RecipientAddress = costBearer.Organisation.Address.CopyToNew();
+ }
+ }
+ }
+}
diff --git a/ReportImp/ZukunftLeben/Invoicing/SoziotherapieInvoiceCreation.cs b/ReportImp/ZukunftLeben/Invoicing/SoziotherapieInvoiceCreation.cs
index daaf75586..c113e5a28 100644
--- a/ReportImp/ZukunftLeben/Invoicing/SoziotherapieInvoiceCreation.cs
+++ b/ReportImp/ZukunftLeben/Invoicing/SoziotherapieInvoiceCreation.cs
@@ -1,6 +1,9 @@
using System;
using System.Collections.Generic;
+using System.Linq;
+using BeWo.Data.Access;
using BeWo.Data.Entities;
+using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
@@ -18,6 +21,68 @@ namespace ZukunftLeben.Invoicing
invoice.InvoiceBase.InvoiceTypeText = "Soziotherapie";
}
+ public override List GenerateServiceInvoices(long costBearerOid,
+ DateTimeSpan invoicePeriod,
+ Dictionary> supportConcepts2ServiceRecords, bool splitInvoices)
+ {
+ var costBearer = DAOFactory.GenericDAO.LoadByID(costBearerOid);
+ var invoiceList = new List();
+
+ var invoiceCounter = 0;
+ ServiceInvoice invoice;
+
+ if (costBearer.IsSingleInvoicePerCustomer)
+ {
+ invoice = CreateCollectiveBilling(costBearer, invoicePeriod, supportConcepts2ServiceRecords);
+ if (invoice != null)
+ {
+ invoiceList.Add(invoice);
+ }
+ }
+ else
+ {
+ foreach (var iSupportConcept2ServiceRecords in supportConcepts2ServiceRecords)
+ {
+ invoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, iSupportConcept2ServiceRecords.Key, iSupportConcept2ServiceRecords.Value);
+ if (invoice != null)
+ {
+ if (splitInvoices && invoice.ServiceInvoicePeriodList.Count > 1
+ && !invoice.ServiceInvoicePeriodList.Any(s => s.Start == invoicePeriod.StartDate && s.End == invoicePeriod.EndDate))
+ {
+ foreach (var sip in invoice.ServiceInvoicePeriodList)
+ {
+ DateTimeSpan invPeriod = invoicePeriod;
+ invPeriod.StartDate = sip.Start.Value;
+ invPeriod.EndDate = sip.End.Value;
+ var partInvoice = CreateSingleInvoice(invoiceCounter, costBearer, invPeriod, iSupportConcept2ServiceRecords.Key, iSupportConcept2ServiceRecords.Value);
+ partInvoice.ServiceInvoicePeriodList.Add(sip);
+ invoiceList.Add(partInvoice);
+ invoiceCounter++;
+ }
+ }
+ else
+ {
+ invoiceList.Add(invoice);
+ invoiceCounter++;
+
+ // Wenn die Bewilligung, die bei Abrechnung aktuell ist, die Leistungskategorie "Soziotherapie mit Eigenanteil" enthält, muss eine Eigenanteilsrechnung zusätzlich erstellt werden.
+ // In der wird pro Tag, an dem Leistungen erfolgt sind, 10% der Terminkosten dem Klienten in Rechnung gestellt. Es sind entweder 10%, mindestens aber 5 EUR und maximal 10 EUR
+ if (invoice.InvoiceBase.CostBearer2SupportConcept.ApprovalPeriodList.Any(ap => ap.ServiceCategory != null && ap.ServiceCategory.Name.Trim() == "Soziotherapie mit Eigenanteil"))
+ {
+ var eigenanteilsInvoiceCreation = new EigenanteilsInvoiceCreation();
+ var eigenanteilInvoice = eigenanteilsInvoiceCreation.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, iSupportConcept2ServiceRecords.Key, iSupportConcept2ServiceRecords.Value);
+ invoiceCounter++;
+ invoiceList.Add(eigenanteilInvoice);
+ }
+ }
+ }
+ }
+ }
+ var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList();
+ return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result;
+ }
+
+
public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List serviceRecords)
{
var invoice = new ServiceInvoice();
diff --git a/ReportImp/ZukunftLeben/ZukunftLeben.csproj b/ReportImp/ZukunftLeben/ZukunftLeben.csproj
index 7b5c30e86..0d87f3b07 100644
--- a/ReportImp/ZukunftLeben/ZukunftLeben.csproj
+++ b/ReportImp/ZukunftLeben/ZukunftLeben.csproj
@@ -31,6 +31,7 @@
4
+
@@ -39,6 +40,7 @@
+
@@ -60,6 +62,7 @@
+
@@ -81,6 +84,12 @@
QuittierungsbelegMitDatum.cs
+
+ Component
+
+
+ EigenanteilInvoiceReport.cs
+
Component
@@ -133,6 +142,10 @@
QuittierungsbelegMitDatum.cs
Designer
+
+ EigenanteilInvoiceReport.cs
+ Designer
+
ServiceInvoiceReport.cs
Designer