Ejemplo n.º 1
0
        public void ConvertirDEaDIyCambioState_test()
        {
            using (var db = new DBContext())
            {
                //Arrenge
                var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "ConvertirDEaDIyCambioState", "asdqwe123", "12345678", "dni", "12345678");
                cliente.AgregarALaBase();

                var tvsamsung = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                cliente.AgregarDispEstandar(tvsamsung);

                cliente.AdaptarDispositivo(tvsamsung, "HP");

                var DBdispInt1 = db.Dispositivos.First(x => x.UsuarioID == cliente.UsuarioID && x.Codigo == "0014" && x.EsInteligente == true);

                //Act
                var adaptadorSamsung = new AdaptadorSamsung(DBdispInt1.DispositivoID);
                adaptadorSamsung.Encender();

                var ultimoEstado = db.Estados.Find(adaptadorSamsung.IDUltimoEstado);

                //Assert
                Assert.AreEqual(true, DBdispInt1.EsInteligente);
                Assert.AreEqual("Encendido", ultimoEstado.Desc);
            }
        }
Ejemplo n.º 2
0
        public void ConvertirDEaDIyCambioState_test()
        {
            using (var db = new DBContext())
            {
                //Arrenge
                var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "ConvertirDEaDIyCambioState", "asdqwe123", "12345678", "dni", "12345678");
                cliente.TransformadorID = 1; //necesita un id si o si
                db.Usuarios.Add(cliente);
                db.SaveChanges();

                var cliente1 = new Cliente(cliente.Username);

                var tvsamsung = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                tvsamsung.UsuarioID = cliente1.UsuarioID;
                db.Dispositivos.Add(tvsamsung);
                db.SaveChanges();

                var dispEst1 = new DispositivoEstandar(tvsamsung.DispositivoID);

                cliente1.AdaptarDispositivo(dispEst1, "Samsung");

                var DBdispInt1 = db.Dispositivos.First(x => x.UsuarioID == cliente1.UsuarioID && x.Codigo == "0014" && x.EsInteligente == true);
                var dispInt1   = new DispositivoInteligente(DBdispInt1.DispositivoID);

                //Act

                dispInt1.Encender();

                var ultimoEstado = db.Estados.Find(dispInt1.IDUltimoEstado);

                //Assert
                Assert.AreEqual(true, DBdispInt1.EsInteligente);
                Assert.AreEqual("Encendido", ultimoEstado.Desc);
            }
        }
Ejemplo n.º 3
0
        public ActionResult DetallesEstandar(SubmitViewModel model, int id)
        {
            DispositivoEstandar d = new DispositivoEstandar(id);

            d.setHorasXDia(model.HorasEstandar);
            ViewBag.horas = d.HorasXDia;

            return(View(new DispositivoEstandar(id)));
        }
Ejemplo n.º 4
0
        public double ConsumoDispositivosEstandar(int periodo)
        {
            double consumo = 0;

            foreach (var disp in dispositivos)
            {
                if (disp.GetType() == typeof(DispositivoEstandar))
                {
                    DispositivoEstandar d = (DispositivoEstandar)disp;
                    consumo += d.CalcularConsumoMensual(periodo);
                }
            }
            return(consumo);
        }
Ejemplo n.º 5
0
        public ActionResult AgregarDispositivoClie(SubmitViewModel model)
        {
            //Agrega el nuevo dispositivo al usuario
            string codigo = model.DispositivoSeleccionado;

            Cliente c = new Cliente(User.Identity.GetUserName());

            if (DispositivosTotales.EsInteligente(codigo))
            {
                DispositivoInteligente disp = DispositivosTotales.EncontrarDispositivoInteligente(codigo);
                c.AgregarDispInteligente(disp);
            }
            else
            {
                DispositivoEstandar disp = DispositivosTotales.EncontrarDispositivoEstandard(codigo);
                c.AgregarDispEstandar(disp);
            }

            return(RedirectToAction("DispositivosPropios", "Home"));
        }
