Example #1
0
        /// <summary>
        /// Método que esta escuchando los datos que envian los sensores
        /// de temperatura y de electroencefalograma
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void serialPort_DataRecived(object sender, SerialDataReceivedEventArgs e)
        {
            try
            {
                string read1 = serialPort1.ReadLine();
                if (read1.Contains("T,"))
                {
                    //Temperatura = read1;
                    String   source = read1;
                    String[] result = source.Split(new char[] { ',', ';' });

                    this.Temperatura = result[1].Replace("\r\n", "") + "°";
                    this.NewTemperatura.FechaHora = System.DateTime.Now;
                    var tem = result[1].Trim();
                    this.NewTemperatura.Valor = float.Parse(tem, CultureInfo.InvariantCulture);

                    if (this.Save)
                    {
                        using (var contexto = new Entidades())
                        {
                            TemperaturaService temperaturaService = new TemperaturaService(contexto);
                            await temperaturaService.AgregarTemperatura(this.Sesion.Id, this.NewTemperatura);
                        }
                    }
                }
                else
                {
                    Eeg = read1;

                    String   source = Eeg;
                    String[] result = source.Split(new char[] { ',', ';' });

                    this.NewEgg.FechaHora  = System.DateTime.Now;
                    this.NewEgg.Senal      = Int32.Parse(result[1]);
                    this.NewEgg.Attention  = Int32.Parse(result[2]);
                    this.NewEgg.Meditation = Int32.Parse(result[3]);
                    this.NewEgg.Delta      = Int32.Parse(result[4]);
                    this.NewEgg.Theta      = Int32.Parse(result[5]);
                    this.NewEgg.LowAlpha   = Int32.Parse(result[6]);
                    this.NewEgg.HighAlpha  = Int32.Parse(result[7]);
                    this.NewEgg.LowBeta    = Int32.Parse(result[8]);
                    this.NewEgg.HighBeta   = Int32.Parse(result[9]);
                    this.NewEgg.LowGamma   = Int32.Parse(result[10]);
                    this.NewEgg.HighGamma  = Int32.Parse(result[11]);

                    this.Concentracion = this.NewEgg.Attention.ToString();
                    this.Meditacion    = this.NewEgg.Meditation.ToString();

                    if (maxAlpha < this.NewEgg.LowAlpha || maxAlpha == 0)
                    {
                        maxAlpha = this.NewEgg.LowAlpha;
                    }

                    if (maxBeta < this.NewEgg.LowBeta || maxBeta == 0)
                    {
                        maxBeta = this.NewEgg.LowBeta;
                    }

                    if (maxDelta < this.NewEgg.Delta || maxDelta == 0)
                    {
                        maxDelta = this.NewEgg.Delta;
                    }

                    if (this.NewEgg.Senal == 200)
                    {
                        this.Senal         = "Red";
                        this.Concentracion = "0";
                        this.Meditacion    = "0";
                        this.Alpha         = "0";
                        this.Beta          = "0";
                        this.Delta         = "0";
                    }

                    else if (this.NewEgg.Senal == 0)
                    {
                        this.Senal         = "YellowGreen";
                        this.Concentracion = this.NewEgg.Attention.ToString();
                        this.Meditacion    = this.NewEgg.Meditation.ToString();
                    }
                    else if (this.NewEgg.Senal > 0 && this.NewEgg.Senal < 200)
                    {
                        this.Senal         = "Yellow";
                        this.Concentracion = "0";
                        this.Meditacion    = "0";
                        this.Alpha         = ((this.NewEgg.LowAlpha * 100) / maxAlpha).ToString();
                        this.Beta          = ((this.NewEgg.LowBeta * 100) / maxBeta).ToString();
                        this.Delta         = ((this.NewEgg.Delta * 100) / maxDelta).ToString();
                    }


                    if (this.Save)
                    {
                        using (var contexto = new Entidades())
                        {
                            EegService eegService = new EegService(contexto);
                            await eegService.AgregarEeg(this.Sesion.Id, this.NewEgg);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                Logger.Log.Error("Mensaje: ", ex);
            }
        }
Example #2
0
        public async Task AgregarFrecuenciaCardiacaTest()
        {
            Eeg eeg = new Eeg
            {
                Id         = 1,
                Attention  = 100,
                Delta      = 101,
                FechaHora  = DateTime.Now,
                HighAlpha  = 102,
                HighBeta   = 103,
                HighGamma  = 104,
                LowAlpha   = 105,
                LowBeta    = 106,
                LowGamma   = 107,
                Meditation = 99,
                Senal      = 0,
                Theta      = 108
            };

            var data = new List <Usuario>
            {
                new Usuario
                {
                    Id        = 1,
                    Nombres   = "Usuario1",
                    Apellidos = "Usuario1",
                    Edad      = 21,
                    EsMuestra = true,
                    Sesiones  = new List <Sesion> {
                        new Sesion
                        {
                            Id                  = 1,
                            Comentarios         = "Comentario1",
                            Fecha               = DateTime.Now,
                            Eegs                = null,
                            FrecuenciaCardiacas = null,
                            Temperaturas        = null
                        }
                    },
                    Sexo = true
                }
            }.AsQueryable();

            var mockSet = new Mock <DbSet <Usuario> >();

            mockSet.As <IQueryable <Usuario> >().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As <IQueryable <Usuario> >().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As <IQueryable <Usuario> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As <IQueryable <Usuario> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockContext = new Mock <Entidades>();

            mockContext.Setup(m => m.Usuarios).Returns(mockSet.Object);

            var service = new EegService(mockContext.Object);
            var sesion  = await service.AgregarEeg(1, eeg);

            var eegRpta = sesion.Eegs.ToList();

            Assert.AreEqual("105", eegRpta.First().LowAlpha.ToString());
            Assert.AreEqual("106", eegRpta.First().LowBeta.ToString());
        }