Пример #1
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            fichas_medicas fichas_medicas = await db.fichas_medicas.FindAsync(id);

            db.fichas_medicas.Remove(fichas_medicas);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Пример #2
0
        // GET: FichasMedicas/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            fichas_medicas fichas_medicas = await db.fichas_medicas.FindAsync(id);

            if (fichas_medicas == null)
            {
                return(HttpNotFound());
            }
            return(View(fichas_medicas));
        }
        public async Task <ActionResult> Create(int clientId, CardioInfo cardioInfo)
        {
            if (ModelState.IsValid)
            {
                fichas_medicas fm = db.fichas_medicas.Where(m => m.cliente_id == clientId).Include(m => m.cardio).OrderByDescending(m => m.created_at).FirstOrDefault();
                fm.cardio.Add(cardioInfo);
                fm.updated_at = Utilities.CurrentDate.getNow();

                db.Entry(fm).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index", new { clientId = clientId }));
            }

            return(View(cardioInfo));
        }
        public async Task <ActionResult> Global(int id)
        {
            int daysInMonth = DateTime.DaysInMonth(CurrentDate.getNow().Year, CurrentDate.getNow().Month);

            DateTime today    = CurrentDate.getNow();
            DateTime firstDay = new DateTime(today.Year, today.Month, 1);
            DateTime lastDay  = new DateTime(today.Year, today.Month, daysInMonth);

            // Info General
            clientes client = await db.clientes
                              .Where(m => m.id_alt == id)
                              .Include(m => m.nutricionistas.usuarios)
                              .FirstOrDefaultAsync();

            // Info Programa
            programa_clientes program = await db.programa_clientes
                                        .Where(m => m.cliente_id == client.id_alt && m.fecha_inicio <= today && m.fecha_fin >= today)
                                        .Include(m => m.programa)
                                        .Include(m => m.horario.sala.local)
                                        .OrderBy(m => m.fecha_fin)
                                        .FirstOrDefaultAsync();

            ViewBag.ProgramId = program != null?program.id.ToString() : "";

            ViewBag.ProgramName     = program != null ? program.programa.nombre : "";
            ViewBag.ProgramInitDate = program != null?program.fecha_inicio.ToShortDateString() : "";

            ViewBag.ProgramEndDate = program != null?program.fecha_fin.ToShortDateString() : "";

            ViewBag.ProgramSchedule = program != null?program.horario.hora.ToString() : "";

            ViewBag.Gym = program != null ? program.horario.sala.local.nombre : "";

            // Info Notas del cliente
            List <clientes_notas> notes = await db.clientes_notas.Where(n => n.idCliente == id).OrderByDescending(n => n.created_at).Take(15).ToListAsync();

            ViewBag.ClientNotes = notes;

            //// Info Calendario.
            //List<pesos_medidas> clientPyM = await db.pesos_medidas.Where(m => m.clienteId == id && m.created_at >= firstDay && m.created_at <= lastDay).ToListAsync();
            //List<clientes_asistencia> clientAssistance = await db.clientes_asistencia.Where(m => m.clienteId == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync();
            //List<clientes_congelamientos> clientFreezing = await db.clientes_congelamientos.Where(m => m.clienteId == id && m.fecha_desde >= firstDay).ToListAsync();
            //List<citas> clientConsults = await db.citas.Where(m => m.cliente_id == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync();

            // Info Nutricion.

            ViewBag.AssignedNutritionist = client.nutricionistas.usuarios.nombres + " " + client.nutricionistas.usuarios.apellidos;
            if (program != null)
            {
                // Info Ficha Medica
                fichas_medicas medicalHistory = await db.fichas_medicas.Where(m => m.programa_id == program.id).Include(m => m.cardio).FirstOrDefaultAsync();

                ViewBag.MedicalId = "No ha sido creada.";
                ViewBag.Cardio    = "No se han ingresado datos.";
                if (medicalHistory != null)
                {
                    int clientCurrMedicalHistoryIdCode = 10000000 + medicalHistory.id;
                    ViewBag.MedicalId = clientCurrMedicalHistoryIdCode.ToString("FS#");

                    if (medicalHistory.cardio != null)
                    {
                        CardioInfo lastCardioResults = medicalHistory.cardio.OrderByDescending(m => m.fecha).FirstOrDefault();
                        if (lastCardioResults.cardiologia_aprobacion == CardioSuittable.Apto)
                        {
                            ViewBag.Cardio = CardioSuittable.Apto.ToString();
                        }
                        else
                        {
                            ViewBag.Cardio = CardioSuittable.NoApto.ToString();
                        }
                    }
                }

                // Info Dieta
                clientes_dietas clientDiet = await db.clientes_dietas.Where(m => m.programa_clientes_id == program.id).OrderByDescending(m => m.created_at).FirstOrDefaultAsync();

                if (clientDiet != null)
                {
                    int dietCode = 10000000 + clientDiet.id;
                    ViewBag.DietCode = dietCode.ToString("D#");
                }
            }

            // Info Ventas

            venta_usuarios usrSales = await db.venta_usuarios
                                      .Where(m => m.cliente_id == client.id_alt)
                                      .OrderByDescending(m => m.created_at)
                                      .FirstOrDefaultAsync();

            if (usrSales != null)
            {
                usuarios usr = await db.vendedores.Where(v => v.usuario_id == usrSales.vendedor_id).Include(v => v.usuarios).Select(v => v.usuarios).FirstOrDefaultAsync();

                ViewBag.Seller      = usr.nombres + " " + usr.apellidos;
                ViewBag.LastTicket  = usrSales.numero_boleta;
                ViewBag.LastRenewal = usrSales.fecha_inicio.ToShortDateString();

                semanas_precios weeks = db.semanas_precios.Where(s => s.id == usrSales.semanas_precio_id).FirstOrDefault();

                int boughtWeeks = weeks.cantidad_semanas;
                ViewBag.BoughtWeeks = boughtWeeks.ToString();
                int usedWeeks = await GetUsedWeeks(ClientId : client.id_alt, LastSaleId : usrSales.id);

                ViewBag.UsedWeeks    = usedWeeks;
                ViewBag.PendingWeeks = boughtWeeks - usedWeeks;
            }

            //ViewBag.venta_usuario = db.venta_usuarios.Where(vu => vu.cliente_id == id).FirstOrDefault();
            //ViewBag.programa_cliente = db.programa_clientes.Where(pc => pc.cliente_id == id).FirstOrDefault();

            //ViewBag.calPyM = clientPyM;
            //ViewBag.calAsist = clientAssistance;
            //ViewBag.calFrz = clientFreezing;
            //ViewBag.calCitas = clientConsults;
            //

            //ViewBag.cardioApt = cardioApt;
            //ViewBag.foto = Convert.ToBase64String(cliente.foto);

            return(View(client));
        }
