public async Task <ActionResult> Create([Bind(Include = "id,local_id,cliente_id,vendedor_id,fecha_inicio,fecha_fin,cantidad_semanas,cantidad_dias_congelamiento,semanas_precio_id,solicitud_permiso_congelamiento,tipo_ingreso,campana_marketing_id,numero_boleta,tipo_pago,monto,atendido,created_at,updated_at,deleted_at")] venta_usuarios venta_usuarios, int clientId)
        {
            bool usrIsBoss = db.vendedores.Where(m => m.usuario_id == venta_usuarios.vendedor_id).Select(m => m.jefe).FirstOrDefault() ?? false;

            if (!usrIsBoss && venta_usuarios.solicitud_permiso_congelamiento == true)
            {
                solicitud_permisos sp = new solicitud_permisos();
                sp.usuario_solicitante = venta_usuarios.vendedor_id;
                sp.usuario_jefe        = db.vendedores.Where(m => m.jefe == true).Select(m => m.usuario_id).FirstOrDefault();
                sp.valor_modificado    = venta_usuarios.cantidad_dias_congelamiento;
                sp.valor_defecto       = db.congelamiento_semanas.Where(m => venta_usuarios.cantidad_dias_congelamiento >= m.desde).Where(m => venta_usuarios.cantidad_dias_congelamiento <= m.hasta).Select(m => m.cantidad_dias).FirstOrDefault();
                sp.created_at          = DateTimeOffset.Now.Date;
                sp.updated_at          = DateTimeOffset.Now.Date;

                await backJobs.AskForPermission(sp : sp);
            }
            venta_usuarios.cliente_id = clientId;

            venta_usuarios.created_at = DateTimeOffset.Now.DateTime;
            venta_usuarios.updated_at = DateTimeOffset.Now.DateTime;

            db.venta_usuarios.Add(venta_usuarios);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Create(pesos_medidas pesos_medidas)
        {
            if (ModelState.IsValid)
            {
                pesos_medidas pym          = new pesos_medidas();
                Medidas       measurements = new Medidas();
                pym.clienteId           = pesos_medidas.clienteId;
                pym.peso_1              = pesos_medidas.peso_1;
                pym.peso_2              = pesos_medidas.peso_2;
                pym.peso_3              = pesos_medidas.peso_3;
                pym.porc_grasa_corporal = pesos_medidas.porc_grasa_corporal;
                pym.medidas             = measurements;
                pym.created_at          = CurrentDate.getNow();
                pym.created_by          = SessionPersister.UserId;
                pym.updated_at          = CurrentDate.getNow();
                pym.updated_by          = SessionPersister.UserId;

                db.pesos_medidas.Add(pym);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index", new { clientCode = pym.clienteId }));
            }

            ViewBag.clienteId = pesos_medidas.clienteId;
            return(View(pesos_medidas));
        }
Exemplo n.º 3
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> Create([Bind(Exclude = "id_alt"
                                                      , Include = "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 cliente, HttpPostedFileBase file)
        {
            Random r = new Random();

            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);
                        cliente.foto = bNonNull;
                    }
                }
            }

            cliente.codigo   = (db.clientes.Count() + 1).ToString("00000#");
            cliente.password = r.Next(1000, 9999);

            cliente.acceso_autorizado = false;
            cliente.activo            = false;

            cliente.created_at = DateTimeOffset.Now.Date;
            cliente.updated_at = DateTimeOffset.Now.Date;

            db.clientes.Add(cliente);

            try
            {
                await db.SaveChangesAsync();

                List <string> mails = new List <string>();
                mails.Add(cliente.email);
                mails.Add(cliente.email_empresa);

                Mail.Send(mails, "Bienvenido a Personal Training!",
                          "Bienvenido a Personal Training! Tu código de cliente es: " + cliente.codigo + " y tu clave es: " + cliente.password + "/n/n" +
                          "Recuerda que con estos datos podrás descargar e ingresar a nuestra app desde tu móvil y revisar tu programa activo, progreso semanal, dietas y mucho más!");

                return(RedirectToAction("Create", "ProgramaClientes", new { clienteId = cliente.id_alt, feInit = CurrentDate.getNow() }));
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
                return(View(cliente));
            }
        }
        public async Task <ActionResult> Create([Bind(Include = "id,nombre,activo,dscto,created_at,updated_at,deleted_at")] campana_marketing campana_marketing)
        {
            if (ModelState.IsValid)
            {
                db.campana_marketing.Add(campana_marketing);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(campana_marketing));
        }
