Files
BeWoPlaner/ReportImp/AKGG/QuittierungsbelegPK.cs
2024-03-04 15:55:19 +01:00

164 lines
6.3 KiB
C#

using System;
using System.Collections.Generic;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
namespace Akgg
{
public partial class QuittierungsbelegPK : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public QuittierungsbelegPK()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
// Get calling method name
//StackTrace stackTrace = new StackTrace();
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
//if (pRO == null)
// return;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sd in pRO.Services)
{
if (sd.IsBillable)
{
//ServicesOverviewRO.CreateSignatureString(sd);
sd.Notice2 = "/";
sd.Notice3 = "/";
sd.Notice4 = "/";
sd.Notice5 = sd.ServiceCategory;
if (sd.ServiceCategory.Contains("Gruppe"))
{
sd.Notice4 = "3";
if (sd.ServiceCategory.Contains("Entlastung"))
sd.Notice5 = "Freizeit-/Gruppenangebot";
else if (sd.ServiceCategory.Contains("Verhinderung"))
sd.Notice5 = "Niederschwelliges Freizeitangebot in Gruppen";
}
else if (sd.ServiceCategory.Contains("Ass"))
{
sd.Notice3 = "1";
if (sd.ServiceCategory.Contains("Entlastung"))
sd.Notice5 = "Betreuungsangebot durch Assistenzkraft";
else if (sd.ServiceCategory.Contains("Verhinderung"))
sd.Notice5 = "Niederschwelliges Betreuungsangebot durch Assistenzkraft";
}
else
{
sd.Notice2 = "2";
if (sd.ServiceCategory.Contains("Entlastung"))
sd.Notice5 = "Betreuung durch Fachkraft";
else if (sd.ServiceCategory.Contains("Verhinderung"))
sd.Notice5 = "Verhinderung der Pflegeperson";
}
servicesBillable.Add(sd);
if (sd.ServiceCategory.Contains("Entlastung") && sd.GefahreneKilometer != null && Convert.ToDecimal(sd.GefahreneKilometer) > 0)
{
ServicesOverviewRO.ServiceDetail fahrtDetail = new ServicesOverviewRO.ServiceDetail();
fahrtDetail.StartDate = sd.StartDate;
fahrtDetail.Notice2 = "/";
fahrtDetail.Notice3 = "/";
fahrtDetail.Notice4 = "/";
fahrtDetail.Notice5 = String.Format("{0} km - Fahrt während der Betreuungszeit", sd.GefahreneKilometer);
servicesBillable.Add(fahrtDetail);
}
}
}
pRO.Services = servicesBillable;
}
bindingSource1.DataSource = pRO;
}
// TODO: Wie anzeigen? Alle?
//private void EmployeeSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
//{
// return;
// if(sender is XRPictureBox pictureBox)
// {
// var base64String = pictureBox.Tag as string;
// if(!string.IsNullOrWhiteSpace(base64String))
// {
// var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
// var binaryData = Convert.FromBase64String(base64Data);
// var image = ByteArrayToImage(binaryData);
// pictureBox.Image = image;
// }
// else
// {
// pictureBox.Image = null;
// }
// }
//}
//// TODO: Wie anzeigen? Alle?
//// TODO: Visibile der Datumstextboxen auf true setzen!
//private void CustomerSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e)
//{
// return;
// if(sender is XRPictureBox pictureBox)
// {
// var base64String = pictureBox.Tag as string;
// if(!string.IsNullOrWhiteSpace(base64String))
// {
// var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
// var binaryData = Convert.FromBase64String(base64Data);
// var image = ByteArrayToImage(binaryData);
// pictureBox.Image = image;
// }
// else
// {
// pictureBox.Image = null;
// }
// }
//}
//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/(?<type>.+?),(?<data>.+)").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)
//{
// using(var memoryStream = new MemoryStream(byteArrayIn))
// {
// return Image.FromStream(memoryStream);
// }
//}
}
}