Пример #1
0
        public string GetFoodRegimeString(FeedingRegime f)
        {
            string frModalId          = "fr-" + foodRegimesCount.ToString();
            string frModalIdSelectDiv = frModalId + "-Select";
            string frModalIdTimeDiv   = frModalId + "-Time";
            string frModalIdDetailDiv = frModalId + "-Detail";
            string frModalIdIdDiv     = frModalId + "-Id";

            string divStart = "<div id='" + frModalId + "' class='model food-regime'>";
            string divEnd   = "</div>";

            string div_select_start = "<div id='" + frModalIdSelectDiv + "' class='mar-bot-10'>";
            int    selectedValue    = (int)f.tipo_comida;
            string opt_1            = selectedValue == 0 ? "selected='selected'" : "";
            string opt_2            = selectedValue == 1 ? "selected='selected'" : "";
            string opt_3            = selectedValue == 2 ? "selected='selected'" : "";
            string opt_4            = selectedValue == 3 ? "selected='selected'" : "";
            string opt_5            = selectedValue == 4 ? "selected='selected'" : "";
            string dropdown         = "<select id='" + frModalIdSelectDiv + "-type' value='" + selectedValue + "' class='form-control search mar-0' name='tipo_comida'>" +
                                      "<option value='0' " + opt_1 + ">Desayuno</option>" +
                                      "<option value='1' " + opt_2 + ">MediaMañana</option>" +
                                      "<option value='2' " + opt_3 + ">Almuerzo</option>" +
                                      "<option value='3' " + opt_4 + ">MediaTarde</option>" +
                                      "<option value='4' " + opt_5 + ">Cena</option></select>";

            string div_time_start = "<div id='" + frModalIdTimeDiv + "' class='mar-bot-10'>";
            string timepicker     = "<input id='" + frModalIdTimeDiv + "-hour' type='text' name='hora' value='" + f.hora.ToString("hh':'mm") + "' class='form-control search mar-0' />";

            string div_textarea_start = "<div id='" + frModalIdDetailDiv + "' class='mar-bot-10'>";
            string textarea           = "<textarea class='form-control search mar-0' cols='20' id='" + frModalIdDetailDiv + "-detail' name='detalles' rows='2'>" + f.detalles + "</textarea>";

            string div_id_start = "<div id='" + frModalIdIdDiv + "' class='mar-bot-10'>";
            string idtextbox    = "<textarea class='form-control search mar-0' cols='20' id='" + frModalIdIdDiv + "-id' name='id' rows='2' style='display: none;'>" + f.id + "</textarea>";

            return(divStart + div_select_start + dropdown + divEnd + div_time_start + timepicker + divEnd + div_textarea_start + textarea + divEnd + div_id_start + idtextbox + divEnd + divEnd);
        }
