private void CargarDatos(ResultadoMultiple Resultados)
 {
     this.lblTotal.Content = Resultados.TotalTuits;
     this.lblTotalTuitsPositivos.Content = Resultados.TotalTuitsPositivos;
     this.lblTotalPalabrasPositivas.Content = Resultados.TotalPalabrasPositivas;
     this.lblTotalPalabrasNegativas.Content = Resultados.TotalPalabrasNegativas;
     this.lblTotalTuitsNegativos.Content = Resultados.TotalTuitsNegativos;
     this.lblPP.Content = Resultados.ProbabilidadPositivaP;
     this.lblPN.Content = Resultados.ProbabilidadPositivaN;
     this.lblTotalPP.Content = Resultados.TotalPositivaP;
     this.lblTotalPN.Content = Resultados.TotalPositivaN;
     this.lblNN.Content = Resultados.ProbabilidadNegativaN;
     this.lblNP.Content = Resultados.ProbabilidadNegativaP;
     this.lblTotalNP.Content = Resultados.TotalNegativaP;
     this.lblTotalNN.Content = Resultados.TotalNegativaN;
     this.lblPPPercent.Content = (((Resultados.TuitsPositivosP*1.0) / (Resultados.TotalTuitsPositivos*1.0))*100.0).ToString("#.##") + " %";
     this.lblNPPercent.Content = (((Resultados.TuitsNegativosP*1.0) / (Resultados.TotalTuitsPositivos*1.0))*100.0).ToString("#.##") + " %";
     this.lblPNPercent.Content = (((Resultados.TuitsPositivosN*1.0) / (Resultados.TotalTuitsNegativos*1.0))*100.0).ToString("#.##") + " %";
     this.lblNNPercent.Content = (((Resultados.TuitsNegativosN*1.0) / (Resultados.TotalTuitsNegativos*1.0))*100.0).ToString("#.##") + " %";
     this.lblTotalPN.Content = Resultados.TuitsPositivosN;
     this.lblTotalPP.Content = Resultados.TuitsPositivosP;
     this.lblTotalNN.Content = Resultados.TuitsNegativosN;
     this.lblTotalNP.Content = Resultados.TuitsNegativosP;
     this.lblTiempoEjecucion.Content = Resultados.Duracion + " Segundos";
 }
 public ResultadoAll(ResultadoMultiple Resultados)
 {
     InitializeComponent();
     this.CargarDatos(Resultados);
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnClasificar_Click(object sender, RoutedEventArgs e)
        {
            double probabilidadPositivaP = 0.0;
            double probabilidadPositivaN = 0.0;
            double probabilidadNegativaP = 0.0;
            double probabilidadNegativaN = 0.0;
            int totalPositivosP = 0;
            int totalNegativosP = 0;
            int totalPositivosN = 0;
            int totalNegativosN = 0;
            int totalTuitsPositivos = 0;
            int totalTuitsNegativos = 0;
            int totalPalabrasPositivas = 0;
            int totalPalabrasNegativas = 0;
            double ProbabilidadPositivosP = 0;
            double ProbabilidadPositivosN = 0;
            double ProbabilidadNegativosP = 0;
            double ProbabilidadNegativosN = 0;
            int tuitsPositivosP = 0;
            int tuitsPositivosN = 0;
            int tuitsNegativosP = 0;
            int tuitsNegativosN = 0;
            Stopwatch watch = new Stopwatch();
            watch.Start();
            if (this.radAll.IsChecked.Value)
            {

                foreach (Tuit tuit in this.tuits)
                {
                    //Dictionary<string, int> Positivos = this.ObtenerValores(this.clasPositivo.contador, tuit.contenido);
                    //Dictionary<string, int> Negativos = this.ObtenerValores(this.clasNegativo.contador, tuit.contenido);

                    //Positivos
                    if (tuit.positivo == "1")
                    {
                        probabilidadPositivaP += this.ObtenerProbabilidades(this.clasPositivo, tuit.contenido, ref totalPositivosP, ref totalPalabrasPositivas, ref ProbabilidadPositivosP);
                        probabilidadNegativaP += this.ObtenerProbabilidades(this.clasNegativo, tuit.contenido, ref totalNegativosP, ref totalPalabrasPositivas, ref ProbabilidadNegativosP);
                        if (ProbabilidadPositivosP >= ProbabilidadNegativosP) ++tuitsPositivosP;
                        else ++tuitsNegativosP;
                        totalTuitsPositivos++;
                    }
                    else
                    {//Negativos
                        probabilidadNegativaN += this.ObtenerProbabilidades(this.clasNegativo, tuit.contenido, ref totalNegativosN, ref totalPalabrasNegativas, ref ProbabilidadNegativosN);
                        probabilidadPositivaN += this.ObtenerProbabilidades(this.clasPositivo, tuit.contenido, ref totalPositivosN, ref totalPalabrasNegativas, ref ProbabilidadPositivosN);
                        if (ProbabilidadNegativosN >= ProbabilidadPositivosN) ++tuitsNegativosN;
                        else ++tuitsPositivosN;
                        totalTuitsNegativos++;
                    }
                }

                watch.Stop();
                ResultadoMultiple Resultados = new ResultadoMultiple()
                {
                    TotalTuits = this.tuits.Count,
                    ProbabilidadPositivaP = probabilidadPositivaP,
                    ProbabilidadNegativaP = probabilidadNegativaP,
                    TotalPositivaP = totalPositivosP,
                    TotalNegativaP = totalNegativosP,
                    ProbabilidadNegativaN = probabilidadNegativaN,
                    ProbabilidadPositivaN = probabilidadPositivaN,
                    TotalNegativaN = totalNegativosN,
                    TotalPositivaN = totalPositivosN,
                    TotalPalabrasPositivas = totalPalabrasPositivas / 2,
                    TotalPalabrasNegativas = totalPalabrasNegativas / 2,
                    TotalTuitsPositivos = totalTuitsPositivos,
                    TotalTuitsNegativos = totalTuitsNegativos,
                    TuitsPositivosN = tuitsPositivosN,
                    TuitsPositivosP = tuitsPositivosP,
                    TuitsNegativosN = tuitsNegativosN,
                    TuitsNegativosP = tuitsNegativosP,
                    Duracion = watch.Elapsed
                };
                ResultadoAll win = new ResultadoAll(Resultados);
                win.Show();
            }
            else
            {
                //Dictionary<string, int> Positivos = this.ObtenerValores(this.clasPositivo.contador,this.txtTuit.Text);
                //Dictionary<string, int> Negativos = this.ObtenerValores(this.clasNegativo.contador, this.txtTuit.Text);

                //Positivos
                probabilidadPositivaP = this.ObtenerProbabilidades(this.clasPositivo, this.txtTuit.Text, ref totalPositivosP, ref totalPalabrasPositivas, ref ProbabilidadPositivosP);
                //this.lblPositivo.Content = probabilidadPositivaP;
                //Negativos
                probabilidadNegativaN = this.ObtenerProbabilidades(this.clasNegativo, this.txtTuit.Text, ref totalNegativosN, ref totalPalabrasNegativas, ref ProbabilidadNegativosN);
                watch.Stop();
                /*this.lblNegativo.Content = probabilidadNegativaN;
                this.lblSeleccion.Content = probabilidadPositivaP > probabilidadNegativaN ? "Positivo" : "Negativo";*/
                ResultadoSencillo res = new ResultadoSencillo()
                {
                    TotalPalabrasPositivas = totalPalabrasPositivas,
                    TotalPalabrasNegativas = totalPalabrasNegativas,
                    ProbabilidadPositivaP = probabilidadPositivaP,
                    ProbabilidadNegativaN = probabilidadNegativaN,
                    Duracion = watch.Elapsed
                };
                ResultadoSingle win = new ResultadoSingle(res);
                win.Show();
            }
        }