Exemplo n.º 6
0
        public async Task <ActionResult> Create([Bind(Include = "id,idCliente,nota")] clientes_notas clientes_notas)
        {
            if (ModelState.IsValid)
            {
                db.clientes_notas.Add(clientes_notas);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.idCliente = new SelectList(db.clientes, "id_alt", "codigo", clientes_notas.idCliente);
            return(View(clientes_notas));
        }
Exemplo n.º 7
0
        public async Task <ActionResult> Create([Bind(Include = "id,cantidad_semanas,dias_congelamiento,precio,localesId,created_at,updated_at,deleted_at")] semanas_precios semanas_precios)
        {
            if (ModelState.IsValid)
            {
                db.semanas_precios.Add(semanas_precios);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.localesId = new SelectList(db.locales, "id", "nombre", semanas_precios.localesId);
            return(View(semanas_precios));
        }
        public async Task <ActionResult> Create([Bind(Include = "id,clienteId,fecha_desde,fecha_hasta,dias_congelados")] clientes_congelamientos clientes_congelamientos)
        {
            if (ModelState.IsValid)
            {
                db.clientes_congelamientos.Add(clientes_congelamientos);
                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,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> Create([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.solicitud_permisos.Add(solicitud_permisos);
                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));
        }
        public async Task <ActionResult> Create([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.horarios.Add(horarios);
                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> Create([Bind(Include = "id,desde,hasta,cantidad_dias,created_at,updated_at,deleted_at")] congelamiento_semanas congelamiento_semanas)
        {
            if (ModelState.IsValid)
            {
                congelamiento_semanas.created_at = DateTimeOffset.Now.DateTime;
                congelamiento_semanas.updated_at = DateTimeOffset.Now.DateTime;

                db.congelamiento_semanas.Add(congelamiento_semanas);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(congelamiento_semanas));
        }
Exemplo n.º 13
0
        public async Task <ActionResult> Create([Bind(Include = "id,codigo_interno,nombre,created_at,updated_at,deleted_at")] permisos permisos)
        {
            permisos.created_at = DateTimeOffset.Now.Date;
            permisos.updated_at = DateTimeOffset.Now.Date;

            if (ModelState.IsValid)
            {
                db.permisos.Add(permisos);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(permisos));
        }
        public async Task <ActionResult> Create([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.created_at = DateTimeOffset.Now.DateTime;
                prospectos.updated_at = DateTimeOffset.Now.DateTime;

                db.prospectos.Add(prospectos);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(prospectos));
        }
        public async Task <ActionResult> Create([Bind(Include = "id,nombre,semanas")] programas programa)
        {
            programa.created_at = DateTimeOffset.Now.DateTime;
            programa.updated_at = DateTimeOffset.Now.DateTime;

            if (ModelState.IsValid)
            {
                db.programas.Add(programa);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(programa));
        }
        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));
        }
Exemplo n.º 17
0
        public async Task <ActionResult> Create([Bind(Include = "id,local_id,nombre,created_at,updated_at,deleted_at")] salas salas)
        {
            if (ModelState.IsValid)
            {
                salas.created_at = DateTimeOffset.Now.DateTime;
                salas.updated_at = DateTimeOffset.Now.DateTime;

                db.salas.Add(salas);
                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> Create([Bind(Include = "usuario_id,jefe,created_at,updated_at,deleted_at")] nutricionistas nutricionistas)
        {
            if (ModelState.IsValid)
            {
                nutricionistas.created_at = CurrentDate.getNow();
                nutricionistas.updated_at = CurrentDate.getNow();

                db.nutricionistas.Add(nutricionistas);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.usuario_id = new SelectList(db.usuarios, "id", "codigo", nutricionistas.usuario_id);
            return(View(nutricionistas));
        }
Exemplo n.º 19
0
        public async Task <ActionResult> Create([Bind(Include = "id,usuario_id,permiso_id,created_at,updated_at,deleted_at")] usuario_permisos usuario_permisos)
        {
            usuario_permisos.created_at = DateTimeOffset.Now.Date;
            usuario_permisos.updated_at = DateTimeOffset.Now.Date;

            if (ModelState.IsValid)
            {
                db.usuario_permisos.Add(usuario_permisos);
                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));
        }
Exemplo n.º 20
0
        public async Task <ActionResult> Create(correos correos)
        {
            correos.CreatedAt = CurrentDate.getNow();
            correos.CreatedBy = SessionPersister.UserId;
            correos.UpdatedAt = CurrentDate.getNow();
            correos.UpdatedBy = SessionPersister.UserId;

            if (ModelState.IsValid)
            {
                db.correos.Add(correos);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(correos));
        }
Exemplo n.º 21
0
        public async Task <ActionResult> Create([Bind(Include = "id,nombre,distrito,created_at,updated_at,deleted_at")] locales locales)
        {
            if (ModelState.IsValid)
            {
                locales lc = new locales();
                lc.nombre   = locales.nombre;
                lc.distrito = locales.distrito;

                lc.created_at = CurrentDate.getNow();
                lc.updated_at = CurrentDate.getNow();

                db.locales.Add(lc);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(locales));
        }
        public async Task <ActionResult> Create(string json)
        {
            List <Dictionary <string, object> > oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(json);

            clientes_dietas cd = new clientes_dietas();

            cd.created_at           = CurrentDate.getNow();
            cd.updated_at           = CurrentDate.getNow();
            cd.programa_clientes_id = int.Parse(oDict[oDict.Count - 1]["programID"].ToString());
            List <DailyDiet> dietDetails = new List <DailyDiet>();

            for (int i = 0; i < oDict.Count - 1; i++)
            {
                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.clientes_dietas.Add(cd);

            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());
        }
Exemplo n.º 23
0
 public async Task AskForPermission(solicitud_permisos sp)
 {
     db.solicitud_permisos.Add(sp);
     await db.SaveChangesAsync();
 }
Exemplo n.º 24
0
        public async Task <string> Create(string json)
        {
            Dictionary <string, object> oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, object> >(json);
            fichas_medicas oFM = new fichas_medicas();

            // 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"]);

            // 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>();

            foreach (Dictionary <string, object> c in oControlsLst)
            {
                ControlesNutricionales cn           = new ControlesNutricionales();
                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.created_at = CurrentDate.getNow();
                cn.updated_at = CurrentDate.getNow();
                controlesNutricionalesLst.Add(cn);
            }
            oFM.controles = controlesNutricionalesLst;

            // 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"];

            // 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>();

            foreach (Dictionary <string, object> f in oFoodRegimeLst)
            {
                FeedingRegime fr = new FeedingRegime();
                fr.tipo_comida = (FoodTypes)int.Parse((string)f["foodType"]);
                fr.hora        = TimeSpan.Parse((string)f["hour"]);
                fr.detalles    = (string)f["detail"];
                foodRegimesLst.Add(fr);
            }
            oFM.regimen_alimentacion = foodRegimesLst;

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

            if (ModelState.IsValid)
            {
                db.fichas_medicas.Add(oFM);
                await db.SaveChangesAsync();

                return("Ok");
            }

            return("Error al guardar información.");
        }
        //[ValidateAntiForgeryToken]
        public async Task <ActionResult> Create(usuarios usuario,
                                                HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                DateTime today = CurrentDate.getNow();
                usuario.created_at = today;
                usuario.updated_at = today;
                usuario.activo     = true;

                if (file != null)
                {
                    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);
                    }
                    usuario.foto = Convert.ToBase64String(bNonNull);
                }

                usuario.deleted_at = null;

                db.usuarios.Add(usuario);
                int i = await db.SaveChangesAsync();

                if (i > 0)
                {
                    usuarios createdUser = db.usuarios.Where(u => u.codigo == usuario.codigo).FirstOrDefault();

                    usuario_permisos usrAccesses = new usuario_permisos();
                    usrAccesses.usuario_id = createdUser.id;
                    usrAccesses.created_at = today;
                    usrAccesses.updated_at = today;

                    switch (createdUser.tipo)
                    {
                    case UserProfiles.Default:
                        goto default;

                    case UserProfiles.Nutricionista:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "nut_home").Select(p => p.id).FirstOrDefault();
                        break;

                    case UserProfiles.Vendedor:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "sales_home").Select(p => p.id).FirstOrDefault();
                        break;

                    case UserProfiles.Entrenador:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "training_home").Select(p => p.id).FirstOrDefault();
                        break;

                    case UserProfiles.Cajero:
                        goto default;

                    case UserProfiles.Sistemas:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "sys_home").Select(p => p.id).FirstOrDefault();
                        break;

                    case UserProfiles.Pesos_y_Medidas:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "pym_home").Select(p => p.id).FirstOrDefault();
                        break;

                    case UserProfiles.Cardiología:
                        goto default;

                    case UserProfiles.Marketing:
                        usrAccesses.permiso_id = db.permisos.Where(p => p.codigo_interno == "mkt_home").Select(p => p.id).FirstOrDefault();
                        break;

                    default:
                        break;
                    }

                    db.usuario_permisos.Add(usrAccesses);

                    i = await db.SaveChangesAsync();

                    if (i > 0)
                    {
                        List <string> mails = new List <string>();
                        mails.Add(usuario.email);
                        string url  = Request.UrlReferrer.Scheme + "://" + Request.UrlReferrer.Authority;
                        string body =
                            "Estimado " + usuario.nombres + " " + usuario.apellidos +
                            "\n \n" +
                            "Se le ha creado un usuario para el sistema SGC de Personal Training, sus credenciales son las siguientes: \n \n" +
                            "Usuario: " + usuario.email + "\n" +
                            "Clave:" + usuario.password + "\n \n" +
                            "Para ingresar al sistema, ingresar al siguiente enlace o copiarlo en su browser: " + url;
                        mails.Add("*****@*****.**");                         //solo para demo.
                        Mail.Send(
                            pTo: mails,
                            pSubject: "Se le ha asignado un usuario en SGC",
                            pBody: body);

                        return(RedirectToAction("Index"));
                    }
                }
                return(View(usuario));
            }
            else
            {
                return(View(usuario));
            }
        }