From ba29d18ac0997d520b5a80e61fe2fdc8b3bcef0f Mon Sep 17 00:00:00 2001 From: Alexandra Date: Wed, 9 Nov 2022 15:56:21 +0100 Subject: [PATCH] BehindertNaUnd, ApiBerlin, VSDHammReports und AutismusKoelnBonn --- .../Validation/ServiceRecordValidator.cs | 9 +- .../Invoicing/FactorInvoiceCreation.cs | 27 + ReportImp/AutismusKoelnBonn/RechnungFaktor.cs | 1 - .../AutismusKoelnBonn/SettlementReport.cs | 46 +- .../AutismusKoelnBonn/SettlementReport2.cs | 30 +- .../AssistenzRechung.Designer.cs | 634 ++++++++++++++++++ ReportImp/BehindertNaUnd/AssistenzRechung.cs | 54 ++ .../BehindertNaUnd/AssistenzRechung.resx | 128 ++++ .../BehindertNaUnd/BehindertNaUnd.csproj | 88 +++ .../Invoicing/AssistenzInvoiceCreation.cs | 66 ++ .../Invoicing/CustomInvoiceFactory.cs | 37 + .../Invoicing/SettlementInvoiceCreation.cs | 56 ++ .../BehindertNaUnd/Properties/AssemblyInfo.cs | 36 + .../BehindertNaUnd/Properties/licenses.licx | 1 + .../VSDHammReports/VsdHammReportCreator.cs | 4 +- 15 files changed, 1181 insertions(+), 36 deletions(-) create mode 100644 ReportImp/BehindertNaUnd/AssistenzRechung.Designer.cs create mode 100644 ReportImp/BehindertNaUnd/AssistenzRechung.cs create mode 100644 ReportImp/BehindertNaUnd/AssistenzRechung.resx create mode 100644 ReportImp/BehindertNaUnd/BehindertNaUnd.csproj create mode 100644 ReportImp/BehindertNaUnd/Invoicing/AssistenzInvoiceCreation.cs create mode 100644 ReportImp/BehindertNaUnd/Invoicing/CustomInvoiceFactory.cs create mode 100644 ReportImp/BehindertNaUnd/Invoicing/SettlementInvoiceCreation.cs create mode 100644 ReportImp/BehindertNaUnd/Properties/AssemblyInfo.cs create mode 100644 ReportImp/BehindertNaUnd/Properties/licenses.licx diff --git a/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs b/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs index 4346178e6..c3b18740a 100644 --- a/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs +++ b/ReportImp/ApiBerlin/Validation/ServiceRecordValidator.cs @@ -43,6 +43,9 @@ namespace ApiBerlin.Validation (employeeOids != null && employeeOids.Count > 1); + // Recht bei Klientin mit 2 MA zu dokumentieren, aber nicht sich selbst doppelt! + // dafür muss das Recht "Zeiterfassung anlegen (bei Überscheidung mit Einträgen anderer Mitarbeiter)" entfernt werden + // "Zeiterfassung anlegen (bei Überscheidung mit anderen Einträgen eines Klienten)" muss rein DateTime start = newServiceRecord.Start.Value; bool noTime = (start.Hour == 0 && start.Minute == 0 && start.Second == 1); //Keine Zeit angegeben var duration = (decimal)newServiceRecord.End.Value.Subtract(newServiceRecord.Start.Value).TotalMinutes; @@ -80,16 +83,12 @@ namespace ApiBerlin.Validation grd = gd.TotalDuration; roundedDuration = gd.SingleDuration; } - } } - //var minuteInterval = cbDC.ActualMinuteIntervall; //if (minuteInterval > 0) newServiceRecord.RoundedDuration = roundedDuration; - - decimal rd = newServiceRecord.RoundedDuration; if (!isGroupRecord) @@ -112,8 +111,6 @@ namespace ApiBerlin.Validation } } } - - return result; } } diff --git a/ReportImp/AutismusKoelnBonn/Invoicing/FactorInvoiceCreation.cs b/ReportImp/AutismusKoelnBonn/Invoicing/FactorInvoiceCreation.cs index 26bb20a9d..39c489c00 100644 --- a/ReportImp/AutismusKoelnBonn/Invoicing/FactorInvoiceCreation.cs +++ b/ReportImp/AutismusKoelnBonn/Invoicing/FactorInvoiceCreation.cs @@ -56,5 +56,32 @@ namespace AutismusKoelnBonn.Invoicing } return invoiceItem; } + + public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer) + { + 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(); + } + + 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; + + //serviceInvoice.InvoiceBase. = c2s.CostBearer.Organisation.Contacts.FirstOrDefault(f => f.Type.Equals(ContactType.business_POBox)) != null ? c2s.CostBearer.Organisation.Contacts.FirstOrDefault(f => f.Type.Equals(ContactType.business_POBox)).Value : String.Empty; + + if (serviceInvoice.InvoiceBase.CostBearer2SupportConcept != null && + serviceInvoice.InvoiceBase.CostBearer2SupportConcept.CostBearerContactPerson != null) + { + serviceInvoice.InvoiceBase.RecipientPersonFirstName = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.CostBearerContactPerson.FirstName; + serviceInvoice.InvoiceBase.RecipientPersonLastName = serviceInvoice.InvoiceBase.CostBearer2SupportConcept.CostBearerContactPerson.LastName; + } + } } } \ No newline at end of file diff --git a/ReportImp/AutismusKoelnBonn/RechnungFaktor.cs b/ReportImp/AutismusKoelnBonn/RechnungFaktor.cs index 79af5fffd..b9f128b47 100644 --- a/ReportImp/AutismusKoelnBonn/RechnungFaktor.cs +++ b/ReportImp/AutismusKoelnBonn/RechnungFaktor.cs @@ -33,7 +33,6 @@ namespace AutismusKoelnBonn poBox = i.ContactValue; } } - StringBuilder sb = new StringBuilder(); //if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1) && !String.IsNullOrEmpty(pRO.RecipientAddressLine1.Trim()))) diff --git a/ReportImp/AutismusKoelnBonn/SettlementReport.cs b/ReportImp/AutismusKoelnBonn/SettlementReport.cs index 4ea2fc72b..9a5d083c1 100644 --- a/ReportImp/AutismusKoelnBonn/SettlementReport.cs +++ b/ReportImp/AutismusKoelnBonn/SettlementReport.cs @@ -20,14 +20,6 @@ namespace AutismusKoelnBonn.Alt { var cb2sc = DAOFactory.GenericDAO.LoadByID(pRO.CostBearer2SupportConceptOid); string poBox = null; - if (cb2sc.CostBearer.Organisation.Contacts.Count > 0) - { - foreach (var i in cb2sc.CostBearer.Organisation.Contacts) - { - if (i.Type == BS.Shared.ContactType.private_POBox) - poBox = i.Value; - } - } StringBuilder sb = new StringBuilder(); @@ -39,21 +31,41 @@ namespace AutismusKoelnBonn.Alt { sb.AppendLine(pRO.RecipientDivision); } - //Angaben aus Rechnungsadresse - //var cb2sc = DAOFactory.GenericDAO.LoadByID(pRO.CostBearer2SupportConceptOid); - if (!String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1)) + //Angaben aus Rechnungsadresse + //var cb2sc = DAOFactory.GenericDAO.LoadByID(pRO.CostBearer2SupportConceptOid); + if (cb2sc.CostBearer != null && cb2sc.CostBearer.Organisation != null) + { + if (cb2sc.CostBearer.Organisation.InvoiceAddress != null && + !String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.Street) || !String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.Town)) + { + if (!String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1)) + cb2sc.CostBearer.Organisation.Address.AddressLine1 = cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1; + pRO.RecipientPostCodeAndTown = String.Format("{0} {1}", cb2sc.CostBearer.Organisation.InvoiceAddress.PostalCode, cb2sc.CostBearer.Organisation.InvoiceAddress.Town); + pRO.RecipientStreet = cb2sc.CostBearer.Organisation.InvoiceAddress.Street; + if (cb2sc.CostBearer.Organisation.Contacts.Count > 0) + { + foreach (var i in cb2sc.CostBearer.Organisation.Contacts) + { + if (i.Type == BS.Shared.ContactType.private_POBox) + pRO.RecipientPoBox = i.Value; + } + } + } + else if (cb2sc.CostBearer.Organisation.Address != null) + { + pRO.RecipientPostCodeAndTown = String.Format("{0} {1}", cb2sc.CostBearer.Organisation.Address.PostalCode, cb2sc.CostBearer.Organisation.Address.Town); + pRO.RecipientStreet = cb2sc.CostBearer.Organisation.Address.Street; + } + } + if (!String.IsNullOrEmpty(cb2sc.CostBearer.Organisation.Address.AddressLine1)) { - sb.AppendLine(cb2sc.CostBearer.Organisation.InvoiceAddress.AddressLine1); + sb.AppendLine(cb2sc.CostBearer.Organisation.Address.AddressLine1); } if (!String.IsNullOrEmpty(pRO.RecipientContactPerson)) { sb.AppendLine(pRO.RecipientContactPerson); } - if (!String.IsNullOrEmpty(poBox)) - { - sb.AppendLine(poBox); - } - else if (!String.IsNullOrEmpty(pRO.RecipientPoBox)) + if (!String.IsNullOrEmpty(pRO.RecipientPoBox)) { sb.AppendLine(pRO.RecipientPoBox); } diff --git a/ReportImp/AutismusKoelnBonn/SettlementReport2.cs b/ReportImp/AutismusKoelnBonn/SettlementReport2.cs index 98f703abf..c8214ce88 100644 --- a/ReportImp/AutismusKoelnBonn/SettlementReport2.cs +++ b/ReportImp/AutismusKoelnBonn/SettlementReport2.cs @@ -20,7 +20,6 @@ namespace AutismusKoelnBonn public void SetReportDataSource(Settlement2RO pRO) { - string poBox = null; string AddressLine1 = null; decimal rateFactor = 1; @@ -46,14 +45,29 @@ namespace AutismusKoelnBonn { var ib = DAOFactory.GenericDAO.LoadByID(pRO.InvoiceBaseOid.Value); var c = ib.CostBearer2SupportConcept.SupportConcept.Customer; - if (ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts.Count > 0) + if (ib.CostBearer2SupportConcept.CostBearer != null && ib.CostBearer2SupportConcept.CostBearer.Organisation != null) { - foreach (var i in ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts) + if (ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress != null && + !String.IsNullOrEmpty(ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.Street) || !String.IsNullOrEmpty(ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.Town)) { - if (i.Type == BS.Shared.ContactType.private_POBox) - poBox = i.Value; + pRO.RecipientPostCodeAndTown = String.Format("{0} {1}", ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.PostalCode, ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.Town); + pRO.RecipientStreet = ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.Street; + if (ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts.Count > 0) + { + foreach (var i in ib.CostBearer2SupportConcept.CostBearer.Organisation.Contacts) + { + if (i.Type == BS.Shared.ContactType.private_POBox) + pRO.RecipientPostBox = i.Value; + } + } + } + else if (ib.CostBearer2SupportConcept.CostBearer.Organisation.Address != null) + { + pRO.RecipientPostCodeAndTown = String.Format("{0} {1}", ib.CostBearer2SupportConcept.CostBearer.Organisation.Address.PostalCode, ib.CostBearer2SupportConcept.CostBearer.Organisation.Address.Town); + pRO.RecipientStreet = ib.CostBearer2SupportConcept.CostBearer.Organisation.Address.Street; } } + if (!String.IsNullOrEmpty(ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.AddressLine1)) AddressLine1 = ib.CostBearer2SupportConcept.CostBearer.Organisation.InvoiceAddress.AddressLine1; @@ -112,11 +126,7 @@ namespace AutismusKoelnBonn { sb.AppendLine(pRO.RecipientContactPerson); } - if (!String.IsNullOrEmpty(poBox)) - { - sb.AppendLine(poBox); - } - else if (!String.IsNullOrEmpty(pRO.RecipientPostBox)) + if (!String.IsNullOrEmpty(pRO.RecipientPostBox)) { sb.AppendLine(pRO.RecipientPostBox); } diff --git a/ReportImp/BehindertNaUnd/AssistenzRechung.Designer.cs b/ReportImp/BehindertNaUnd/AssistenzRechung.Designer.cs new file mode 100644 index 000000000..f728c974c --- /dev/null +++ b/ReportImp/BehindertNaUnd/AssistenzRechung.Designer.cs @@ -0,0 +1,634 @@ +using BeWo.Report.ReportObjects; +namespace BehindertNaUnd +{ + partial class Rechnung + { + /// + /// 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(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Rechnung)); + 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.lblAbrechnungstext = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel(); + 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.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); + this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand(); + this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrTable3 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow20 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow21 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow24 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.xrTable2 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).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 System.Drawing.Font("Verdana", 10F); + this.ReportHeader.HeightF = 74.25F; + 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 = 100F; + this.topMarginBand1.Name = "topMarginBand1"; + // + // bottomMarginBand1 + // + this.bottomMarginBand1.HeightF = 90F; + this.bottomMarginBand1.Name = "bottomMarginBand1"; + // + // Page1 + // + this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable2, + this.lblAbrechnungstext, + this.xrLabel1, + this.xrLabel6, + this.xrLabel8, + this.RecipientPostCodeAndTown, + this.xrLabel_RecipientStreet, + this.xrLabel_RecipientDivision, + this.xrLabel_RecipientContactPerson, + this.xrLabel7, + this.xrLabel4, + this.xrLabel3, + this.xrLabel2, + this.xrLabel5}); + this.Page1.Font = new System.Drawing.Font("Arial", 10F); + this.Page1.HeightF = 414.8683F; + this.Page1.Name = "Page1"; + this.Page1.StylePriority.UseFont = false; + // + // lblAbrechnungstext + // + this.lblAbrechnungstext.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.lblAbrechnungstext.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 372.6217F); + this.lblAbrechnungstext.Name = "lblAbrechnungstext"; + this.lblAbrechnungstext.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblAbrechnungstext.SizeF = new System.Drawing.SizeF(530.5417F, 17F); + this.lblAbrechnungstext.StylePriority.UseFont = false; + this.lblAbrechnungstext.Text = "1 Stunden * 20,20 € = 20,20 €"; + // + // xrLabel1 + // + this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceBase.InvoiceItems.GrossAmountTotal")}); + this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(568F, 372.6217F); + this.xrLabel1.Name = "xrLabel1"; + this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel1.SizeF = new System.Drawing.SizeF(100F, 23F); + this.xrLabel1.Text = "xrLabel1"; + // + // xrLabel6 + // + this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 300.9966F); + 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, 52.4133F); + this.xrLabel6.StylePriority.UseFont = false; + this.xrLabel6.Text = resources.GetString("xrLabel6.Text"); + // + // 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.9998F, 155.1858F); + 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; + // + // RecipientPostCodeAndTown + // + this.RecipientPostCodeAndTown.CanShrink = true; + 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.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.LocationFloat = new DevExpress.Utils.PointFloat(0F, 34.00008F); + 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.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]"; + // + // xrLabel7 + // + this.xrLabel7.CanShrink = true; + this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrLabel7.Name = "xrLabel7"; + this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel7.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrLabel7.SizeF = new System.Drawing.SizeF(292F, 17F); + this.xrLabel7.StylePriority.UseFont = false; + this.xrLabel7.Text = "[RecipientOrganisation]"; + // + // xrLabel4 + // + this.xrLabel4.BackColor = System.Drawing.Color.Transparent; + this.xrLabel4.CanShrink = true; + this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 225F); + 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, 17F); + this.xrLabel4.StylePriority.UseBackColor = false; + this.xrLabel4.StylePriority.UseFont = false; + this.xrLabel4.Text = "[CustomerReferenceNumber]"; + this.xrLabel4.WordWrap = false; + // + // xrLabel3 + // + this.xrLabel3.BackColor = System.Drawing.Color.Transparent; + this.xrLabel3.CanShrink = true; + this.xrLabel3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 209F); + this.xrLabel3.Name = "xrLabel3"; + this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 16F); + this.xrLabel3.StylePriority.UseBackColor = false; + this.xrLabel3.StylePriority.UseFont = false; + this.xrLabel3.Text = "Abrechnung Assistenzleistungen für [CustomerSalutation] [CustomerName]"; + this.xrLabel3.WordWrap = false; + // + // xrLabel2 + // + this.xrLabel2.BackColor = System.Drawing.Color.Transparent; + this.xrLabel2.CanShrink = true; + this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 192F); + this.xrLabel2.Name = "xrLabel2"; + this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 17F); + this.xrLabel2.StylePriority.UseBackColor = false; + this.xrLabel2.StylePriority.UseFont = false; + this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]"; + this.xrLabel2.WordWrap = false; + // + // xrLabel5 + // + this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 267.33F); + this.xrLabel5.Name = "xrLabel5"; + this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel5.SizeF = new System.Drawing.SizeF(317F, 17F); + this.xrLabel5.StylePriority.UseFont = false; + this.xrLabel5.Text = "Sehr geehrte Damen und Herren,"; + // + // ReportFooter + // + this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrLabel18, + this.xrLabel11, + this.xrLabel12, + this.xrTable3, + this.xrLabel10}); + this.ReportFooter.Font = new System.Drawing.Font("Arial", 10F); + this.ReportFooter.HeightF = 204.1633F; + this.ReportFooter.Name = "ReportFooter"; + this.ReportFooter.StylePriority.UseFont = false; + // + // xrLabel18 + // + this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 0F); + this.xrLabel18.Name = "xrLabel18"; + this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel18.SizeF = new System.Drawing.SizeF(649.9999F, 17F); + this.xrLabel18.StylePriority.UseFont = false; + this.xrLabel18.Text = "Bitte überweisen Sie den Betrag nach Prüfung der Endabrechnung auf das unten ange" + + "gebene Konto."; + // + // xrLabel11 + // + this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(583.0004F, 153.7917F); + this.xrLabel11.Name = "xrLabel11"; + this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel11.SizeF = new System.Drawing.SizeF(67F, 17F); + this.xrLabel11.StylePriority.UseFont = false; + this.xrLabel11.StylePriority.UseTextAlignment = false; + this.xrLabel11.Text = "Anlage"; + this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + // + // xrLabel12 + // + this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 153.7917F); + this.xrLabel12.Name = "xrLabel12"; + this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel12.SizeF = new System.Drawing.SizeF(225F, 17F); + this.xrLabel12.StylePriority.UseFont = false; + this.xrLabel12.Text = "[CreatorName]"; + // + // xrTable3 + // + this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 30.58332F); + this.xrTable3.Name = "xrTable3"; + this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow20, + this.xrTableRow21, + this.xrTableRow23, + this.xrTableRow24}); + this.xrTable3.SizeF = new System.Drawing.SizeF(650F, 52F); + this.xrTable3.StylePriority.UseFont = false; + // + // xrTableRow20 + // + this.xrTableRow20.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell16}); + this.xrTableRow20.Name = "xrTableRow20"; + this.xrTableRow20.Weight = 0.38095238095238093D; + // + // xrTableCell16 + // + this.xrTableCell16.CanShrink = true; + this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")}); + this.xrTableCell16.Name = "xrTableCell16"; + this.xrTableCell16.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell16.StylePriority.UsePadding = false; + this.xrTableCell16.Text = "xrTableCell1"; + this.xrTableCell16.Weight = 3D; + // + // xrTableRow21 + // + this.xrTableRow21.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell18}); + this.xrTableRow21.Name = "xrTableRow21"; + this.xrTableRow21.Weight = 0.23809523809523808D; + // + // xrTableCell18 + // + this.xrTableCell18.Name = "xrTableCell18"; + this.xrTableCell18.Weight = 3D; + // + // xrTableRow23 + // + this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell30}); + this.xrTableRow23.Name = "xrTableRow23"; + this.xrTableRow23.Weight = 0.23809523809523803D; + // + // xrTableCell30 + // + this.xrTableCell30.Name = "xrTableCell30"; + this.xrTableCell30.Weight = 0.18181818181818182D; + // + // xrTableRow24 + // + this.xrTableRow24.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell31}); + this.xrTableRow24.Name = "xrTableRow24"; + this.xrTableRow24.Weight = 0.38095238095238093D; + // + // xrTableCell31 + // + this.xrTableCell31.CanShrink = true; + this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "FinalSentence")}); + this.xrTableCell31.Name = "xrTableCell31"; + this.xrTableCell31.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell31.StylePriority.UsePadding = false; + this.xrTableCell31.Text = "xrTableCell8"; + this.xrTableCell31.Weight = 3D; + // + // xrLabel10 + // + this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0.0003814697F, 97.54168F); + this.xrLabel10.Name = "xrLabel10"; + this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F); + this.xrLabel10.StylePriority.UseFont = false; + this.xrLabel10.Text = "Mit freundlichen Grüßen"; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO); + // + // xrTable2 + // + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(366.9998F, 0F); + this.xrTable2.Name = "xrTable2"; + this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow2, + this.xrTableRow5, + this.xrTableRow4, + this.xrTableRow3, + this.xrTableRow1, + this.xrTableRow6, + this.xrTableRow8}); + this.xrTable2.SizeF = new System.Drawing.SizeF(283F, 134F); + // + // xrTableRow2 + // + this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell4}); + this.xrTableRow2.Name = "xrTableRow2"; + this.xrTableRow2.Weight = 0.13245033112582783D; + // + // xrTableCell4 + // + this.xrTableCell4.CanShrink = true; + this.xrTableCell4.Name = "xrTableCell4"; + this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell4.StylePriority.UseFont = false; + this.xrTableCell4.StylePriority.UseTextAlignment = false; + this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):"; + this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell4.Weight = 1D; + // + // xrTableRow5 + // + this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell13}); + this.xrTableRow5.Name = "xrTableRow5"; + this.xrTableRow5.Weight = 0.13245033112582783D; + // + // xrTableCell13 + // + this.xrTableCell13.CanShrink = true; + this.xrTableCell13.Name = "xrTableCell13"; + this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell13.StylePriority.UseFont = false; + this.xrTableCell13.StylePriority.UseTextAlignment = false; + this.xrTableCell13.Text = "[SenderContactPerson]"; + this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell13.Weight = 1D; + // + // xrTableRow4 + // + this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell11}); + this.xrTableRow4.Name = "xrTableRow4"; + this.xrTableRow4.Weight = 0.13245033112582783D; + // + // xrTableCell11 + // + this.xrTableCell11.CanShrink = true; + this.xrTableCell11.Name = "xrTableCell11"; + this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell11.StylePriority.UseFont = false; + this.xrTableCell11.StylePriority.UseTextAlignment = false; + this.xrTableCell11.Text = "[SenderContactPersonDivision]"; + this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell11.Weight = 1D; + // + // xrTableRow3 + // + this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell8}); + this.xrTableRow3.Name = "xrTableRow3"; + this.xrTableRow3.Weight = 0.13245033112582783D; + // + // xrTableCell8 + // + this.xrTableCell8.CanShrink = true; + this.xrTableCell8.Name = "xrTableCell8"; + this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell8.StylePriority.UseFont = false; + this.xrTableCell8.StylePriority.UseTextAlignment = false; + this.xrTableCell8.Text = "[SenderContactPersonMail]"; + this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell8.Weight = 1D; + // + // xrTableRow1 + // + this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell1}); + this.xrTableRow1.Name = "xrTableRow1"; + this.xrTableRow1.Weight = 0.13245033112582783D; + // + // xrTableCell1 + // + this.xrTableCell1.CanShrink = true; + this.xrTableCell1.Name = "xrTableCell1"; + this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell1.StylePriority.UseFont = false; + this.xrTableCell1.StylePriority.UseTextAlignment = false; + this.xrTableCell1.Text = "[SenderContactPersonPhone]"; + this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell1.Weight = 1D; + // + // xrTableRow6 + // + this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell2}); + this.xrTableRow6.Name = "xrTableRow6"; + this.xrTableRow6.Weight = 0.11258278145695365D; + // + // xrTableCell2 + // + this.xrTableCell2.CanShrink = true; + this.xrTableCell2.Name = "xrTableCell2"; + this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink; + this.xrTableCell2.StylePriority.UseFont = false; + this.xrTableCell2.StylePriority.UseTextAlignment = false; + this.xrTableCell2.Text = "[SenderContactPersonFax]"; + this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell2.Weight = 1D; + // + // xrTableRow8 + // + this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell5}); + this.xrTableRow8.Name = "xrTableRow8"; + this.xrTableRow8.Weight = 0.11258278145695365D; + // + // xrTableCell5 + // + this.xrTableCell5.Name = "xrTableCell5"; + this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTableCell5.Weight = 1D; + // + // Rechnung + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail, + this.ReportHeader, + this.topMarginBand1, + this.bottomMarginBand1, + this.Page1, + this.ReportFooter}); + 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, 74, 100, 90); + this.PageHeight = 1169; + this.PageWidth = 827; + this.PaperKind = System.Drawing.Printing.PaperKind.A4; + this.Version = "17.1"; + ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).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 xrLabel6; + private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter; + 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 xrLabel7; + private DevExpress.XtraReports.UI.XRLabel xrLabel8; + private DevExpress.XtraReports.UI.XRLabel xrLabel11; + private DevExpress.XtraReports.UI.XRLabel xrLabel12; + private DevExpress.XtraReports.UI.XRTable xrTable3; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow20; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow21; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow23; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell30; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow24; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell31; + private DevExpress.XtraReports.UI.XRLabel xrLabel10; + private DevExpress.XtraReports.UI.XRLabel xrLabel1; + private DevExpress.XtraReports.UI.XRLabel xrLabel18; + private DevExpress.XtraReports.UI.XRLabel lblAbrechnungstext; + private DevExpress.XtraReports.UI.XRTable xrTable2; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow5; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow4; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow3; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow6; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow8; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell5; + } +} diff --git a/ReportImp/BehindertNaUnd/AssistenzRechung.cs b/ReportImp/BehindertNaUnd/AssistenzRechung.cs new file mode 100644 index 000000000..e774eb009 --- /dev/null +++ b/ReportImp/BehindertNaUnd/AssistenzRechung.cs @@ -0,0 +1,54 @@ +using System; +using BeWo.Data.Access; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BeWo.Service.DCEntityMapper; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.Extensions; + +namespace BehindertNaUnd +{ + [IDSpecificClass(Identifier = "Assistenz")] + public partial class Rechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + public Rechnung() + { + InitializeComponent(); + } + public void SetReportDataSource(ServiceInvoiceRO pRO) + { + DateTime start = pRO.AccountingPeriodStart; + DateTime end = pRO.AccountingPeriodEnd; + 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 (i.Hours.HasValue) + hours += i.Hours.Value; + } + } + } + } + + if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation.ToLower() == "herr") + pRO.CustomerSalutation = "Herrn"; + + lblAbrechnungstext.Text = String.Format("{0:0.##} Stunden x {1:c} = {2}", hours, hourlyRate, pRO.NetClaim); + + this.bindingSource1.DataSource = pRO; + } + } +} \ No newline at end of file diff --git a/ReportImp/BehindertNaUnd/AssistenzRechung.resx b/ReportImp/BehindertNaUnd/AssistenzRechung.resx new file mode 100644 index 000000000..e92b6753a --- /dev/null +++ b/ReportImp/BehindertNaUnd/AssistenzRechung.resx @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + hiermit erhalten Sie die Abrechnung über die erbrachten Leistungen im Rahmen des Betreuten Wohnens für [CustomerSalutation] [CustomerName]. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus: + + + + + 17, 17 + + \ No newline at end of file diff --git a/ReportImp/BehindertNaUnd/BehindertNaUnd.csproj b/ReportImp/BehindertNaUnd/BehindertNaUnd.csproj new file mode 100644 index 000000000..4471fb512 --- /dev/null +++ b/ReportImp/BehindertNaUnd/BehindertNaUnd.csproj @@ -0,0 +1,88 @@ + + + + + Debug + AnyCPU + {13735B44-C4A2-467A-85C3-BDFD9939EE77} + Library + Properties + BehindertNaUnd + 1508800817_Reports + v4.7.2 + 512 + + + + true + full + false + ..\..\Host\bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\Host\bin\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + Component + + + AssistenzRechung.cs + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {40d8b312-ea64-49e3-a31a-5e57ed4d5654} + Report + + + {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} + Service + + + {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4} + Shared + + + + + AssistenzRechung.cs + Designer + + + + + \ No newline at end of file diff --git a/ReportImp/BehindertNaUnd/Invoicing/AssistenzInvoiceCreation.cs b/ReportImp/BehindertNaUnd/Invoicing/AssistenzInvoiceCreation.cs new file mode 100644 index 000000000..a45a039ee --- /dev/null +++ b/ReportImp/BehindertNaUnd/Invoicing/AssistenzInvoiceCreation.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Invoicing; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.Extensions; +using BS.Shared.Services; + +namespace BehindertNaUnd.Invoicing +{ + + public class CustomAssistenzInvoiceCreation : InvoiceCreation + { + public override void SetInvoiceId(ServiceInvoice invoice) + { + invoice.InvoiceBase.InvoiceId = "Assistenz"; + invoice.InvoiceBase.InvoiceTypeText = "Assistenzleistung"; + } + + public override void SetAmountAdvancePayments(ServiceInvoice invoice) + { + //do nothing + } + + public override void SetAmountEquityContribution(ServiceInvoice invoice) + { + //do nothing + } + + public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) + { + if (!iServiceRecord.ServiceDescription.CategoryName.Contains("Assistenz")) + return null; + + var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc); + DateTime start = ii.ItemPeriodStart.Value; + decimal preisAssistenz = 0; + + var cat = DAOFactory.SearchDAO.FindServiceCategoryByName("Assistenzleistungen"); + if (cat != null) + { + var crps = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cat.CostRatePeriods); + var cp = crps.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, start); + if (cp != null && cp.CostRateValue.HasValue) + preisAssistenz = (decimal)cp.CostRateValue; + ii.AmountPerUnit = preisAssistenz; + ii.RateFactor = null; + ii.AmountTotal = preisAssistenz * ii.UnitCount; + ii.GrossAmountTotal = preisAssistenz * ii.UnitCount; + } + return ii; + } + + public override IList CreateSummaryInvoiceItems(IList itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, + Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount) + { + return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true); + } + } +} diff --git a/ReportImp/BehindertNaUnd/Invoicing/CustomInvoiceFactory.cs b/ReportImp/BehindertNaUnd/Invoicing/CustomInvoiceFactory.cs new file mode 100644 index 000000000..c4d7ba1ad --- /dev/null +++ b/ReportImp/BehindertNaUnd/Invoicing/CustomInvoiceFactory.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using BeWo.Service.Invoicing; +using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Compact; + +namespace BehindertNaUnd.Invoicing +{ + public class CustomInvoiceFactory : InvoiceFactory + { + public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary> supportConcepts2ServiceRecords) + { + foreach (var list in supportConcepts2ServiceRecords.Values) + { + foreach (var sr in list) + { + var sd = sr.ServiceDescription.Category; + var ic = GetInvoiceCreatorForCategory(sd); + if (ic != null) + return ic; + } + } + return base.CreateInvoiceCreator(specificId, tenant, supportConcepts2ServiceRecords); + } + + private InvoiceCreation GetInvoiceCreatorForCategory(ServiceCategoryDC sd) + { + if (sd != null && !String.IsNullOrEmpty(sd.Name)) + { + String cat = sd.Name.ToLower().Trim(); + if (cat.IndexOf("assistenz") >= 0) + return new CustomAssistenzInvoiceCreation(); + } + return null; + } + } +} diff --git a/ReportImp/BehindertNaUnd/Invoicing/SettlementInvoiceCreation.cs b/ReportImp/BehindertNaUnd/Invoicing/SettlementInvoiceCreation.cs new file mode 100644 index 000000000..6facc7242 --- /dev/null +++ b/ReportImp/BehindertNaUnd/Invoicing/SettlementInvoiceCreation.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Invoicing; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.Extensions; +using BS.Shared.Services; + +namespace BehindertNaUnd.Invoicing +{ + + public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation + { + public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s) + { + var relDC = c2s.MapToNewDC(); + + DateTime start = si.AccountingPeriodStart.Value.Date; + DateTime end = si.AccountingPeriodEnd.Value.Date; + if (c2s.SupportConcept.Customer.TerminationDate.HasValue && + c2s.SupportConcept.Customer.TerminationDate.Value < end) + end = c2s.SupportConcept.Customer.TerminationDate.Value; + if (end > DateTime.Now) + { + var srList = c2s.ServiceRecords; + var max = srList.Max(s => s.End); + + if (max.HasValue && max < end) + end = max.Value; + } + + var hourlyRatesInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.HourlyRate, start, end).ToList(); + if (hourlyRatesInSpanList.Count > 3) + return false; + + var factorInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.RateFactor, start, end).ToList(); + if (factorInSpanList.Count > 1) + return false; + + return true; + } + + public override bool IsServiceRecordBillable(ServiceRecord iRecord) + { + if (iRecord.ServiceDescription.ServiceCategory.Name.Contains("Assistenz")) + return false; + + return true; + } + } +} diff --git a/ReportImp/BehindertNaUnd/Properties/AssemblyInfo.cs b/ReportImp/BehindertNaUnd/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..930888dd6 --- /dev/null +++ b/ReportImp/BehindertNaUnd/Properties/AssemblyInfo.cs @@ -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")] diff --git a/ReportImp/BehindertNaUnd/Properties/licenses.licx b/ReportImp/BehindertNaUnd/Properties/licenses.licx new file mode 100644 index 000000000..c7fd819d5 --- /dev/null +++ b/ReportImp/BehindertNaUnd/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ReportImp/VSDHammReports/VsdHammReportCreator.cs b/ReportImp/VSDHammReports/VsdHammReportCreator.cs index 6f53b0a34..6580324c8 100644 --- a/ReportImp/VSDHammReports/VsdHammReportCreator.cs +++ b/ReportImp/VSDHammReports/VsdHammReportCreator.cs @@ -72,9 +72,9 @@ namespace VSDHammReports rootReport.CreateDocument(); } - for (int i = 0; i < sortedList.Count; i++) + for (int i = 1; i < sortedList.Count; i++) { - var lNext = CreateReportForServicesOverviewRo(sortedList[i], null); + var lNext = CreateServicesOverviewReportForRo(sortedList[i], serviceCategoryOid); if (lNext.Pages.Count == 0) { lNext.CreateDocument();