using System; using System.Collections.Generic; using BeWo.Data.Access; using BeWo.Data.Entities; namespace BeWo.Report.ReportObjects { public class MedVerListRO : AbstractBeWoReportObject { private List _MedVerDetailList2 = new List(); private List _MedVerDetailList3 = new List(); private List _MedVerDetailList4 = new List(); private List _MedVerDetailList5 = new List(); private List _MedVerDetailList6 = new List(); 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 MedVerDetailList { get; set; } = new List(); public List MedVerDetailList2 { get { return _MedVerDetailList2; } set { _MedVerDetailList2 = value; } } public List MedVerDetailList3 { get { return _MedVerDetailList3; } set { _MedVerDetailList3 = value; } } public List MedVerDetailList4 { get { return _MedVerDetailList4; } set { _MedVerDetailList4 = value; } } public List MedVerDetailList5 { get { return _MedVerDetailList5; } set { _MedVerDetailList5 = value; } } public List 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(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; } } }