Files
BeWoPlaner/Report/ReportObjects/MedVerListRO.cs
2025-06-12 15:12:30 +02:00

134 lines
4.5 KiB
C#

using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
namespace BeWo.Report.ReportObjects
{
public class MedVerListRO : AbstractBeWoReportObject<MedVerListRO>
{
private List<MedVerDetail> _MedVerDetailList2 = new List<MedVerDetail>();
private List<MedVerDetail> _MedVerDetailList3 = new List<MedVerDetail>();
private List<MedVerDetail> _MedVerDetailList4 = new List<MedVerDetail>();
private List<MedVerDetail> _MedVerDetailList5 = new List<MedVerDetail>();
private List<MedVerDetail> _MedVerDetailList6 = new List<MedVerDetail>();
public string ErstellDatum { get; set; }
public string Ersteller { get; set; }
public string Klient { get; set; }
public bool MitZusatzfeldern { get; set; }
public string Titel { get; set; }
public List<MedVerDetail> MedVerDetailList { get; set; } = new List<MedVerDetail>();
public List<MedVerDetail> MedVerDetailList2
{
get { return _MedVerDetailList2; }
set { _MedVerDetailList2 = value; }
}
public List<MedVerDetail> MedVerDetailList3
{
get { return _MedVerDetailList3; }
set { _MedVerDetailList3 = value; }
}
public List<MedVerDetail> MedVerDetailList4
{
get { return _MedVerDetailList4; }
set { _MedVerDetailList4 = value; }
}
public List<MedVerDetail> MedVerDetailList5
{
get { return _MedVerDetailList5; }
set { _MedVerDetailList5 = value; }
}
public List<MedVerDetail> MedVerDetailList6
{
get { return _MedVerDetailList6; }
set { _MedVerDetailList6 = value; }
}
public static MedVerListRO Create(long? mvlOid, bool mitZusatzfeldern = false)
{
var ro = new MedVerListRO();
var mvl = DAOFactory.GenericDAO.GetByID<Medikamentenverordnungsliste>(mvlOid.Value);
ro.ErstellDatum = mvl.InsTs.HasValue ? mvl.InsTs.Value.ToShortDateString() : string.Empty;
ro.Ersteller = mvl.InsUser;
ro.Klient = mvl.Customer.Person.FirstNameLastName;
ro.MitZusatzfeldern = mitZusatzfeldern;
ro.Titel = mvl.MedListType ? "Bedarfsmedikamentenverordnung" : "Medikamentenverordnung";
foreach (var mv in mvl.Medikamentenverordnungen)
{
var medVerDetail = new MedVerDetail
{
Morgens = Convert.ToDecimal(mv.Morgens).ToString(),
Mittags = Convert.ToDecimal(mv.Mittags).ToString(),
Abends = Convert.ToDecimal(mv.Abends).ToString(),
Nachts = Convert.ToDecimal(mv.Nachts).ToString(),
DepotMenge = Convert.ToDecimal(mv.DepotMenge).ToString(),
MedikamentenArt = mv.MedArt?.Bezeichnung ?? string.Empty,
Darreichungsform = mv.Darreichungsform?.Bezeichnung ?? string.Empty,
DepotRhythmus = mv.DepotRhythmus?.Bezeichnung ?? string.Empty,
DepotErsterTag = mv.DepotErsterTag.HasValue ? mv.DepotErsterTag.Value.ToShortDateString() : string.Empty,
DepotNaechsterTag = mv.DepotNaechsterTag.HasValue ? mv.DepotNaechsterTag.Value.ToShortDateString() : string.Empty,
MedBemerkung = mv.MedBemerkung,
MedName = mv.MedName,
MedVerordnet = mv.MedVerordnet,
Verordnungsdatum = mv.Verordnungsdatum.HasValue ? mv.Verordnungsdatum.Value.ToShortDateString() : string.Empty
};
switch(mv.MedArt.Bezeichnung)
{
case "PSY":
ro.MedVerDetailList.Add(medVerDetail);
break;
case "BPS":
ro.MedVerDetailList2.Add(medVerDetail);
break;
case "DPS":
ro.MedVerDetailList3.Add(medVerDetail);
break;
case "SOM":
ro.MedVerDetailList4.Add(medVerDetail);
break;
case "BSO":
ro.MedVerDetailList5.Add(medVerDetail);
break;
case "DSO":
ro.MedVerDetailList6.Add(medVerDetail);
break;
default:
ro.MedVerDetailList6.Add(medVerDetail);
break;
}
}
return ro;
}
}
public class MedVerDetail
{
public String MedikamentenArt { get; set; }
public String Darreichungsform { get; set; }
public String Morgens { get; set; }
public String Mittags { get; set; }
public String Abends { get; set; }
public String Nachts { get; set; }
public String DepotMenge { get; set; }
public String DepotRhythmus { get; set; }
public String DepotErsterTag { get; set; }
public String DepotNaechsterTag { get; set; }
public String MedBemerkung { get; set; }
public String MedName { get; set; }
public String MedVerordnet { get; set; }
public String Verordnungsdatum { get; set; }
}
}