public void AlarmaTipoDeAlarmaTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad();

            unaAlarma.TipoDeAlarma = TipoAlarma.Positiva;
            Assert.AreEqual(TipoAlarma.Positiva, unaAlarma.TipoDeAlarma);
        }
        public void AlarmaFueActivadaTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad();

            unaAlarma.FueActivada = true;
            Assert.IsTrue(unaAlarma.FueActivada);
        }
        public void AlarmaEntidadRelacionadaTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad();

            unaAlarma.EntidadRelacionada = new Entidad("Test");
            Assert.IsNotNull(unaAlarma.EntidadRelacionada);
        }
        public void EqualsAlarmaCasoTrueTest()
        {
            AlarmaDeEntidad unaAlarma  = new AlarmaDeEntidad();
            AlarmaDeEntidad otraAlarma = new AlarmaDeEntidad();

            Assert.IsTrue(unaAlarma.Equals(otraAlarma));
        }
        public void AgregarAlarmaOverrideDeEntidadCasoAlarmaRepetidaTest()
        {
            Controlador     unControlador = new Controlador();
            AlarmaDeEntidad unaAlarma     = unControlador.GetListaAlarmasConEntidades()[0];

            unControlador.AgregarAlarma(unaAlarma);
        }
        public void AlarmaLapsoTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad();
            DateTime        unaFecha  = DateTime.Now;

            unaAlarma.FechaInicio = unaFecha;
            Assert.AreEqual(unaAlarma.FechaInicio, unaFecha);
        }
        public void AlarmaCantidadDeFrasesTest()
        {
            AlarmaDeEntidad unaAlarma           = new AlarmaDeEntidad();
            int             unaCantidadDeFrases = 23;

            unaAlarma.CantidadDeFrases = unaCantidadDeFrases;
            Assert.AreEqual(unaAlarma.CantidadDeFrases, 23);
        }
        public void EqualsAlarmaCasoFalseTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad(true, true, new Entidad(), TipoAlarma.Negativa, DateTime.Now,
                                                            DateTime.Now, 33);
            AlarmaDeEntidad otraAlarma = new AlarmaDeEntidad();

            Assert.IsFalse(unaAlarma.Equals(otraAlarma));
        }
        public void AlarmaFechaDeCreacionTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad();
            DateTime        unaFecha  = DateTime.Now;

            unaAlarma.FechaFin = unaFecha;
            Assert.AreEqual(unaAlarma.FechaFin, unaFecha);
        }
 public void ActualizarAlarmaDeEntidad(AlarmaDeEntidad unaAlarma)
 {
     using (Contexto contexto = new Contexto())
     {
         contexto.AlarmaDeEntidades.Attach(unaAlarma);
         contexto.Entry(unaAlarma).State = EntityState.Modified;
         unaAlarma.EvaluarAlarma(GetListaFrasesConEntidad());
         contexto.SaveChanges();
     }
 }
 public void AgregarAlarma(AlarmaDeEntidad unaAlarma)
 {
     using (Contexto contexto = new Contexto())
     {
         var q = from a in contexto.Entidades
                 where a.Nombre == unaAlarma.EntidadRelacionada.Nombre
                 select a;
         unaAlarma.EntidadRelacionada = q.FirstOrDefault();
         contexto.Entidades.Attach(unaAlarma.EntidadRelacionada);
         contexto.AlarmaDeEntidades.Add(unaAlarma);
         contexto.SaveChanges();
     }
 }
        public void AlarmaConstructorConParametrosTest()
        {
            bool            activada            = true;
            bool            fueActivada         = true;
            Entidad         unaEntidad          = new Entidad();
            TipoAlarma      unTipo              = TipoAlarma.Positiva;
            DateTime        unaFechaFin         = new DateTime();
            DateTime        unaFechaInicio      = new DateTime();
            int             unaCantidadDeFrases = 69;
            AlarmaDeEntidad unaAlarma           = new AlarmaDeEntidad(activada, fueActivada, unaEntidad,
                                                                      unTipo, unaFechaFin, unaFechaInicio, unaCantidadDeFrases);

            Assert.IsNotNull(unaAlarma);
        }
        public void ToStringAlarmaCasoNoFueActivadaTest()
        {
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad(false, false, new Entidad(), TipoAlarma.Negativa, DateTime.Now,
                                                            DateTime.Now, 33);
            string retorno = "AlarmaDeEntidad de tipo: {0}, con entidad: {1}, que avisa entre {2} y {3}." +
                             "Con {4} post necesarios, la cual esta: {5}, y {6}.";
            string estado;

            estado = "desactivada";
            string fueActivada;

            fueActivada = "no fue activada";
            string msg = string.Format(retorno, unaAlarma.TipoDeAlarma,
                                       unaAlarma.EntidadRelacionada.Nombre, unaAlarma.FechaInicio,
                                       unaAlarma.FechaFin, unaAlarma.CantidadDeFrases, estado, fueActivada);

            Assert.AreEqual(unaAlarma.ToString(), msg);
        }
        public void AgregarAlarmaOverrideDeEntidadCasoCorrectoTest()
        {
            Controlador     unControlador      = new Controlador();
            AlarmaDeEntidad unaAlarmaDeEntidad = new AlarmaDeEntidad
            {
                Activada           = false,
                CantidadDeFrases   = 3,
                EntidadRelacionada = unControlador.GetListaEntidades()[0],
                FechaInicio        = DateTime.Now.AddDays(-17),
                FechaFin           = DateTime.Now,
                TipoDeAlarma       = TipoAlarma.Positiva
            };
            int alarmasAntesDeInsertar = unControlador.GetListaAlarmasEntidad().Count;

            unControlador.AgregarAlarma(unaAlarmaDeEntidad);
            int alarmasDespuesDeInsertar = unControlador.GetListaAlarmasEntidad().Count;

            Assert.IsTrue((alarmasAntesDeInsertar + 1) == alarmasDespuesDeInsertar);
        }
        public void EvaluarCasoActivarseAlarmaPositivaTest()
        {
            Entidad    unaEntidad     = new Entidad("juan valdez");
            TipoAlarma unTipo         = TipoAlarma.Positiva;
            DateTime   unaFechaFin    = DateTime.Now;
            DateTime   unaFechaInicio = unaFechaFin;

            unaFechaInicio = unaFechaInicio.AddYears(-1);
            int   unaCantidadDeFrases = 1;
            Frase unaFrase            = new Frase("amo a juan valdez");

            unaFrase.EntidadRelacionada = unaEntidad;
            unaFrase.Fecha       = unaFechaFin.AddMonths(-7);
            unaFrase.SuCategoria = Categoria.Positiva;
            List <Frase> unaListaFrases = new List <Frase> {
                unaFrase
            };
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad(false, false, unaEntidad, unTipo
                                                            , unaFechaFin, unaFechaInicio, unaCantidadDeFrases);

            unaAlarma.EvaluarAlarma(unaListaFrases);
            Assert.IsTrue(unaAlarma.Activada);
        }
        public void EvaluarCasoActivarseAlarmaNeutroTest()
        {
            Entidad    unaEntidad     = new Entidad("el helado de vainilla");
            TipoAlarma unTipo         = TipoAlarma.Positiva;
            DateTime   unaFechaFin    = DateTime.Now;
            DateTime   unaFechaInicio = unaFechaFin;

            unaFechaInicio.AddYears(-1);
            int   unaCantidadDeFrases = 1;
            Frase unaFrase            = new Frase("el helado de vainilla me da igual :|");

            unaFrase.EntidadRelacionada = unaEntidad;
            unaFrase.Fecha       = unaFechaFin.AddMonths(-7);
            unaFrase.SuCategoria = Categoria.Neutra;
            List <Frase> unaListaFrases = new List <Frase> {
                unaFrase
            };
            AlarmaDeEntidad unaAlarma = new AlarmaDeEntidad(false, false, unaEntidad, unTipo
                                                            , unaFechaFin, unaFechaInicio, unaCantidadDeFrases);

            unaAlarma.EvaluarAlarma(unaListaFrases);
            Assert.IsFalse(unaAlarma.Activada);
        }
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            panelAgregarAlarma.Hide();
            panelDeAcuerdo.Show();
            DateTime   unaFecha        = DateTime.Now;
            string     unTipoIngresado = comboBoxTipoAlarma.Text;
            TipoAlarma tipo;

            if (unTipoIngresado == "Positiva")
            {
                tipo = TipoAlarma.Positiva;
            }
            else
            {
                tipo = TipoAlarma.Negativa;
            }
            try
            {
                int numeroIngresado = Int32.Parse(textBoxAlarmas.Text.Trim());
                if (listBoxEntidades.SelectedItem != null)
                {
                    string entidadSeleccionada = listBoxEntidades.SelectedItem.ToString();
                    if (entidadSeleccionada == null)
                    {
                        throw new ArgumentNullException();
                    }
                    if (numericUpDownDias.Value == 0 && numericUpDownHoras.Value == 0)
                    {
                        throw new Exception();
                    }
                    if (numericUpDownDias.Value > numericUpDownDias.Maximum || numericUpDownHoras.Value > numericUpDownHoras.Maximum)
                    {
                        throw new Exception();
                    }
                    unaFecha = unaFecha.AddDays(-(double)numericUpDownDias.Value);
                    unaFecha = unaFecha.AddHours(-(double)numericUpDownHoras.Value);
                    AlarmaDeEntidad alarmaParaPasarParametros = new AlarmaDeEntidad(false, false, new Entidad(entidadSeleccionada),
                                                                                    tipo, DateTime.Now, unaFecha, numeroIngresado);
                    unControlador.AgregarAlarma(alarmaParaPasarParametros);
                    lblDeAcuerdo.Text = "Se registro existosamente una alarma";
                }
                else
                {
                    lblDeAcuerdo.Text = "No seleccionaste una entidad";
                    Trace.WriteLine("No se pudo crear una alarma");
                }
            }
            catch (FormatException ex)
            {
                lblDeAcuerdo.Text = "No se registro existosamente una alarma. Ingrese un numero valido.";
                Trace.WriteLine("No se pudo crear una alarma. Excepcion de formato.");
            }
            catch (ArgumentOutOfRangeException ex)
            {
                lblDeAcuerdo.Text = "No se registro existosamente una alarma";
                Trace.WriteLine("No se pudo crear una alarma");
            }
            catch (Exception exs)
            {
                lblDeAcuerdo.Text = "No se registro existosamente una alarma";
                Trace.WriteLine("No se pudo crear una alarma");
            }
            ActualizarListBoxEntidades();
        }
        public void EqualsAlarmaCasoVacioTest()
        {
            AlarmaDeEntidad otraAlarma = new AlarmaDeEntidad();

            Assert.IsFalse(otraAlarma.Equals(null));
        }
        public void TestInitialize()
        {
            this.contexto = new Contexto();
            Autor unAutor = new Autor
            {
                Apellido        = "test1",
                FechaNacimiento = new DateTime(1990, 12, 10),
                Nombre          = "TEST1",
                NombreUsuario   = "test1"
            };

            contexto.Autores.Add(unAutor);
            contexto.SaveChanges();
            Sentimiento unSentimientoPositivo = new Sentimiento {
                Nombre = "amo", TipoDeSentimiento = TipoSentimiento.Positivo
            };
            Sentimiento unSentimientoNegativo = new Sentimiento {
                Nombre = "odio", TipoDeSentimiento = TipoSentimiento.Negativo
            };

            contexto.Sentimientos.Add(unSentimientoPositivo);
            contexto.SaveChanges();
            contexto.Sentimientos.Add(unSentimientoNegativo);
            contexto.SaveChanges();
            Entidad unaEntidad = new Entidad {
                Nombre = "apple"
            };

            contexto.Entidades.Add(unaEntidad);
            contexto.SaveChanges();
            contexto.Autores.Attach(unAutor);
            contexto.Entidades.Attach(unaEntidad);
            contexto.Frases.Add(new Frase
            {
                Autor = unAutor,
                EntidadRelacionada = unaEntidad,
                Fecha       = DateTime.Now.AddDays(-1),
                SuCategoria = Categoria.Positiva,
                Texto       = "amo apple"
            });
            contexto.SaveChanges();
            contexto.Frases.Add(new Frase
            {
                Autor = unAutor,
                EntidadRelacionada = unaEntidad,
                Fecha       = DateTime.Now.AddDays(-1),
                SuCategoria = Categoria.Negativa,
                Texto       = "odio apple"
            });
            contexto.SaveChanges();
            contexto.Frases.Add(new Frase
            {
                Autor = unAutor,
                EntidadRelacionada = unaEntidad,
                Fecha       = DateTime.Now.AddDays(-1),
                SuCategoria = Categoria.Neutra,
                Texto       = "apple"
            });
            contexto.SaveChanges();
            AlarmaDeAutor unaAlarmaDeAutor = new AlarmaDeAutor
            {
                Activada         = false,
                CantidadDeFrases = 1,
                FechaInicio      = DateTime.Now.AddDays(-17),
                FechaFin         = DateTime.Now,
                TipoDeAlarma     = TipoAlarma.Positiva
            };

            contexto.AlarmaDeAutores.Add(unaAlarmaDeAutor);
            contexto.SaveChanges();
            AlarmaDeEntidad unaAlarmaDeEntidad = new AlarmaDeEntidad
            {
                Activada           = false,
                CantidadDeFrases   = 1,
                EntidadRelacionada = unaEntidad,
                FechaInicio        = DateTime.Now.AddDays(-17),
                FechaFin           = DateTime.Now,
                TipoDeAlarma       = TipoAlarma.Positiva
            };

            contexto.AlarmaDeEntidades.Add(unaAlarmaDeEntidad);
            contexto.SaveChanges();
        }