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 { 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(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; } } }