public Indicators IndicatorByPacient(string patientId) { try { var serviceData = (from E in ctx.Person join A in ctx.Service on E.v_PersonId equals A.v_PersonId into A_join from A in A_join.DefaultIfEmpty() //join F in ctx.OrganizationPerson on E.v_PersonId equals F.v_PersonId //join G in ctx.Organization on F.v_OrganizationId equals G.v_OrganizationId where E.v_PersonId == patientId && A.i_IsDeleted == 0 select new { FullName = E.v_FirstName + " " + E.v_FirstLastName + " " + E.v_SecondLastName, Puesto = E.v_CurrentOccupation, Empresa = "", FechaServicio = A.d_ServiceDate }).ToList(); if (serviceData.Count == 0) { return(null); } var serviceDataTemp = (from a in serviceData select new { FullName = a.FullName, Puesto = a.Puesto, Empresa = a.Empresa, FechaServicio = a.FechaServicio.Value.Date }).ToList(); serviceDataTemp = serviceDataTemp.GroupBy(g => g.FechaServicio).Select(s => s.First()).ToList(); var serviceComponentFieldValues = (from A in ctx.Service join B in ctx.ServiceComponent on A.v_ServiceId equals B.v_ServiceId join C in ctx.ServiceComponentFields on B.v_ServiceComponentId equals C.v_ServiceComponentId join D in ctx.ServiceComponentFieldValues on C.v_ServiceComponentFieldsId equals D.v_ServiceComponentFieldsId where A.v_PersonId == patientId && (C.v_ComponentFieldId == Constants.COLESTEROL_TOTAL_Colesterol_Total_Id || C.v_ComponentFieldId == Constants.PERFIL_LIPIDICO_Colesterol_Total_Id || C.v_ComponentFieldId == Constants.GLUCOSA_Glucosa_Id || C.v_ComponentFieldId == Constants.HEMOGLOBINA_Hemoglobina_Id || C.v_ComponentFieldId == Constants.HEMOGRAMA_Hemoglobina_Id || C.v_ComponentFieldId == Constants.FUNCIONES_VITALES_Presion_Sistolica_Id || C.v_ComponentFieldId == Constants.FUNCIONES_VITALES_Presion_Distolica_Id || C.v_ComponentFieldId == Constants.ANTROPOMETRIA_Imc_Id || C.v_ComponentFieldId == Constants.ESPIROMETRIA_Cvf_Id) && B.i_IsDeleted == 0 && C.i_IsDeleted == 0 select new { ServiceDate = A.d_ServiceDate, ComponentFieldId = C.v_ComponentFieldId, ServiceComponentFieldsId = C.v_ServiceComponentFieldsId, Value1 = D.v_Value1, }).ToList(); var serviceComponentFieldValuesTemp = (from a in serviceComponentFieldValues select new { ServiceDate = a.ServiceDate.Value.Date, ComponentFieldId = a.ComponentFieldId, ServiceComponentFieldsId = a.ServiceComponentFieldsId, Value1 = a.Value1 }).ToList(); serviceComponentFieldValuesTemp = serviceComponentFieldValuesTemp.GroupBy(g => new { g.ServiceDate, g.ComponentFieldId }).Select(s => s.First()).ToList(); Indicators oIndicators = new Indicators(); oIndicators.PersonId = patientId; #region Data List <DataPatient> Data = new List <DataPatient>(); var oDataPatient = new DataPatient(); oDataPatient.Name = serviceDataTemp[0].FullName; oDataPatient.Empresa = serviceDataTemp[0].Empresa; oDataPatient.Puesto = serviceDataTemp[0].Puesto; Data.Add(oDataPatient); oIndicators.DataPatient = Data; #endregion #region IMC List <Weight> Weights = new List <Weight>(); var ListWeights = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.ANTROPOMETRIA_Imc_Id).ToList(); var ListWeightsSort = ListWeights.OrderByDescending(o1 => o1.ServiceDate).ToList(); foreach (var item in ListWeightsSort) { var oWeight = new Weight(); oWeight.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oWeight.y = item.Value1; Weights.Add(oWeight); } oIndicators.Weights = Weights; #endregion #region BloodPressureSis var BloodPressureSis = new List <BloodPressureSis>(); var ListBloodPressureSis = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.FUNCIONES_VITALES_Presion_Sistolica_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListBloodPressureSis) { var oBloodPressureSis = new BloodPressureSis(); oBloodPressureSis.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oBloodPressureSis.y = item.Value1; BloodPressureSis.Add(oBloodPressureSis); } oIndicators.BloodPressureSis = BloodPressureSis; #endregion #region BloodPressureDia var BloodPressureDia = new List <BloodPressureDia>(); var ListBloodPressureDia = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.FUNCIONES_VITALES_Presion_Distolica_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListBloodPressureDia) { var oBloodPressureDia = new BloodPressureDia(); oBloodPressureDia.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oBloodPressureDia.y = item.Value1; BloodPressureDia.Add(oBloodPressureDia); } oIndicators.BloodPressureDia = BloodPressureDia; #endregion #region Cholesterol var Cholesterol = new List <Cholesterol>(); var ListCholesterol = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.COLESTEROL_TOTAL_Colesterol_Total_Id || p.ComponentFieldId == Constants.PERFIL_LIPIDICO_Colesterol_Total_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListCholesterol) { var oCholesterol = new Cholesterol(); oCholesterol.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oCholesterol.y = item.Value1; Cholesterol.Add(oCholesterol); } oIndicators.Cholesterols = Cholesterol; #endregion #region Glucoses var Glucoses = new List <Glucose>(); var ListGlucoses = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.GLUCOSA_Glucosa_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListGlucoses) { var oGlucoses = new Glucose(); oGlucoses.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oGlucoses.y = item.Value1; Glucoses.Add(oGlucoses); } oIndicators.Glucoses = Glucoses; #endregion #region Haemoglobin var Haemoglobins = new List <Haemoglobin>(); var ListHaemoglobins = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.HEMOGLOBINA_Hemoglobina_Id || p.ComponentFieldId == Constants.HEMOGRAMA_Hemoglobina_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListHaemoglobins) { var oHaemoglobin = new Haemoglobin(); oHaemoglobin.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oHaemoglobin.y = item.Value1; Haemoglobins.Add(oHaemoglobin); } oIndicators.Haemoglobins = Haemoglobins; #endregion #region Espiro var Espiros = new List <Espiro>(); var ListEspiros = serviceComponentFieldValuesTemp.FindAll(p => p.ComponentFieldId == Constants.ESPIROMETRIA_Cvf_Id).OrderBy(p => p.ServiceDate); foreach (var item in ListEspiros) { var oEspiro = new Espiro(); oEspiro.Date = item.ServiceDate.ToString("dd-MM-yyyy"); oEspiro.y = item.Value1; Espiros.Add(oEspiro); } oIndicators.Espiros = Espiros; #endregion return(oIndicators); } catch (Exception ex) { throw; } }
public override string ToString() { string str = ""; str += "&idserver=\"" + IDServer.ToString() + "\""; if (IDUnit != -1) { str += "&idunit=\"" + IDUnit.ToString() + "\""; } if (IDServerMeal != -1) { str += "&idmeal=\"" + IDServerMeal.ToString() + "\""; } if (IDUser != 0) { str += "&iduser=\"" + IDUser.ToString() + "\""; } if (Calories != -1) { str += "&calories=\"" + Calories.ToString() + "\""; } if (Protein != -1) { str += "&protein=\"" + Protein.ToString() + "\""; } if (Carb != -1) { str += "&carb=\"" + Carb.ToString() + "\""; } if (Fat != -1) { str += "&fat=\"" + Fat.ToString() + "\""; } if (SatFat != -1) { str += "&satfat=\"" + SatFat.ToString() + "\""; } if (UnSatFat != -1) { str += "&unsatfat=\"" + UnSatFat.ToString() + "\""; } if (Cholesterol != -1) { str += "&cholesterol=\"" + Cholesterol.ToString() + "\""; } if (Sugar != -1) { str += "&sugar=\"" + Sugar.ToString() + "\""; } if (Natrium != -1) { str += "&natrium=\"" + Natrium.ToString() + "\""; } if (Potassium != -1) { str += "&potassium=\"" + Potassium.ToString() + "\""; } if (Fiber != -1) { str += "&fiber=\"" + Fiber.ToString() + "\""; } if (Deleted != -1) { str += "&deleted=\"" + Deleted.ToString() + "\""; } if (InsertDate != null) { str += "&insertdate=\"" + InsertDate.ToString("yyyy-MM-dd HH:mm:ss") + "\""; } if (UpdateDate != null) { str += "&updatedate=\"" + UpdateDate.ToString("yyyy-MM-dd HH:mm:ss") + "\""; } return(str.Substring(1)); }