Ejemplo n.º 6
0
        public void Simplex_Test()
        {
            using (var db = new DBContext())
            {
                //Arrenge
                var recomendacion = Recomendacion.Instancia();
                var simplex       = SimplexHelper.Instancia();

                var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "WebService_test", "asdqwe123", "12345678", "dni", "12345678");
                //cliente.TransformadorID = 1; //necesita un id si o si
                db.Usuarios.Add(cliente);
                db.SaveChanges();

                var Lampara60W = new DispositivoInteligente("lampara halogena de 60 W", "0011", 0.06, 360, 90);
                Lampara60W.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(Lampara60W);
                db.SaveChanges();

                var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3);
                microondas.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(microondas);
                db.SaveChanges();

                var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                televisor40.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(televisor40);
                db.SaveChanges();

                var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6);
                lavarropa.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(lavarropa);
                db.SaveChanges();

                //Act
                var resultado = recomendacion.GenerarRecomendacion(cliente);

                //Assert

                Assert.AreEqual("[765.0, 15.0, 360.0, 30.0, 360.0]", resultado);
            }
        }
Ejemplo n.º 7
0
        public void RecomendacionesDelCliente()
        {
            using (var db = new DBContext())
            {
                //Arrenge

                var cliente = new Cliente("Luciano", "Panizza", "Medrano951", "RecomendacionesDelCliente_test", "asdqwe123", "12345678", "dni", "12345678");
                //cliente.TransformadorID = 1; //necesita un id si o si
                db.Usuarios.Add(cliente);
                db.SaveChanges();

                var Lampara60W = new DispositivoInteligente("lampara halogena de 60 W", "0011", 0.06, 360, 90);
                cliente.AgregarDispInteligente(Lampara60W);

                var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3);
                cliente.AgregarDispEstandar(microondas);

                var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                cliente.AgregarDispEstandar(televisor40);

                var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6);
                cliente.AgregarDispEstandar(lavarropa);

                //Act
                var RecomendacionXDispositivos = cliente.SolicitarRecomendacion();

                //Assert

                //Assert.AreEqual("Valor independiente", RecomendacionXDispositivos[0].NombreDispositivo);
                Assert.AreEqual("lampara halogena de 60 W", RecomendacionXDispositivos[1].NombreDispositivo);
                Assert.AreEqual("microondas convencional", RecomendacionXDispositivos[2].NombreDispositivo);
                Assert.AreEqual("televisor LCD de 40 pulgadas", RecomendacionXDispositivos[3].NombreDispositivo);
                Assert.AreEqual("lavarropas automatico de 5kg con calentamiento", RecomendacionXDispositivos[4].NombreDispositivo);

                //Assert.AreEqual(765, RecomendacionXDispositivos[0].KWxHoraPuedeConsumir);
                Assert.AreEqual(15, RecomendacionXDispositivos[1].KWxHoraPuedeConsumir);
                Assert.AreEqual(360, RecomendacionXDispositivos[2].KWxHoraPuedeConsumir);
                Assert.AreEqual(30, RecomendacionXDispositivos[3].KWxHoraPuedeConsumir);
                Assert.AreEqual(360, RecomendacionXDispositivos[4].KWxHoraPuedeConsumir);
            }
        }
Ejemplo n.º 8
0
        public double ConsumoPorTransformador(int periodo, Transformador transformador)
        {
            double             consumo = 0;
            List <Dispositivo> dispos  = new List <Dispositivo>();

            foreach (Cliente cliente in transformador.Clientes)
            {
                dispos = DispositivoHandler.GetDispositivosByUsuarioID(cliente.UsuarioID);
                foreach (var disp in dispositivos)
                {
                    if (disp.GetType() == typeof(DispositivoEstandar))
                    {
                        DispositivoEstandar d = (DispositivoEstandar)disp;
                        consumo += d.CalcularConsumoMensual(periodo);
                    }
                    else if (disp.GetType() == typeof(DispositivoInteligente))
                    {
                        DispositivoInteligente d = (DispositivoInteligente)disp;
                        consumo += d.EnergiaConsumidaEnPeriodo(periodo);
                    }
                }
            }
            return(consumo);
        }
