Esempio n. 1
0
        public ActionResult Dashboard()
        {
            Cliente   c  = new Cliente();
            HarrisBen HB = new HarrisBen();
            Dieta     d  = new Dieta();
            string    _Usuario;
            string    _Genero;
            DataTable ultimo_registro;
            DataTable Registro;
            String    FechaUltimoRegistro;

            // Informacion Inicial.
            if (TempData.ContainsKey("Usuario") || TempData.ContainsKey("Genero"))
            {
                // Variables de TempData provenientes del login.
                _Usuario = TempData["Usuario"].ToString();
                _Genero  = TempData["Genero"].ToString();
                TempData.Keep();

                ultimo_registro = c.ObtenerUltimoRegistro(_Usuario);
                if (ultimo_registro.Rows.Count > 0)
                {
                    FechaUltimoRegistro = ultimo_registro.Rows[0][0].ToString();
                    System.Diagnostics.Debug.WriteLine("Ultimo Registro del Cliente en: " + FechaUltimoRegistro);
                    Registro = c.ObtenerDatosUsuario(_Usuario, FechaUltimoRegistro);
                    if (Registro.Rows.Count > 0)
                    {
                        TempData["IMC"]  = Registro.Rows[0][5].ToString();
                        TempData["Agua"] = Registro.Rows[0][6].ToString();


                        System.Diagnostics.Debug.WriteLine("Datos Basicos: " + TempData["IMC"].ToString() + " de IMC|" + TempData["Agua"].ToString() + " vasos de agua");

                        ViewBag.Agua = TempData["Agua"];
                        ViewBag.IMC  = TempData["IMC"];

                        // Si tengo TempData de Agua y IMC nuevas.
                        if (TempData.ContainsKey("Agua_nueva") && TempData.ContainsKey("IMC_nueva"))
                        {
                            // Creo ViewBags para allas.
                            ViewBag.Agua_nueva = TempData["Agua_nueva"];
                            ViewBag.IMC_nueva  = TempData["IMC_nueva"];
                        }
                        if (TempData.ContainsKey("Calorias"))
                        {
                            ViewBag.Calorias_nueva = TempData["Calorias_nueva"];
                        }

                        ultimo_registro = HB.BuscarUltimoRegistroHarris(_Usuario);
                        if (ultimo_registro.Rows.Count > 0)
                        {
                            FechaUltimoRegistro = ultimo_registro.Rows[0][0].ToString();
                            System.Diagnostics.Debug.WriteLine("Ultimo Registro del Harris en: " + FechaUltimoRegistro);
                            Registro = HB.BuscarRegistroHarris(_Usuario, FechaUltimoRegistro);
                            if (Registro.Rows.Count > 0)
                            {
                                TempData["Calorias"]   = Registro.Rows[0][3].ToString();
                                ViewBag.Calorias_nueva = TempData["Calorias"];
                                TempData.Keep();

                                ViewBag.Usuario  = _Usuario;
                                ViewBag.Calorias = TempData["Calorias"];

                                // ViewData para mostrar la Dieta.
                                string        CodigoDieta;
                                List <string> ListaAlimentos = new List <string>();
                                List <string> ListaCalorias  = new List <string>();

                                Registro = d.ObtenerUltimaDieta(_Usuario);
                                if (Registro.Rows.Count > 0)
                                {
                                    FechaUltimoRegistro = Registro.Rows[0][0].ToString();
                                    Registro            = d.ObtenerDieta(_Usuario, FechaUltimoRegistro);
                                    if (Registro.Rows.Count > 0)
                                    {
                                        CodigoDieta = Registro.Rows[0][0].ToString();
                                        Registro    = d.ObtenerDietaCompleta(_Usuario, CodigoDieta);
                                        if (Registro.Rows.Count > 0)
                                        {
                                            // Ciclo para llenar las listas con las partes de la dieta.
                                            for (int i = 0; i < Registro.Rows.Count; i++)
                                            {
                                                System.Diagnostics.Debug.WriteLine(Registro.Rows[i][0].ToString());
                                                ListaAlimentos.Add(Registro.Rows[i][0].ToString());
                                                ListaCalorias.Add(Registro.Rows[i][1].ToString());
                                            }
                                            ViewData["ListaAlimentos"] = ListaAlimentos;
                                            ViewData["ListaCalorias"]  = ListaCalorias;

                                            // ViewData para mostrar la Medidas.
                                            Medidas m = new Medidas();

                                            string        CodigoMedida;
                                            List <string> ListaMedida   = new List <string>();
                                            List <string> ListaConcepto = new List <string>();

                                            Registro = m.ObtenerUltimaMedida(_Usuario);
                                            if (Registro.Rows.Count > 0)
                                            {
                                                System.Diagnostics.Debug.WriteLine("Fecha Ultima Medida: " + Registro.Rows[0][0].ToString());
                                                FechaUltimoRegistro = Registro.Rows[0][0].ToString();
                                                Registro            = m.ObtenerMedida(_Usuario, FechaUltimoRegistro);
                                                if (Registro.Rows.Count > 0)
                                                {
                                                    System.Diagnostics.Debug.WriteLine("Codigo de Medicion: " + Registro.Rows[0][0].ToString());
                                                    // Capturar el codigo de medida.
                                                    CodigoMedida = Registro.Rows[0][0].ToString();
                                                    Registro     = m.ObtenerMedicionCompleta(CodigoMedida);
                                                    if (Registro.Rows.Count > 0)
                                                    {
                                                        // Ciclo para llenar la lista de medidas.
                                                        // Detalle
                                                        for (int i = 0; i < Registro.Columns.Count; i++)
                                                        {
                                                            ListaConcepto.Add(Registro.Columns[i].ToString());
                                                            ListaMedida.Add(Registro.Rows[0][i].ToString());
                                                        }

                                                        ViewData["ListaMedidas"]  = ListaMedida;
                                                        ViewData["ListaConcepto"] = ListaConcepto;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                return(View());
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
Esempio n. 2
0
        public ActionResult MiDieta(Dieta d)
        {
            if (ModelState.IsValid)
            {
                System.Diagnostics.Debug.WriteLine(d.objetivo.ToString());
                // Variables capturadas
                string seleccion = d.objetivo.ToString();
                // Variables para el registro SQL
                HarrisBen Calorias    = new HarrisBen();
                DateTime  FechaActual = DateTime.Now;
                string    Usuario;
                string    Fecha;
                DataTable Tabla;
                string    CaloriasTotales;
                string    CodigoHarrisBen;
                int       Resultado;

                Usuario = TempData["Usuario"].ToString();

                Tabla = Calorias.BuscarUltimoRegistroHarris(Usuario);
                if (Tabla.Rows.Count > 0)
                {
                    // Capturar la fecha del ultimo registro.
                    Fecha = Tabla.Rows[0][0].ToString();

                    Tabla = Calorias.BuscarRegistroHarris(Usuario, Fecha);
                    if (Tabla.Rows.Count > 0)
                    {
                        // Capturar los Datos para relacionar,
                        CaloriasTotales = Tabla.Rows[0][3].ToString();
                        CodigoHarrisBen = Tabla.Rows[0][0].ToString();

                        // Datos para insertar el registro.
                        Fecha     = FechaActual.ToString();
                        Resultado = d.AgregarDieta(Usuario, Fecha, CodigoHarrisBen, seleccion);
                        if (Resultado > 0)
                        {
                            // Obtener la dieta mas reciente
                            string CodigoDieta;
                            Tabla = d.ObtenerUltimaDieta(Usuario);
                            if (Tabla.Rows.Count > 0)
                            {
                                Fecha = Tabla.Rows[0][0].ToString();
                                Tabla = d.ObtenerDieta(Usuario, Fecha);
                                if (Tabla.Rows.Count > 0)
                                {
                                    CodigoDieta             = Tabla.Rows[0][0].ToString();
                                    TempData["CodigoDieta"] = CodigoDieta;

                                    // Ajustar el nivel calorico
                                    if (seleccion.Equals("bajar"))
                                    {
                                        CaloriasTotales = Convert.ToString(Convert.ToDouble(CaloriasTotales) - 500);
                                    }
                                    if (seleccion.Equals("subir"))
                                    {
                                        CaloriasTotales = Convert.ToString(Convert.ToDouble(CaloriasTotales) + 500);
                                    }

                                    // Obtener el catalogo de alimentos.
                                    Tabla = d.ObtenerCatalogoAlimentos();
                                    double ContadorCalorias = 0;
                                    string CodigoAlimento;
                                    // Ciclo para empezar a asociar las comidas a la dieta.
                                    Random r = new Random();
                                    int    Indice;

                                    while (ContadorCalorias < Convert.ToDouble(CaloriasTotales))
                                    {
                                        ContadorCalorias = ContadorCalorias + Convert.ToDouble(Tabla.Rows[0][2]);
                                        Indice           = r.Next(0, Tabla.Rows.Count);
                                        CodigoAlimento   = Tabla.Rows[Indice][0].ToString();
                                        d.AgregarRelacion(CodigoDieta, CodigoAlimento);
                                    }
                                    return(RedirectToAction("Dashboard"));
                                }
                            }
                        }
                    }
                }
                return(View());
            }
            else
            {
                return(View());
            }
        }