code View

id 10
Title EVI-CS10 / Children PMTCT > 18 months in STDBY
Type evidenza
Highlight group filequery1003.cs, Evidenze
Description Children PMTCT > 18 months in STDBY
Code
                 var q_uvu = db.d_events
                   .AsNoTracking()
                   .Where(x => x.event_type.ToLower() == "app_verify" && x.date_apt_exe == null)
                   .Select(s => new { s.id_person, idApt = (string.IsNullOrEmpty(s.id_event) ? "" : "!") }).Distinct();

        DateTime datetmp = DateTime.Now.AddDays(-540);
        var qry = (from p in db.d_person
                   from s in db.d_status.Where(w => w.id_person == p.id_person && w.domain == "SERVICE" && w.active == true).DefaultIfEmpty()
                   from sh in db.d_status.Where(w => w.id_person == p.id_person && w.domain == "HIVST" && w.active == true).DefaultIfEmpty()
                   from q in q_uvu.Where(w => p.id_person == w.id_person).DefaultIfEmpty()
                   where
                     p.date_stopped == null &&
                     sh.status == "HIV_STBY" &&
                     (s.status == "MCPC" || s.status == "MCPC_C") &&
                     p.pe_dob < datetmp
                   select new
                   {
                       p.id_person,
                       q.idApt,
                       p.id_dream,
                       p.pe_surname,
                       p.pe_name,
                       p.pe_sex,
                       p.pe_dob,
                       p.date_started,
                       p.pe_note

                   }).AsEnumerable().Select(s => new
                   {
                       s.id_person,
                       s.idApt,
                       s.id_dream,
                       s.pe_surname,
                       s.pe_name,
                       s.pe_sex,
                       _data = (s.pe_dob.HasValue) ? s.pe_dob.Value.ToShortDateString() : "",
                       s.date_started,
                       s.pe_note
                   });

        dt = qry.ToDataTable();
        dt.TableName = "lst_data";

 

Ordine