Files
BeWoPlaner/Report/ReportObjects/KassenbelegRO.cs
Lyndon Jetten 1df62f4183 MoK:
- Löschrechtprüfung an FaC angepasst.
- Ziele und Maßnahmen sind alphabetisch absteigend sortiert wie im FaC.
- Reports bei Klienten verbessert.
- Bargeldtransaktionshistorie eingebaut.
2024-02-20 14:42:04 +01:00

58 lines
2.2 KiB
C#

using System;
using System.Drawing;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
namespace BeWo.Report.ReportObjects
{
public class KassenbelegRO : AbstractBeWoReportObject<KassenbelegRO>
{
public string Kasse { get; set; }
public string Titel { get; set; }
public decimal Betrag { get; set; }
public DateTime Belegdatum { get; set; }
public string Beguenstigter { get; set; }
public string Belegnummer { get; set; }
public string Notiz { get; set; }
public Bitmap SignatureImage { get; set; }
public DateTime? SignatureDate { get; set; }
public static KassenbelegRO Create(BargeldtransaktionDC transaktion, BeWoEntityBase beguenstigter)
{
var sqlresult = DAOFactory.SearchDAO.GetSqlResult($"select k.oid from bargeldkasse k join bargeldtransaktion t on t.BargeldkassenOid = k.Oid where t.oid = {transaktion.BargeldtransaktionOid}");
var kasseOid = (long) sqlresult[0];
var kasse = DAOFactory.GenericDAO.LoadByID<Bargeldkasse>(kasseOid);
var signature = DAOFactory.SearchDAO.LoadSignatureByTransaktionsOid(transaktion.BargeldtransaktionOid.Value);
var beleg = new KassenbelegRO
{
Kasse = kasse.Kassenname,
Titel = $"{(transaktion.Zahlungstyp == Zahlungstyp.Einzahlung ? "Ein" : "Aus")}zahlungsbeleg",
Betrag = transaktion.Betrag ?? 0m,
Belegdatum = transaktion.Zahlungsdatum ?? DateTime.Now,
Belegnummer = transaktion.Belegnummer,
Notiz = transaktion.Notice
};
if(signature != null)
{
beleg.SignatureImage = ImageUtils.ConvertBase64StringToBitmap(signature.DataBild);
beleg.SignatureDate = signature.Zeitstempel;
}
if (beguenstigter is Customer customer)
{
beleg.Beguenstigter = customer.Person.FirstNameLastName;
}
return beleg;
}
}
}