From dc8b697dede7ac4ffb996209ca76f02c23a1dabf Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 6 May 2025 14:29:39 +0200 Subject: [PATCH] =?UTF-8?q?DiakonischesWerkWesel/QuittierungsbelegMitDatum?= =?UTF-8?q?.cs=20-=20Einzelunterschriftsdatum=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QuittierungsbelegMitDatum.Designer.cs | 3 + .../QuittierungsbelegMitDatum.cs | 268 +++++++++--------- 2 files changed, 139 insertions(+), 132 deletions(-) diff --git a/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.Designer.cs b/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.Designer.cs index b4ee73ac8..85b2bbaa9 100644 --- a/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.Designer.cs +++ b/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.Designer.cs @@ -289,12 +289,15 @@ namespace DiakonischesWerkWesel // // xrTableCell44 // + this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.SignatureDate")}); this.xrTableCell44.Name = "xrTableCell44"; this.xrTableCell44.StylePriority.UseBorders = false; this.xrTableCell44.StylePriority.UseFont = false; this.xrTableCell44.StylePriority.UsePadding = false; this.xrTableCell44.StylePriority.UseTextAlignment = false; this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell44.TextFormatString = "{0:dd.MM.yyyy}"; this.xrTableCell44.Weight = 0.20202019104791347D; // // xrTableCell50 diff --git a/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.cs b/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.cs index 802402a9f..e7c31e323 100644 --- a/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.cs +++ b/ReportImp/DiakonischesWerkWesel/QuittierungsbelegMitDatum.cs @@ -1,35 +1,39 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using System.Text.RegularExpressions; -using BeWo.Report; -using BeWo.Report.ReportObjects; -using BS.Shared.Core; -using DevExpress.XtraReports.UI; - -namespace DiakonischesWerkWesel -{ - public partial class Quittierungsbeleg : DevExpress.XtraReports.UI.XtraReport, IBeWoReport - { - public Quittierungsbeleg() - { - InitializeComponent(); - } - - public void SetReportDataSource(ServicesOverviewRO pRO) - { - bool hatGruppen = false; - - if (pRO.Services != null) - { - List servicesBillable = new List(); - - foreach (var sd in pRO.Services) - { - if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt")) +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Text.RegularExpressions; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BS.Shared.Core; +using DevExpress.XtraReports.UI; + +namespace DiakonischesWerkWesel +{ + public partial class Quittierungsbeleg : DevExpress.XtraReports.UI.XtraReport, IBeWoReport + { + public Quittierungsbeleg() + { + InitializeComponent(); + } + + public void SetReportDataSource(ServicesOverviewRO pRO) + { + bool hatGruppen = false; + + if (pRO.Services != null) + { + List servicesBillable = new List(); + + foreach (var sd in pRO.Services) + { + if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt")) { - ServicesOverviewRO.CreateSignatureString(sd); + ServicesOverviewRO.CreateSignatureString(sd); + if (sd.SignatureDate.HasValue && sd.SignatureDate.Value.Date == sd.StartDate.Date) + { + sd.SignatureDate = null; + } sd.Notice5 = "E"; @@ -41,104 +45,104 @@ namespace DiakonischesWerkWesel { sd.Notice5 = "GR"; hatGruppen = true; - } - - servicesBillable.Add(sd); - } - } - - pRO.Services = servicesBillable; - } - - if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes)) - { - lblHatAbwesenheiten.Text = "X"; - } - - if (!hatGruppen) - { - lblHatGruppen.Text = "X"; - } - - ErstelleAbwesenheitenTabelle(pRO); - - bindingSource1.DataSource = pRO; - } - - private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo) - { - if (pRo.Abwesenheiten != null) - { - int newRows = 0; - int index = 1; - foreach (var at in pRo.Abwesenheiten) - { - if (at.AbsenceReason.BillableMinutes.HasValue && at.AbsenceReason.BillableMinutes.Value > 0) - { - DevExpress.XtraReports.UI.XRTableRow row = null; - if (index < xrTableAbwesenheiten.Rows.Count) - { - row = xrTableAbwesenheiten.Rows[index]; - } - else - { - row = xrTableAbwesenheiten.InsertRowBelow( - xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]); - newRows++; - } - - row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start); - int? days = null; - - if (at.End.HasValue) - { - row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End); - days = (int) at.End.Value.Subtract(at.Start.Value).TotalDays + 1; - } - else - { - row.Cells[1].Text = "unbekannt"; - } - - row.Cells[2].Text = String.Format("{0:0}", days); - - index++; - } - } - - if (newRows > 0) - { - lblUnterschriftKlient.Top += newRows * 20; - lblUnterschriftMitarbeiter.Top += newRows * 20; - } - } - } - - private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e) - { - XRPictureBox xrBox = sender as XRPictureBox; - //var test = this.GetCurrent - string base64String = xrBox.Tag as string; - if (!String.IsNullOrWhiteSpace(base64String)) - { - var base64Data = Regex.Match(base64String, @"data:image/(?.+?),(?.+)").Groups["data"].Value; - var binData = Convert.FromBase64String(base64Data); - Image img = ByteArrayToImage(binData); - xrBox.Image = Utils.CropImage(img); - } - else - { - xrBox.Image = null; - } - } - - public Image ByteArrayToImage(byte[] byteArrayIn) - { - Image returnImage = null; - MemoryStream ms = new System.IO.MemoryStream(byteArrayIn); - returnImage = Image.FromStream(ms); - - return returnImage; - } - } -} + } + + servicesBillable.Add(sd); + } + } + + pRO.Services = servicesBillable; + } + + if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes)) + { + lblHatAbwesenheiten.Text = "X"; + } + + if (!hatGruppen) + { + lblHatGruppen.Text = "X"; + } + + ErstelleAbwesenheitenTabelle(pRO); + + bindingSource1.DataSource = pRO; + } + + private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo) + { + if (pRo.Abwesenheiten != null) + { + int newRows = 0; + int index = 1; + foreach (var at in pRo.Abwesenheiten) + { + if (at.AbsenceReason.BillableMinutes.HasValue && at.AbsenceReason.BillableMinutes.Value > 0) + { + DevExpress.XtraReports.UI.XRTableRow row = null; + if (index < xrTableAbwesenheiten.Rows.Count) + { + row = xrTableAbwesenheiten.Rows[index]; + } + else + { + row = xrTableAbwesenheiten.InsertRowBelow( + xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]); + newRows++; + } + + row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start); + int? days = null; + + if (at.End.HasValue) + { + row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End); + days = (int) at.End.Value.Subtract(at.Start.Value).TotalDays + 1; + } + else + { + row.Cells[1].Text = "unbekannt"; + } + + row.Cells[2].Text = String.Format("{0:0}", days); + + index++; + } + } + + if (newRows > 0) + { + lblUnterschriftKlient.Top += newRows * 20; + lblUnterschriftMitarbeiter.Top += newRows * 20; + } + } + } + + private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e) + { + XRPictureBox xrBox = sender as XRPictureBox; + //var test = this.GetCurrent + string base64String = xrBox.Tag as string; + if (!String.IsNullOrWhiteSpace(base64String)) + { + var base64Data = Regex.Match(base64String, @"data:image/(?.+?),(?.+)").Groups["data"].Value; + var binData = Convert.FromBase64String(base64Data); + Image img = ByteArrayToImage(binData); + xrBox.Image = Utils.CropImage(img); + } + else + { + xrBox.Image = null; + } + } + + public Image ByteArrayToImage(byte[] byteArrayIn) + { + Image returnImage = null; + MemoryStream ms = new System.IO.MemoryStream(byteArrayIn); + returnImage = Image.FromStream(ms); + + return returnImage; + } + } +}