Ejemplo n.º 1
0
        public async Task <ActionResult> Reschedule(citas citas)
        {
            citas c = db.citas.Where(m => m.id == citas.id).FirstOrDefault();

            c.fecha = citas.fecha;
            c.hora  = citas.hora;
            c.motivo_reprogramacion = citas.motivo_reprogramacion;
            c.updated_at            = CurrentDate.getNow();

            db.Entry(c).State = EntityState.Modified;
            int i = await db.SaveChangesAsync();

            if (i > 0)
            {
                clientes cl = db.clientes.Where(m => m.id_alt == c.cliente_id).FirstOrDefault();

                Mail.Send(cl.GetUserMails(), "Cita nutricional reprogramada",
                          "Estimado Cliente," +
                          "/n/n" +
                          "Su cita nutricional ha sido reprogramada al día " + c.fecha.ToShortDateString() + " a las " + c.hora.ToString("hh':'mm") + ".");

                return(RedirectToAction("Index", new { clientCode = c.cliente_id }));
            }

            return(View(citas));
        }
        public async Task <ActionResult> Edit(usuarios usuario, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                usuarios u = db.usuarios.Find(usuario.id);
                u.nombres    = usuario.nombres;
                u.apellidos  = usuario.apellidos;
                u.email      = usuario.email;
                u.password   = usuario.password;
                u.tipo       = usuario.tipo;
                u.activo     = usuario.activo;
                u.localesId  = int.Parse(Request.Form["locales_id"]);
                u.updated_at = DateTimeOffset.Now.DateTime;

                if (file != null)
                {
                    byte?[] bNull    = new byte?[file.ContentLength];
                    byte[]  bNonNull = new byte[file.ContentLength];

                    Image          img     = Image.FromStream(file.InputStream, true, true);
                    ImageCodecInfo pngInfo = ImageCodecInfo.GetImageEncoders().Where(codecInfo => codecInfo.MimeType == "image/png").First();

                    using (Stream s = new MemoryStream())
                    {
                        using (EncoderParameters encParams = new EncoderParameters(1))
                        {
                            encParams.Param[0] = new EncoderParameter(Encoder.Compression, (long)EncoderValue.CompressionLZW);
                            //quality should be in the range [0..100]
                            img.Save(s, pngInfo, encParams);
                        }
                        s.Position = 0;
                        s.Read(bNonNull, 0, (int)s.Length);
                    }
                    u.foto = Convert.ToBase64String(bNonNull);
                }

                if (SessionPersister.EmailUsuario == u.email)
                {
                    SessionPersister.AreaCliente = u.tipo;
                    SessionPersister.ImgBase64   = u.foto;
                }

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

                return(RedirectToAction("Index"));
            }

            /*ViewBag.id = new SelectList(db.clientes, "usuario_id", "genero", usuario.id);
             * ViewBag.id = new SelectList(db.nutricionistas, "usuario_id", "usuario_id", usuario.id);
             * ViewBag.id = new SelectList(db.vendedores, "usuario_id", "usuario_id", usuario.id);*/
            return(View(usuario));
        }
        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> Edit(programas programa)
        {
            if (ModelState.IsValid)
            {
                programas p = db.programas.Find(programa.id);
                p.nombre     = programa.nombre;
                p.semanas    = p.semanas;
                p.updated_at = DateTimeOffset.Now.DateTime;

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

                return(RedirectToAction("Index"));
            }

            return(View(programa));
        }