Пример #2
0
        public async Task <string> Edit(string json)
        {
            Dictionary <string, object> oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, object> >(json);

            int fmID = int.Parse((string)oDict["fmId"]);

            fichas_medicas oFM = db.fichas_medicas.Where(f => f.id == fmID).Include(f => f.controles).Include(f => f.regimen_alimentacion).FirstOrDefault();

            // C_1
            #region C_1
            oFM.programa_id  = int.Parse((string)oDict["programId"]);
            oFM.cliente_id   = int.Parse((string)oDict["clientId"]);
            oFM.estatura     = double.Parse((string)oDict["height"]);
            oFM.contextura   = (Contextures)(int.Parse((string)oDict["contexture"]));
            oFM.peso_actual  = double.Parse((string)oDict["actualWeight"]);
            oFM.peso_deseado = double.Parse((string)oDict["wishedWeight"]);
            oFM.peso_ideal   = double.Parse((string)oDict["idealWeight"]);
            #endregion

            // C_2
            #region C_2
            var controlsJArray         = (Newtonsoft.Json.Linq.JArray)oDict["controls"];
            var controlsJArrayAsString = controlsJArray.ToString();
            List <Dictionary <string, object> > oControlsLst = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(controlsJArrayAsString);
            List <ControlesNutricionales>       controlesNutricionalesLst = new List <ControlesNutricionales>();
            List <ControlesNutricionales>       controlesGuardadosLst     = oFM.controles;

            foreach (Dictionary <string, object> c in oControlsLst)
            {
                if (c.Count > 0)
                {
                    ControlesNutricionales cn = new ControlesNutricionales();
                    int  id     = 0;
                    bool exists = int.TryParse((string)c["id"], out id);
                    if (exists)
                    {
                        cn.id         = id;
                        cn.created_at = DateTime.Parse((string)c["created_at"]);
                    }
                    else
                    {
                        cn.created_at = CurrentDate.getNow();
                    }
                    string format = "MM'/'dd'/'yyyy";
                    System.Globalization.CultureInfo pe = new System.Globalization.CultureInfo("es-PE");
                    cn.fecha      = DateTime.ParseExact((string)c["date"], format, pe);
                    cn.act        = double.Parse((string)c["act"]);
                    cn.mme        = double.Parse((string)c["mme"]);
                    cn.mgc        = double.Parse((string)c["mgc"]);
                    cn.mc         = double.Parse((string)c["imc"]);
                    cn.pgc        = double.Parse((string)c["pgc"]);
                    cn.rcc        = double.Parse((string)c["rcc"]);
                    cn.peso       = double.Parse((string)c["weight"]);
                    cn.updated_at = CurrentDate.getNow();
                    controlesNutricionalesLst.Add(cn);
                }
            }

            for (int c = 0; c < controlesNutricionalesLst.Count; c++)
            {
                if (controlesNutricionalesLst[c].id > 0)
                {
                    controlesGuardadosLst[c].fecha      = controlesNutricionalesLst[c].fecha;
                    controlesGuardadosLst[c].act        = controlesNutricionalesLst[c].act;
                    controlesGuardadosLst[c].mme        = controlesNutricionalesLst[c].mme;
                    controlesGuardadosLst[c].mgc        = controlesNutricionalesLst[c].mgc;
                    controlesGuardadosLst[c].mc         = controlesNutricionalesLst[c].mc;
                    controlesGuardadosLst[c].pgc        = controlesNutricionalesLst[c].pgc;
                    controlesGuardadosLst[c].rcc        = controlesNutricionalesLst[c].rcc;
                    controlesGuardadosLst[c].peso       = controlesNutricionalesLst[c].peso;
                    controlesGuardadosLst[c].updated_at = controlesNutricionalesLst[c].updated_at;
                }
                else
                {
                    controlesGuardadosLst.Add(controlesNutricionalesLst[c]);
                }
            }
            #endregion

            // C_3
            #region C_3
            oFM.frec_fumador         = (Frecuencies)(int.Parse((string)oDict["smokeFrecuency"]));
            oFM.frec_bebedor         = (Frecuencies)(int.Parse((string)oDict["drinkFrecuency"]));
            oFM.cortisona            = (bool)oDict["cortisone"];
            oFM.esteroidesAnabolicos = (bool)oDict["anabolics"];
            oFM.anfetaminas          = (bool)oDict["anfetamines"];
            oFM.marihuana            = (bool)oDict["marihuana"];
            oFM.otra    = (bool)oDict["other"];
            oFM.ninguna = (bool)oDict["none"];
            WomenMenstruationInfo m = new WomenMenstruationInfo();
            oFM.menstruacion_menopausia = m;

            int childQty = 0;
            int.TryParse((string)oDict["childQty"], out childQty);
            oFM.menstruacion_menopausia.cantidad_hijos = childQty;

            int  birthType = 0;
            bool bt        = int.TryParse((string)oDict["birthType"], out birthType);
            if (bt)
            {
                oFM.menstruacion_menopausia.tipo_parto = (BirthTypes)birthType;
            }

            int  menopauseAge = 0;
            bool ma           = int.TryParse((string)oDict["menopauseAge"], out menopauseAge);
            if (ma)
            {
                oFM.menstruacion_menopausia.edad_menopausia = menopauseAge;
            }

            oFM.menstruacion_menopausia.menopausia_activa = (bool)oDict["menopauseActive"];

            if (string.IsNullOrEmpty((string)oDict["hormoneTreatment"]))
            {
                oFM.menstruacion_menopausia.tratamiento_hormonal = "";
            }
            else
            {
                oFM.menstruacion_menopausia.tratamiento_hormonal = (string)oDict["hormoneTreatment"];
            }

            Background bg = new Background();
            oFM.antecedentes = bg;

            oFM.antecedentes.gastricos            = (bool)oDict["bgGastric"];
            oFM.antecedentes.diabetes             = (bool)oDict["bgDiabetes"];
            oFM.antecedentes.trigliceridos_altos  = (bool)oDict["bgHighTriglicerids"];
            oFM.antecedentes.hipertiroidismo      = (bool)oDict["bgHipertiroidism"];
            oFM.antecedentes.hipotiroidismo       = (bool)oDict["bgHipotiroidism"];
            oFM.antecedentes.quistes              = (bool)oDict["bgQuists"];
            oFM.antecedentes.tumores              = (bool)oDict["bgTumors"];
            oFM.antecedentes.resistencia_insulina = (bool)oDict["bgInsulinResistant"];
            oFM.antecedentes.otras_dislipidemias  = (bool)oDict["bgOtherDyslipidemias"];
            oFM.antecedentes.prostata             = (bool)oDict["bgProstate"];
            oFM.antecedentes.renales              = (bool)oDict["bgRenal"];
            oFM.antecedentes.hepaticos            = (bool)oDict["bgHepatic"];
            oFM.antecedentes.presion_alta         = (bool)oDict["bgHighPresure"];
            oFM.antecedentes.presion_baja         = (bool)oDict["bgLowPresure"];
            oFM.antecedentes.colesterol_alto      = (bool)oDict["bgHighCholesterol"];
            oFM.antecedentes.anemia        = (bool)oDict["bgAnemia"];
            oFM.antecedentes.hernias       = (bool)oDict["bgHernia"];
            oFM.antecedentes.estrenimiento = (bool)oDict["bgConstipation"];
            oFM.antecedentes.no_mencionada = (bool)oDict["bgNotMentioned"];

            TraumatologyProblems tp = new TraumatologyProblems();
            oFM.problemas_traumatologicos = tp;
            oFM.problemas_traumatologicos.dolores_articulares = (bool)oDict["traumaArticulationPain"];
            oFM.problemas_traumatologicos.osteoporosis        = (bool)oDict["traumaOsteoporosis"];
            oFM.problemas_traumatologicos.problemas_columna   = (bool)oDict["traumaColumnProblems"];

            if (string.IsNullOrEmpty((string)oDict["traumaColumnProblemsText"]))
            {
                oFM.problemas_traumatologicos.problemas_columna_texto = "";
            }
            else
            {
                oFM.problemas_traumatologicos.problemas_columna_texto = (string)oDict["traumaColumnProblemsText"];
            }

            oFM.problemas_traumatologicos.otras_lesiones = (bool)oDict["traumaOtherInjuries"];

            if (string.IsNullOrEmpty((string)oDict["traumaOtherInjuriesText"]))
            {
                oFM.problemas_traumatologicos.otras_lesiones_texto = "";
            }
            else
            {
                oFM.problemas_traumatologicos.otras_lesiones_texto = (string)oDict["traumaOtherInjuriesText"];
            }

            RespiratoryProblems rp = new RespiratoryProblems();
            oFM.problemas_respiratorios = rp;
            oFM.problemas_respiratorios.asma_cronica         = (bool)oDict["respiratoryChronicAsthma"];
            oFM.problemas_respiratorios.tos_cronica          = (bool)oDict["respiratoryChronicCough"];
            oFM.problemas_respiratorios.resfriados_continuos = (bool)oDict["respiratoryContinuosColds"];
            oFM.problemas_respiratorios.bronquitis           = (bool)oDict["respiratoryBronquitis"];
            oFM.problemas_respiratorios.rinitis_alergica     = (bool)oDict["respiratoryRinitis"];
            oFM.problemas_respiratorios.sinusitis            = (bool)oDict["respiratorySinusitis"];
            oFM.problemas_respiratorios.amigdalitis          = (bool)oDict["respiratoryAmigdalitis"];
            oFM.problemas_respiratorios.otros = (bool)oDict["respiratoryOther"];

            GeneralBackground gbg = new GeneralBackground();
            oFM.antecedentas_generales               = gbg;
            oFM.antecedentas_generales.obesidad      = (bool)oDict["gbgObesity"];
            oFM.antecedentas_generales.hipertension  = (bool)oDict["gbgHipertension"];
            oFM.antecedentas_generales.diabetes      = (bool)oDict["gbgDiabetes"];
            oFM.antecedentas_generales.cardiopatias  = (bool)oDict["gbgCardiopathy"];
            oFM.antecedentas_generales.no_mencionada = (bool)oDict["gbgNotMentioned"];

            NutritionalAnamnesis na = new NutritionalAnamnesis();
            oFM.anamnesis_nutricional = na;
            oFM.anamnesis_nutricional.alimentos_fuera_de_casa = (bool)oDict["anamnesisFoodOutOfHome"];
            oFM.anamnesis_nutricional.frecAlimentosFuera      = (Frecuencies)(int.Parse((string)oDict["anamnesisFoodOutOfHomeFrec"]));
            oFM.anamnesis_nutricional.tipo_alimentos_fuera    = (string)oDict["anamnesisFoodOutOfHomeType"];

            int waterQty = 0;
            int.TryParse((string)oDict["anamnesisWaterGlassQty"], out waterQty);
            oFM.anamnesis_nutricional.cantidad_vasos_agua_dia = waterQty;

            oFM.anamnesis_nutricional.alimentos_preferencia    = (string)oDict["anamnesisPreferredFood"];
            oFM.anamnesis_nutricional.alimentos_no_preferencia = (string)oDict["anamnesisNonPreferredFood"];
            oFM.anamnesis_nutricional.alimentos_daninos        = (string)oDict["anamnesisUnsafeFood"];
            #endregion

            // C_4
            #region C_4
            var foodRegimeJArray         = (Newtonsoft.Json.Linq.JArray)oDict["foodRegimes"];
            var foodRegimeJArrayAsString = foodRegimeJArray.ToString();
            List <Dictionary <string, object> > oFoodRegimeLst = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(foodRegimeJArrayAsString);
            List <FeedingRegime> foodRegimesLst          = new List <FeedingRegime>();
            List <FeedingRegime> foodRegimesGuardadosLst = oFM.regimen_alimentacion;

            foreach (Dictionary <string, object> f in oFoodRegimeLst)
            {
                if (f.Count > 0)
                {
                    FeedingRegime fr     = new FeedingRegime();
                    int           id     = 0;
                    bool          exists = int.TryParse((string)f["id"], out id);
                    if (exists)
                    {
                        fr.id = id;
                    }
                    fr.tipo_comida = (FoodTypes)int.Parse((string)f["foodType"]);
                    fr.hora        = TimeSpan.Parse((string)f["hour"]);
                    fr.detalles    = (string)f["detail"];
                    foodRegimesLst.Add(fr);
                }
            }

            for (int c = 0; c < foodRegimesLst.Count; c++)
            {
                if (foodRegimesLst[c].id > 0)
                {
                    foodRegimesGuardadosLst[c].id          = foodRegimesLst[c].id;
                    foodRegimesGuardadosLst[c].tipo_comida = foodRegimesLst[c].tipo_comida;
                    foodRegimesGuardadosLst[c].hora        = foodRegimesLst[c].hora;
                    foodRegimesGuardadosLst[c].detalles    = foodRegimesLst[c].detalles;
                }
                else
                {
                    foodRegimesGuardadosLst.Add(foodRegimesLst[c]);
                }
            }
            oFM.regimen_alimentacion = foodRegimesLst;
            #endregion

            oFM.updated_at = CurrentDate.getNow();
            oFM.updated_by = SessionPersister.UserId;

            if (ModelState.IsValid)
            {
                db.Entry(oFM).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return("Ok");
            }

            return("Error al guardar información.");
        }