Ejemplo n.º 9
0
        protected override void Seed(TP_Integrador.Data.ContextoDB context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            Cliente ClienteDePrueba = new Cliente(1, "NomUs", "LaPass", "Prueba", "Prueba", "Prueba", "DNI", "40000000", "4000000");

            using (var db = new ContextoDB())
            {
                DispositivoInteligente aire3500                     = new DispositivoInteligente("Aire Acondicionado 3500", 1.613, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente aire2200                     = new DispositivoInteligente("Aire Acondicionado 2200", 1.013, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoEstandar    tvTubo21                     = new DispositivoEstandar("TV Tubo Fluorescente 21'", 0.075, ClienteDePrueba);
                DispositivoEstandar    tvTubo29a34                  = new DispositivoEstandar("TV Tubo Fluorescente 29' a 34'", 0.175, ClienteDePrueba);
                DispositivoEstandar    tvLCD                        = new DispositivoEstandar("TV LCD 40'", 0.18, ClienteDePrueba);
                DispositivoInteligente tvLED24                      = new DispositivoInteligente("TV LED 24'", 0.04, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente tvLED32                      = new DispositivoInteligente("TV LED 32'", 0.055, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente tvLED40                      = new DispositivoInteligente("TV LED 40'", 0.08, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente heladeraConFreezer           = new DispositivoInteligente("Heladera Con Freezer", 0.09, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente heladeraSinFreezer           = new DispositivoInteligente("Heladera Sin Freezer", 0.075, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoEstandar    lavarropasAutoCCalentamiento = new DispositivoEstandar("Lavarropas automático de 5kg con calentamiento de agua", 0.875, ClienteDePrueba);
                DispositivoInteligente lavarropasAutomatico         = new DispositivoInteligente("Lavarropas automático de 5kg", 0.175, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoEstandar    lavaropasSemiAuto            = new DispositivoEstandar("Lavarropas semiautomático de 5kg", 0.1275, ClienteDePrueba);
                DispositivoEstandar    ventiladorPie                = new DispositivoEstandar("Ventilador de pie", 0.09, ClienteDePrueba);
                DispositivoInteligente ventiladorTecho              = new DispositivoInteligente("Ventilador de techo", 0.06, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lamparaHalo40W               = new DispositivoInteligente("Lampara Halogena de 40W", 0.04, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lamparaHalo60W               = new DispositivoInteligente("Lampara Halogena de 60W", 0.06, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lamparaHalo100W              = new DispositivoInteligente("Lampara Halogena de 100W", 0.015, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lampara11W                   = new DispositivoInteligente("Lampara de 11W", 0.011, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lampara15W                   = new DispositivoInteligente("Lampara de 15W", 0.015, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente lampara20W                   = new DispositivoInteligente("Lampara de 20W", 0.02, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoInteligente pcEscritorio                 = new DispositivoInteligente("PC de escritorio", 0.4, ClienteDePrueba, new FabricanteDePrueba());
                DispositivoEstandar    microondas                   = new DispositivoEstandar("Microondas convencional", 0.64, ClienteDePrueba);

                db.Dispositivos.Add(aire2200);
                db.Dispositivos.Add(aire3500);
                db.Dispositivos.Add(tvTubo21);
                db.Dispositivos.Add(tvTubo29a34);
                db.Dispositivos.Add(tvLCD);
                db.Dispositivos.Add(tvLED24);
                db.Dispositivos.Add(tvLED32);
                db.Dispositivos.Add(tvLED40);
                db.Dispositivos.Add(heladeraConFreezer);
                db.Dispositivos.Add(heladeraSinFreezer);
                db.Dispositivos.Add(lavarropasAutoCCalentamiento);
                db.Dispositivos.Add(lavarropasAutomatico);
                db.Dispositivos.Add(lavaropasSemiAuto);
                db.Dispositivos.Add(ventiladorPie);
                db.Dispositivos.Add(ventiladorTecho);
                db.Dispositivos.Add(lamparaHalo40W);
                db.Dispositivos.Add(lamparaHalo60W);
                db.Dispositivos.Add(lamparaHalo100W);
                db.Dispositivos.Add(lampara11W);
                db.Dispositivos.Add(lampara15W);
                db.Dispositivos.Add(lampara20W);
                db.Dispositivos.Add(pcEscritorio);
                db.Dispositivos.Add(microondas);

                db.SaveChanges();
            }
        }
Ejemplo n.º 10
0
        public void AccionesAutomatica_Test()
        {
            using (var db = new DBContext())
            {
                //Arrenge
                var InstanciaRec = Recomendacion.Instancia();
                var cliente      = new Cliente("Luciano", "Panizza", "Medrano951", "AccionesAutomaticaON_Test", "asdqwe123", "12345678", "dni", "12345678");
                cliente.TransformadorID = 1; //necesita un id si o si
                db.Usuarios.Add(cliente);
                db.SaveChanges();
                cliente.AccionAutomaticaON();

                var cliente2 = new Cliente("Luciano", "Panizza", "Medrano951", "AccionesAutomaticaOFF_Test", "asdqwe123", "12345678", "dni", "12345678");
                cliente2.TransformadorID = 1; //necesita un id si o si
                db.Usuarios.Add(cliente2);
                db.SaveChanges();

                var tvAire24LEd = new DispositivoInteligente("televisor LED de 24 pulgadas", "0015", 0.04, 365, 90);
                tvAire24LEd.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(tvAire24LEd);
                db.SaveChanges();

                var microondas = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3);
                microondas.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(microondas);
                db.SaveChanges();

                var televisor40 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                televisor40.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(televisor40);
                db.SaveChanges();

                var lavarropa = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6);
                lavarropa.UsuarioID = cliente.UsuarioID;
                db.Dispositivos.Add(lavarropa);
                db.SaveChanges();

                tvAire24LEd.AgregarEstado(new Apagado(tvAire24LEd)
                {
                    FechaInicial = DateTime.Now.AddHours(-500), FechaFinal = DateTime.Now.AddHours(-370)
                });
                tvAire24LEd.AgregarEstado(new Encendido(tvAire24LEd)
                {
                    FechaInicial = DateTime.Now.AddHours(-370)
                });

                var tvAire24LEd2 = new DispositivoInteligente("televisor LED de 24 pulgadas", "0015", 0.04, 365, 90);
                tvAire24LEd2.UsuarioID = cliente2.UsuarioID;
                db.Dispositivos.Add(tvAire24LEd2);
                db.SaveChanges();

                var microondas2 = new DispositivoEstandar("microondas convencional", "0011", 0.64, 0, 15, 3);
                microondas2.UsuarioID = cliente2.UsuarioID;
                db.Dispositivos.Add(microondas2);
                db.SaveChanges();

                var televisor402 = new DispositivoEstandar("televisor LCD de 40 pulgadas", "0014", 0.18, 0, 360, 90);
                televisor402.UsuarioID = cliente2.UsuarioID;
                db.Dispositivos.Add(televisor402);
                db.SaveChanges();

                var lavarropa2 = new DispositivoEstandar("lavarropas automatico de 5kg con calentamiento", "0021", 0.875, 0, 30, 6);
                lavarropa2.UsuarioID = cliente2.UsuarioID;
                db.Dispositivos.Add(lavarropa2);
                db.SaveChanges();

                tvAire24LEd2.AgregarEstado(new Apagado(tvAire24LEd2)
                {
                    FechaInicial = DateTime.Now.AddHours(-500), FechaFinal = DateTime.Now.AddHours(-370)
                });
                tvAire24LEd2.AgregarEstado(new Encendido(tvAire24LEd2)
                {
                    FechaInicial = DateTime.Now.AddHours(-370)
                });


                //Act

                InstanciaRec.EjecutarRecomendacion();

                var DI     = new DispositivoInteligente(tvAire24LEd.DispositivoID);
                var ultEst = db.Estados.Find(DI.IDUltimoEstado);

                var DI2     = new DispositivoInteligente(tvAire24LEd2.DispositivoID);
                var ultEst2 = db.Estados.Find(DI2.IDUltimoEstado);


                //Assert
                //Assert.AreEqual("[770.0, 15.0, 360.0, 30.0, 365.0]", resultado);
                Assert.AreEqual("Apagado", ultEst.Desc);
                Assert.IsTrue(DI.EstaApagado());
                Assert.AreEqual("Encendido", ultEst2.Desc);
                Assert.IsTrue(DI2.EstaEncendido());
            }
        }