50 lines
1.9 KiB
C#
50 lines
1.9 KiB
C#
using System;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
|
|
using BS.Shared;
|
|
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 static KassenbelegRO Create(BargeldtransaktionDC transaktion, BeWoEntityBase beguenstigter)
|
|
{
|
|
var sqlresult = DAOFactory.SearchDAO.GetSqlResult(String.Format("select k.oid from bargeldkasse k join bargeldtransaktion t on t.BargeldkassenOid = k.Oid where t.oid = {0}", transaktion.BargeldtransaktionOid));
|
|
long kasseOid = (long)sqlresult[0];
|
|
var kasse = DAOFactory.GenericDAO.LoadByID<Bargeldkasse>(kasseOid);
|
|
|
|
var beleg = new KassenbelegRO
|
|
{
|
|
Kasse = kasse.Kassenname,
|
|
Titel = string.Format("{0}zahlungsbeleg", (transaktion.Zahlungstyp == Zahlungstyp.Einzahlung ? "Ein" : "Aus")),
|
|
Betrag = transaktion.Betrag != null ? transaktion.Betrag.Value : 0m,
|
|
Belegdatum = transaktion.Zahlungsdatum != null ? transaktion.Zahlungsdatum.Value : DateTime.Now,
|
|
Belegnummer = transaktion.Belegnummer,
|
|
Notiz = transaktion.Notice
|
|
};
|
|
|
|
if (beguenstigter != null)
|
|
{
|
|
if (beguenstigter is Customer)
|
|
{
|
|
var customer = (Customer)beguenstigter;
|
|
|
|
beleg.Beguenstigter = customer.Person.FirstNameLastName;
|
|
}
|
|
}
|
|
|
|
return beleg;
|
|
}
|
|
}
|
|
}
|