Пример #5
0
        // GET: FichasMedicas/Create
        public ActionResult Create(int clienteId)
        {
            clientes          cl    = db.clientes.Where(c => c.id_alt == clienteId).FirstOrDefault();
            DateTime          today = CurrentDate.getNow();
            programa_clientes prgCl = db.programa_clientes.Where(m => m.cliente_id == cl.id_alt && m.fecha_inicio <= today && m.fecha_fin >= today).FirstOrDefault();

            fichas_medicas fm = db.fichas_medicas.Where(m => m.cliente_id == cl.id_alt).Include(m => m.controles).Include(m => m.regimen_alimentacion).Include(m => m.cardio).Include(m => m.laboratorio).OrderByDescending(m => m.created_at).FirstOrDefault();

            ViewBag.currentCardioControl = null;
            if (fm != null && fm.cardio.Count > 0)
            {
                CardioInfo lastCardioInfoInserted = fm.cardio.OrderByDescending(m => m.fecha).First();

                TimeSpan dateDif = CurrentDate.getNow().Subtract(lastCardioInfoInserted.fecha);

                if (dateDif <= new TimeSpan(180, 0, 0, 0))
                {
                    ViewBag.currentCardioControl = lastCardioInfoInserted;
                }
            }

            ViewBag.currentLabControl = null;
            if (fm != null && fm.laboratorio.Count > 0)
            {
                LabResults lastLabInfoInserted = fm.laboratorio.OrderByDescending(m => m.fecha).First();

                TimeSpan dateDif = CurrentDate.getNow().Subtract(lastLabInfoInserted.fecha);

                if (dateDif <= new TimeSpan(180, 0, 0, 0))
                {
                    ViewBag.currentLabControl = lastLabInfoInserted;
                }
            }

            if (fm != null && fm.controles.Count > 0)
            {
                List <ControlesNutricionales> cn = fm.controles;
                List <string> cnRows             = new List <string>();
                foreach (ControlesNutricionales c in cn)
                {
                    string row = GetNutritionalControlString(c: c);
                    cnRows.Add(row);
                    controlsCount++;
                }
                controlsCount       = 0;
                ViewBag.controlsLst = cnRows;
            }

            if (fm != null && fm.regimen_alimentacion.Count > 0)
            {
                List <FeedingRegime> fr     = fm.regimen_alimentacion;
                List <string>        frList = new List <string>();
                foreach (FeedingRegime f in fr)
                {
                    string row = GetFoodRegimeString(f: f);
                    frList.Add(row);
                    foodRegimesCount++;
                }
                foodRegimesCount   = 0;
                ViewBag.regimenLst = frList;
            }

            ViewBag.clientId  = cl.id_alt;
            ViewBag.programId = prgCl.programa_id;

            return(View());
        }
Пример #6
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.");
        }