Ejemplo n.º 5
0
        public async Task <ActionResult> Edit([Bind(Include = "id,nombre,created_at,updated_at,deleted_at")] permisos permisos)
        {
            if (ModelState.IsValid)
            {
                db.Entry(permisos).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(permisos));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,nombre,activo,dscto,created_at,updated_at,deleted_at")] campana_marketing campana_marketing)
        {
            if (ModelState.IsValid)
            {
                db.Entry(campana_marketing).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(campana_marketing));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,clienteId,fecha_desde,fecha_hasta,dias_congelados")] clientes_congelamientos clientes_congelamientos)
        {
            if (ModelState.IsValid)
            {
                db.Entry(clientes_congelamientos).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.clienteId = new SelectList(db.clientes, "id_alt", "codigo", clientes_congelamientos.clienteId);
            return(View(clientes_congelamientos));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,nombres,apellidos,genero,fecha_nacimiento,documento_tipo,telefono,documento_numero,email_personal,centros_laboral,cargo_laboral,email_empresa,created_at,updated_at,deleted_at")] prospectos prospectos)
        {
            if (ModelState.IsValid)
            {
                prospectos.updated_at      = DateTimeOffset.Now.DateTime;
                db.Entry(prospectos).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(prospectos));
        }
Ejemplo n.º 9
0
        public async Task <ActionResult> Edit([Bind(Include = "id,cantidad_semanas,dias_congelamiento,precio,localesId,created_at,updated_at,deleted_at")] semanas_precios semanas_precios)
        {
            if (ModelState.IsValid)
            {
                db.Entry(semanas_precios).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.localesId = new SelectList(db.locales, "id", "nombre", semanas_precios.localesId);
            return(View(semanas_precios));
        }
Ejemplo n.º 10
0
        public async Task <ActionResult> Edit([Bind(Include = "id,idCliente,nota")] clientes_notas clientes_notas)
        {
            if (ModelState.IsValid)
            {
                db.Entry(clientes_notas).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.idCliente = new SelectList(db.clientes, "id_alt", "codigo", clientes_notas.idCliente);
            return(View(clientes_notas));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,sala_id,programa_id,lunes,martes,miercoles,jueves,viernes,sabado,domingo,hora,created_at,updated_at,deleted_at")] horarios horarios)
        {
            if (ModelState.IsValid)
            {
                db.Entry(horarios).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.programa_id = new SelectList(db.programas, "id", "nombre", horarios.programa_id);
            ViewBag.sala_id     = new SelectList(db.salas, "id", "nombre", horarios.sala_id);
            return(View(horarios));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,usuario_jefe,usuario_solicitante,modelo_nombre,modelo_id,autorizado,created_at,updated_at,deleted_at")] solicitud_permisos solicitud_permisos)
        {
            if (ModelState.IsValid)
            {
                db.Entry(solicitud_permisos).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.usuario_jefe        = new SelectList(db.usuarios, "id", "codigo", solicitud_permisos.usuario_jefe);
            ViewBag.usuario_solicitante = new SelectList(db.usuarios, "id", "codigo", solicitud_permisos.usuario_solicitante);
            return(View(solicitud_permisos));
        }
Ejemplo n.º 13
0
        public async Task <ActionResult> Edit([Bind(Include = "id,nombre,distrito,created_at,updated_at,deleted_at")] locales locales)
        {
            if (ModelState.IsValid)
            {
                locales.updated_at = DateTimeOffset.Now.DateTime;

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

                return(RedirectToAction("Index"));
            }
            return(View(locales));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,desde,hasta,cantidad_dias,created_at,updated_at,deleted_at")] congelamiento_semanas congelamiento_semanas)
        {
            if (ModelState.IsValid)
            {
                congelamiento_semanas.updated_at = DateTimeOffset.Now.DateTime;

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

                return(RedirectToAction("Index"));
            }
            return(View(congelamiento_semanas));
        }
        public async Task <ActionResult> Edit([Bind(Include = "usuario_id,jefe,created_at,updated_at,deleted_at")] nutricionistas nutricionistas)
        {
            if (ModelState.IsValid)
            {
                nutricionistas.updated_at = CurrentDate.getNow();

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

                return(RedirectToAction("Index"));
            }
            ViewBag.usuario_id = new SelectList(db.usuarios, "id", "codigo", nutricionistas.usuario_id);
            return(View(nutricionistas));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,programa_id,cliente_id,horario_id,fecha_inicio,fecha_fin,created_at,updated_at,deleted_at")] programa_clientes programa_clientes)
        {
            if (ModelState.IsValid)
            {
                db.Entry(programa_clientes).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.cliente_id  = new SelectList(db.clientes, "id_alt", "codigo", programa_clientes.cliente_id);
            ViewBag.horario_id  = new SelectList(db.horarios, "id", "id", programa_clientes.horario_id);
            ViewBag.programa_id = new SelectList(db.programas, "id", "nombre", programa_clientes.programa_id);
            return(View(programa_clientes));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id,local_id,cliente_id,vendedor_id,fecha_inicio,fecha_fin,cantidad_semanas,cantidad_dias_congelamiento,solicitud_permiso_congelamiento,tipo_ingreso,campana_marketing_id,numero_boleta,tipo_pago,monto,atendido,created_at,updated_at,deleted_at")] venta_usuarios venta_usuarios)
        {
            if (ModelState.IsValid)
            {
                venta_usuarios vu = db.venta_usuarios.Where(m => m.id == venta_usuarios.id).FirstOrDefault();
                vu.numero_boleta = venta_usuarios.numero_boleta;
                vu.updated_at    = DateTimeOffset.Now.DateTime;
                vu.atendido      = true;

                clientes cl = db.clientes.Where(m => m.id_alt == venta_usuarios.cliente_id).FirstOrDefault();
                cl.acceso_autorizado = true;
                cl.activo            = true;

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

                return(RedirectToAction("Index"));
            }
            ViewBag.cliente_id = new SelectList(db.clientes, "id_alt", "codigo", venta_usuarios.cliente_id);
            ViewBag.local_id   = new SelectList(db.locales, "id", "nombre", venta_usuarios.local_id);
            return(View(venta_usuarios));
        }
Ejemplo n.º 18
0
        public async Task <ActionResult> Edit(correos correos)
        {
            correos.UpdatedAt = CurrentDate.getNow();
            correos.UpdatedBy = SessionPersister.UserId;

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

                return(RedirectToAction("Index"));
            }
            return(View(correos));
        }
Ejemplo n.º 19
0
        public async Task <ActionResult> Edit([Bind(Include = "id,local_id,nombre,created_at,updated_at,deleted_at")] salas salas)
        {
            if (ModelState.IsValid)
            {
                salas.updated_at = DateTimeOffset.Now.DateTime;

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

                return(RedirectToAction("Index"));
            }
            ViewBag.local_id = new SelectList(db.locales, "id", "nombre", salas.local_id);
            return(View(salas));
        }
        public async Task <ActionResult> Edit([Bind(Include = "id_alt,codigo,nombres,apellidos,email,password,foto,centro_laboral," +
                                                              "cargo_laboral,email_empresa,fecha_nacimiento,genero,documento_tipo,documento_numero," +
                                                              "direccion,distrito,telefono,celular,ce_nombres,ce_apellidos," +
                                                              "ce_telefono,ce_celular,ce_email,como_se_entero,activo,acceso_autorizado,created_at,updated_at,deleted_at")] clientes clientes, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    Image          img     = Image.FromStream(file.InputStream, true, true);
                    ImageCodecInfo pngInfo = ImageCodecInfo.GetImageEncoders().Where(codecInfo => codecInfo.MimeType == "image/png").First();

                    using (Stream s = new MemoryStream())
                    {
                        using (EncoderParameters encParams = new EncoderParameters(1))
                        {
                            encParams.Param[0] = new EncoderParameter(Encoder.Compression, (long)EncoderValue.CompressionLZW);
                            //quality should be in the range [0..100]
                            img.Save(s, pngInfo, encParams);
                            byte[] bNonNull = new byte[s.Length];
                            s.Position = 0;
                            s.Read(bNonNull, 0, (int)s.Length);
                            clientes.foto = bNonNull;
                        }
                    }
                }

                clientes.updated_at = DateTimeOffset.Now.Date;

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

                return(RedirectToAction("Index"));
            }
            return(View(clientes));
        }
Ejemplo n.º 21
0
        public async Task <ActionResult> Edit([Bind(Include = "id,usuario_id,permiso_id,created_at,updated_at,deleted_at")] usuario_permisos usuario_permisos)
        {
            if (ModelState.IsValid)
            {
                usuario_permisos.updated_at = DateTimeOffset.Now.DateTime;

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

                return(RedirectToAction("Index", new { v = usuario_permisos.usuario_id }));
            }
            ViewBag.permiso_id = new SelectList(db.permisos, "id", "nombre", usuario_permisos.permiso_id);
            ViewBag.usuario_id = new SelectList(db.usuarios, "id", "codigo", usuario_permisos.usuario_id);
            return(View(usuario_permisos));
        }
Ejemplo n.º 22
0
        public async Task <ActionResult> Edit(pesos_medidas pesos_medidas)
        {
            pesos_medidas.updated_at      = CurrentDate.getNow();
            pesos_medidas.updated_by      = SessionPersister.UserId;
            db.Entry(pesos_medidas).State = EntityState.Modified;
            int p = await db.SaveChangesAsync();

            if (p > 0)
            {
                return(RedirectToAction("Index", new { clientCode = pesos_medidas.clienteId }));
            }

            pesos_medidas.clientes = db.pesos_medidas.Where(m => m.id == pesos_medidas.id).Include(m => m.clientes).Select(m => m.clientes).FirstOrDefault();
            ViewBag.clienteId      = pesos_medidas.clienteId;
            return(View(pesos_medidas));
        }
        public async Task <ActionResult> Edit(string json)
        {
            List <Dictionary <string, object> > oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(json);

            int dietId = int.Parse(oDict[oDict.Count - 1]["dietID"].ToString());

            IQueryable <clientes_dietas> cdQuery = db.clientes_dietas.Where(m => m.id == dietId).Include(m => m.dieta_diaria);
            clientes_dietas cd = cdQuery.FirstOrDefault();

            cd.updated_at = CurrentDate.getNow();

            List <DailyDiet> dietDetails = new List <DailyDiet>();

            for (int i = 0; i < oDict.Count - 1; i++)
            {
                int id = int.Parse(oDict[i]["id"].ToString());

                DailyDiet dd = null;

                if (id > 0)
                {
                    dd = cd.dieta_diaria.Where(c => c.id == id).FirstOrDefault();
                }

                if (dd != null)
                {
                    dd.clientes_dietas_id = cd.id;
                    dd.opcion             = int.Parse(oDict[i]["option"].ToString());
                    dd.tipo_comida        = (FoodTypes)int.Parse(oDict[i]["foodType"].ToString());
                    dd.texto = oDict[i]["detail"].ToString();
                    dd.dia   = int.Parse(oDict[i]["day"].ToString()) + 1;

                    dietDetails.Add(dd);
                }
                else
                {
                    DailyDiet dietDetail = new DailyDiet();

                    dietDetail.clientes_dietas_id = cd.id;
                    dietDetail.opcion             = int.Parse(oDict[i]["option"].ToString());
                    dietDetail.tipo_comida        = (FoodTypes)int.Parse(oDict[i]["foodType"].ToString());
                    dietDetail.texto = oDict[i]["detail"].ToString();
                    dietDetail.dia   = int.Parse(oDict[i]["day"].ToString()) + 1;

                    dietDetails.Add(dietDetail);
                }
            }

            cd.dieta_diaria = dietDetails;

            db.Entry(cd).State = EntityState.Modified;

            int s = await db.SaveChangesAsync();

            if (s > 0)
            {
                return(RedirectToAction("Index"));
            }

            ViewBag.clientId  = int.Parse(oDict[oDict.Count - 1]["clientId"].ToString());
            ViewBag.programId = int.Parse(oDict[oDict.Count - 1]["programID"].ToString());

            return(View());
        }
Ejemplo n.º 24
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.");
        }