CaritasGuenzburgNeuUlm/Invoicing/CustomInvoiceCreation nach Qualifikation

This commit is contained in:
2023-05-12 14:40:26 +02:00
parent 50965624db
commit 9b852a7c75
3 changed files with 106 additions and 40 deletions

View File

@@ -52,6 +52,8 @@
<Compile Include="CustomMitarbeiterstundenkontoBerechnung.cs" />
<Compile Include="CustomMitarbeiterstundenkontoBerechnungMonate.cs" />
<Compile Include="CustomReportCreator.cs" />
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Mitarbeiterarbeitszeitkonto.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -29,7 +29,7 @@ namespace CaritasGuenzburgNeuUlm
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReportQualifikation));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
@@ -58,8 +58,12 @@ namespace CaritasGuenzburgNeuUlm
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.SummeInvoiceItemBetrag = new DevExpress.XtraReports.UI.CalculatedField();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel16 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit();
@@ -264,55 +268,57 @@ namespace CaritasGuenzburgNeuUlm
// Detail3
//
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel16,
this.xrLabel11,
this.xrLabel9,
this.xrLabel6,
this.xrLabel12,
this.xrLabel10});
this.Detail3.HeightF = 40F;
this.Detail3.HeightF = 30.62502F;
this.Detail3.Name = "Detail3";
//
// xrLabel9
//
this.xrLabel9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRateString", "{0:0.00}")});
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(75F, 0F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(356.25F, 0F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.SizeF = new System.Drawing.SizeF(103.125F, 20F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(71.875F, 20F);
this.xrLabel9.StylePriority.UsePadding = false;
this.xrLabel9.Text = "xrLabel10";
//
// xrLabel6
//
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(56.25F, 0F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(275F, 0F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.SizeF = new System.Drawing.SizeF(18.75F, 20F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(81.25003F, 20F);
this.xrLabel6.StylePriority.UsePadding = false;
this.xrLabel6.Text = "x";
this.xrLabel6.Text = "Stunden x";
//
// xrLabel12
//
this.xrLabel12.BorderDashStyle = DevExpress.XtraPrinting.BorderDashStyle.Solid;
this.xrLabel12.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel12.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrLabel12.BorderWidth = 2F;
this.xrLabel12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount", "Summe: {0}")});
this.xrLabel12.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(215.625F, 0F);
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount", "{0}")});
this.xrLabel12.Font = new System.Drawing.Font("Arial", 12F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(458.3334F, 0F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.SizeF = new System.Drawing.SizeF(152.08F, 20.00001F);
this.xrLabel12.SizeF = new System.Drawing.SizeF(96.87164F, 20.00001F);
this.xrLabel12.StylePriority.UseBorderDashStyle = false;
this.xrLabel12.StylePriority.UseBorders = false;
this.xrLabel12.StylePriority.UseBorderWidth = false;
this.xrLabel12.StylePriority.UseFont = false;
this.xrLabel12.StylePriority.UsePadding = false;
this.xrLabel12.StylePriority.UseTextAlignment = false;
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrLabel12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrLabel10
//
this.xrLabel10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:0.00}")});
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(218.75F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.SizeF = new System.Drawing.SizeF(56.25F, 20F);
this.xrLabel10.StylePriority.UsePadding = false;
@@ -321,16 +327,18 @@ namespace CaritasGuenzburgNeuUlm
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel15,
this.xrLabel14,
this.xrLabel1,
this.xrRichText2});
this.GroupFooter1.HeightF = 250F;
this.GroupFooter1.HeightF = 273.9583F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 29.16667F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(666.9998F, 23F);
@@ -339,23 +347,75 @@ namespace CaritasGuenzburgNeuUlm
// xrRichText2
//
this.xrRichText2.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 39.72918F);
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.89585F);
this.xrRichText2.Name = "xrRichText2";
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
this.xrRichText2.SizeF = new System.Drawing.SizeF(666.9998F, 190F);
this.xrRichText2.StylePriority.UseFont = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// SummeInvoiceItemBetrag
//
this.SummeInvoiceItemBetrag.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.SummeInvoiceItemBetrag.Expression = "[Hours]*[HourlyRate]";
this.SummeInvoiceItemBetrag.Name = "SummeInvoiceItemBetrag";
//
// ServiceInvoiceReport
// xrLabel11
//
this.xrLabel11.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel11.SizeF = new System.Drawing.SizeF(180.2083F, 23F);
this.xrLabel11.Text = "xrLabel11";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrLabel14
//
this.xrLabel14.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel14.BorderWidth = 2F;
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "{0}")});
this.xrLabel14.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(458.3334F, 0F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(96.87164F, 25F);
this.xrLabel14.StylePriority.UseBorders = false;
this.xrLabel14.StylePriority.UseBorderWidth = false;
this.xrLabel14.StylePriority.UseFont = false;
this.xrLabel14.StylePriority.UsePadding = false;
this.xrLabel14.StylePriority.UseTextAlignment = false;
this.xrLabel14.Text = "xrLabel1";
this.xrLabel14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// xrLabel15
//
this.xrLabel15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme:")});
this.xrLabel15.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
this.xrLabel15.StylePriority.UseFont = false;
this.xrLabel15.StylePriority.UsePadding = false;
this.xrLabel15.StylePriority.UseTextAlignment = false;
this.xrLabel15.Text = "xrLabel1";
this.xrLabel15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel16
//
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(445.8335F, 0F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.SizeF = new System.Drawing.SizeF(12.49988F, 20F);
this.xrLabel16.StylePriority.UsePadding = false;
this.xrLabel16.Text = "=";
//
// ServiceInvoiceReportQualifikation
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
@@ -416,5 +476,9 @@ namespace CaritasGuenzburgNeuUlm
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
private DevExpress.XtraReports.UI.CalculatedField SummeInvoiceItemBetrag;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
private DevExpress.XtraReports.UI.XRLabel xrLabel16;
}
}

View File

@@ -7,7 +7,7 @@ using DevExpress.XtraReports.UI;
namespace CaritasGuenzburgNeuUlm
{
[IDSpecificClass(Identifier = "Modellprojekt")]
[IDSpecificClass(Identifier = "Qualifikation")]
public partial class ServiceInvoiceReportQualifikation : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
@@ -54,23 +54,23 @@ namespace CaritasGuenzburgNeuUlm
lblAdresse.Text = sb.ToString();
if (pRO.ServiceInvoicePeriods != null)
{
foreach (var sip in pRO.ServiceInvoicePeriods)
{
if (sip.ServiceInvoiceItems != null)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
var rf = ii.RateFactor.Split();
if (rf.Length > 1)
ii.Hours *= (Convert.ToDecimal(rf[0]) + 100) / 100;
ii.ServiceDescription = String.Format("{0:0.00} Stunden à € {1:0.00}", ii.UnitCount, ii.AmountPerUnit);
//if (pRO.ServiceInvoicePeriods != null)
//{
// foreach (var sip in pRO.ServiceInvoicePeriods)
// {
// if (sip.ServiceInvoiceItems != null)
// {
// foreach (var ii in sip.ServiceInvoiceItems)
// {
// var rf = ii.RateFactor.Split();
// if (rf.Length > 1)
// ii.Hours *= (Convert.ToDecimal(rf[0]) + 100) / 100;
// ii.ServiceDescription = String.Format("{0:0.00} Stunden à € {1:0.00}", ii.UnitCount, ii.AmountPerUnit);
}
}
}
}
// }
// }
// }
//}
this.bindingSource1.DataSource = pRO;
}