public JsonResult EjecutarRegla(int IdRegla) { SGEContext db = new SGEContext(); BaseRepositorio <Regla> repoRegla = new BaseRepositorio <Regla>(db); var includesRegla = new List <Expression <Func <Regla, object> > >() { r => r.Acciones, r => r.Condiciones, r => r.Inteligente }; Regla regla = repoRegla.Single(r => r.ReglaId == IdRegla, includesRegla); BaseRepositorio <Condicion> repoCondicion = new BaseRepositorio <Condicion>(db); var includesCondicion = new List <Expression <Func <Condicion, object> > >() { c => c.Sensor, c => c.Operador }; regla.Acciones.ToList().ForEach(a => a.Dispositivo = regla.Inteligente); regla.Condiciones.ToList().ForEach(c => c = repoCondicion.Single(co => co.CondicionId == c.CondicionId, includesCondicion)); regla.Condiciones.ToList().ForEach(c => c.Sensor.Dispositivo = regla.Inteligente); regla.Condiciones.ToList().ForEach(c => c.Sensor.TipoSensor = db.Sensores.Include("Catalogos").First(s => s.Id == c.SensorId)); regla.Condiciones.ToList().ForEach(c => c.Sensor.TipoSensor.Dispositivo = regla.Inteligente); regla.Ejecutar(); repoRegla.Update(regla); return(Json(new { success = true })); }
//• Consumo por hogar/periodo. public static decimal consumoPorHogarYPeriodo(int idUsuario, DateTime fechaDesde, DateTime fechaHasta) { SGEContext context = new SGEContext(); BaseRepositorio <Cliente> repoCliente = new BaseRepositorio <Cliente>(context); decimal consumo = 0; var includesCliente = new List <Expression <Func <Cliente, object> > >() { c => c.Inteligentes }; Cliente cliente = repoCliente.Single(u => u.Id == idUsuario, includesCliente); var includesInteligente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones }; foreach (Inteligente inteligente in cliente.Inteligentes) { BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(context); Inteligente inte = repoInteligente.Single(i => i.Id == inteligente.Id, includesInteligente); consumo += inte.ObtenerConsumoPeriodo(fechaDesde, fechaHasta); } foreach (Estandar estandar in cliente.Estandars) { consumo += estandar.ConsumoAproximado((int)Math.Ceiling(fechaHasta.Subtract(fechaDesde).TotalHours)); } return(consumo); }
public JsonResult CambiarEstado(int idInteligente, EstadoDispositivo estado) { SGEContext context = new SGEContext(); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(context); Inteligente inteligente = repoInteligente.Single(i => i.Id == idInteligente); inteligente.Context = context; switch (estado) { case EstadoDispositivo.AhorroEnergia: inteligente.ColocarEnAhorroEnergia(); break; case EstadoDispositivo.Apagado: inteligente.Apagar(); break; case EstadoDispositivo.Encendido: inteligente.Encender(); break; default: return(Json(new { success = false, error = "Estado desconocido" })); } repoInteligente.Update(inteligente); return(Json(new { success = true })); }
public void MockEdit() { var customerDbSetMock = new Mock <DbSet <Customer> >(); var webContextMock = new Mock <WebContextDb>(); webContextMock.Setup(m => m.Set <Customer>()). Returns(customerDbSetMock.Object); webContextMock.Setup(m => m.Set <Customer>()). Returns(customerDbSetMock.Object); var repository = new BaseRepositorio <Customer>(webContextMock.Object); //customerMockList(); var newcustomer = TestcustomerOk(); repository.Agregar(newcustomer); // customerDbSetMock.Verify(p => p.Add(It.IsAny<customer>()), Times.Once); var customerGetByID = repositorio .GetById(p => p.FirstName == "Name1"); // var customerToUpdate = repository.GetById(x => x.FirstName == "Name1"); webContextMock.Verify(w => w.SaveChanges(), Times.Once); }
public JsonResult ejecutarSimplex() { Dictionary <string, double> resultadoSimplex = ejecucionSimplex(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); SGEContext db = new SGEContext(); if (resultadoSimplex == null) { return(Json(new { success = false, error = "No se puede ejecutar el simplex" })); } BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(db); var includesCliente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones, i => i.Clientes }; Inteligente inteligente = null; foreach (KeyValuePair <string, double> item in resultadoSimplex) { if (item.Value > 0 && item.Key != "TotalHorasRestantes" && item.Key != "ConsumoRestanteTotal") { inteligente = repoInteligente.Single(i => i.Nombre == item.Key && i.Clientes.Any(c => c.NombreUsuario == user.UserName), includesCliente); inteligente.Encender(); repoInteligente.Update(inteligente); } } return(Json(new { success = true })); }
// GET: Admin/Reportes public ActionResult Index() { BaseRepositorio <Cliente> repoCliente = new BaseRepositorio <Cliente>(); ICollection <Cliente> clientes = repoCliente.GetAll(); ViewBag.clientes = clientes.Select(c => new SelectListItem() { Text = c.NombreUsuario, Value = c.Id.ToString(), }); BaseRepositorio <Transformador> repoTransformador = new BaseRepositorio <Transformador>(); ICollection <Transformador> transformadores = repoTransformador.GetAll(); ViewBag.transformadores = transformadores.Select(t => new SelectListItem() { Text = t.codigo.ToString(), Value = t.Id.ToString(), }); ViewBag.tiposDispositivos = new SelectList(new[] { new { Value = "inteligente", Text = "Inteligente" }, new { Value = "estandar", Text = "Estandar" }, }, "Value", "Text"); return(View()); }
public JsonResult EliminarRegla(int IdRegla) { SGEContext db = new SGEContext(); BaseRepositorio <Regla> repoRegla = new BaseRepositorio <Regla>(db); Regla regla = repoRegla.Single(r => r.ReglaId == IdRegla); repoRegla.Delete(regla); return(Json(new { success = true })); }
// In this method we will create default User roles and Admin user for login private void createRolesandUsers() { ApplicationDbContext context = new ApplicationDbContext(); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); //se crean roles if (!roleManager.RoleExists("Admin")) { // first we create Admin rool var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(); role.Name = "Admin"; roleManager.Create(role); //se inicializa super admin, var user = new ApplicationUser(); user.Nombre = "SuperAdministrador"; user.Apellido = "SuperAdministrador"; user.UserName = "******"; user.Email = "*****@*****.**"; string userPWD = "A@z200711"; var chkUser = UserManager.Create(user, userPWD); //se le vincula el Rol admin if (chkUser.Succeeded) { var result1 = UserManager.AddToRole(user.Id, "Admin"); } //se sincroniza con nuestro SGEContext BaseRepositorio <Administrador> repoAdmin = new BaseRepositorio <Administrador>(); Administrador admin = null; admin = new Administrador() { Nombre = user.Nombre, Apellido = user.Apellido, NombreUsuario = user.UserName, Password = userPWD, Nui = "SuperAdmin", }; repoAdmin.Create(admin); } //se crea un rol cliente que sera para todos los que se registren desde la pagina if (!roleManager.RoleExists("Cliente")) { var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(); role.Name = "Cliente"; roleManager.Create(role); } }
// GET: Cliente/Inteligentes public ActionResult Index() { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); var inteligentes = repoInteligente.Filter(i => i.Clientes.Any(c => c.NombreUsuario == user.UserName)); return(View(inteligentes)); }
public ActionResult Index() { BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); var includesInteligente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones, i => i.Clientes }; ViewBag.dispositivosEstado = repoInteligente.GetAll(includesInteligente);; return(View()); }
public JsonResult Agregar(int idCatalogo) { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); SGEContext db = new SGEContext(); BaseRepositorio <Cliente> repoCliente = new BaseRepositorio <Cliente>(db); Cliente cliente = repoCliente.Single(c => c.NombreUsuario == user.UserName); BaseRepositorio <Catalogo> repoCatalogo = new BaseRepositorio <Catalogo>(db); Catalogo Catalogo = repoCatalogo.Single(c => c.Id == idCatalogo); Inteligente inteligente = new Inteligente() { ConsumoEnergia = Catalogo.ConsumoEnergia, IdentificadorFabrica = Catalogo.IdentificadorFabrica, Catalogo = Catalogo, CatalogoId = Catalogo.Id }; string nombreInteligente = Catalogo.Nombre + "_" + DateTime.Now.ToString("ddMMyyHHmmss"); nombreInteligente = nombreInteligente.Replace(" ", "_"); inteligente.Nombre = nombreInteligente; inteligente.Clientes.Add(cliente); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(db); repoInteligente.Create(inteligente); db = new SGEContext(); List <Sensor> sensores = db.Sensores.Where(s => s.Catalogos.Any(c => c.Id == Catalogo.Id)).ToList(); foreach (Sensor sensor in sensores) { SGEContext db2 = new SGEContext(); SensorFisico sensorFisico = new SensorFisico() { //TipoSensor = sensor, //Dispositivo = inteligente, IdDispositivo = inteligente.Id, IdTipoSensor = sensor.Id, Descripcion = sensor.Descripcion }; sensorFisico.Mediciones = null; //repoSensorFisico.Create(sensorFisico); db2.SensoresFisicos.Add(sensorFisico); db2.SaveChanges(); } return(Json(new { success = true })); }
// GET: Cliente/Reglas public ActionResult Index() { ViewBag.reglas = ObtenerReglasActivas(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); ViewBag.tieneDispositivos = repoInteligente.Filter(i => i.Clientes.Any(c => c.NombreUsuario == user.UserName)).Count > 0; return(View()); }
// GET: Admin/Hogares public ActionResult Index() { BaseRepositorio <Cliente> repoCliente = new BaseRepositorio <Cliente>(); ICollection <Cliente> clientes = repoCliente.GetAll(); ViewBag.clientes = clientes.Select(c => new SelectListItem() { Text = c.NombreUsuario, Value = Reporte.consumoPorHogarYPeriodo(c.Id, DateTime.Now.AddYears(-10), DateTime.Now).ToString(), }); return(View()); }
private static decimal consumoDispositivosEstandarsPorPeriodo(DateTime fechaDesde, DateTime fechaHasta) { decimal consumo = 0; BaseRepositorio <Estandar> repoEstandar = new BaseRepositorio <Estandar>(); List <Estandar> estandars = repoEstandar.GetAll(); foreach (Estandar estandar in estandars) { consumo += estandar.ConsumoAproximado((int)Math.Ceiling(fechaHasta.Subtract(fechaDesde).TotalHours)); } return(consumo); }
public ActionResult Editar(int idRegla) { SGEContext db = new SGEContext(); BaseRepositorio <Operador> repoOperador = new BaseRepositorio <Operador>(); ViewBag.Operadores = new SelectList(repoOperador.GetAll(), "Id", "Descripcion"); Regla regla = db.Reglas.Include("Acciones").FirstOrDefault(r => r.ReglaId == idRegla); ViewBag.Condiciones = db.Condiciones.Include("Sensor").Include("Operador").Where(c => c.ReglaId == regla.ReglaId); return(View(regla)); }
private ICollection <Inteligente> ObtenerEstadosDispositivos() { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); var includesInteligente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones }; var inteligentes = repoInteligente.Filter(i => i.Clientes.Any(c => c.NombreUsuario == user.UserName), includesInteligente); return(inteligentes); }
private decimal ObtenerConsumoUltimoMes() { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); SGEContext contexto = new SGEContext(); BaseRepositorio <Cliente> repoCliente = new BaseRepositorio <Cliente>(contexto); Cliente cliente = repoCliente.Single(c => c.NombreUsuario == user.UserName); DateTime fDesde = DateTime.Now.AddMonths(-1); DateTime fHasta = DateTime.Now; return(Reporte.consumoPorHogarYPeriodo(cliente.Id, fDesde, fHasta)); }
// GET: Cliente/Inteligentes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); Inteligente inteligente = repoInteligente.Single(i => i.Id == id); if (inteligente == null) { return(HttpNotFound()); } return(View(inteligente)); }
public ActionResult Agregar() { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = UserManager.FindById(User.Identity.GetUserId()); BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); ViewBag.inteligentes = repoInteligente.Filter(i => i.Clientes.Any(c => c.NombreUsuario == user.UserName)); BaseRepositorio <Operador> repoOperador = new BaseRepositorio <Operador>(); ViewBag.Operadores = new SelectList(repoOperador.GetAll(), "Id", "Descripcion"); return(View()); }
public void TestCreate() { //Arrange Funcionario funcionario = new("José", "Carlos", "945.427.800-23", "A1567SSQNU", "Tecnologia"); Mock <IBaseRepositorio <Funcionario> > mock = new (); mock.Setup(m => m.Create(funcionario)).ReturnsAsync(funcionario); //Act var resultadoEsperado = mock.Object.Create(funcionario).Result; var verifica = new BaseRepositorio <Funcionario>(_context).Create(funcionario).Result; //Assert Assert.Equal(verifica, resultadoEsperado); }
public void cargaAdmin() { BaseRepositorio <Administrador> repoAdmin = new BaseRepositorio <Administrador>(); Administrador adminNuevo = new Administrador() { Nombre = "NombreAdmin_test_01", Apellido = "ApellidoAdmin_test_01", NombreUsuario = "NombreUsuarioAdmin_test_1", Password = "******", Nui = "abc-235" }; repoAdmin.Create(adminNuevo); repoAdmin.Delete(adminNuevo); }
public JsonResult AgregarRegla(string nombreRegla, int idInteligente, long[] idsAcciones, List <Condicion> condiciones) { SGEContext db = new SGEContext(); BaseRepositorio <Regla> repoRegla = new BaseRepositorio <Regla>(db); Regla regla = new Regla() { Nombre = nombreRegla, IdInteligente = idInteligente, Condiciones = condiciones }; regla.Acciones = db.Acciones.Where(a => idsAcciones.Any(x => x == a.Id)).ToList(); repoRegla.Create(regla); return(Json(new { success = true })); }
private static decimal consumoDispositivosInteligentesPorPeriodo(DateTime fechaDesde, DateTime fechaHasta) { decimal consumo = 0; BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); var includesInteligente = new List <Expression <Func <Inteligente, object> > >() { i => i.RegistroDeActivaciones }; List <Inteligente> inteligentes = repoInteligente.GetAll(includesInteligente); foreach (Inteligente inteligente in inteligentes) { consumo += inteligente.ObtenerConsumoPeriodo(fechaDesde, fechaHasta); } return(consumo); }
public void LevantarDispositivosArchivo() { BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); foreach (Core.Entidades.Dispositivo dispositivo in DispositivosHelper.GetInstace().Dispositivos) { if (repoInteligente.Single(d => d.Nombre == dispositivo.Tipo) == null) { repoInteligente.Create(new Inteligente() { Nombre = dispositivo.Tipo, ConsumoEnergia = (decimal)dispositivo.Consumo, IdentificadorFabrica = dispositivo.Id.Substring(0, 14) }); } } }
public void CargaZona() { BaseRepositorio <Zona> repoZona = new BaseRepositorio <Zona>(); Zona zonaNueva = new Zona() { Nombre = "zona_01", Latitud = 25, Longitud = 45, Radio = 4, }; repoZona.Create(zonaNueva); var ListaZonas = repoZona.GetAll(); Assert.IsTrue(ListaZonas.Any(z => z.Nombre == zonaNueva.Nombre)); repoZona.Delete(zonaNueva); }
public async Task <ActionResult> Register(RegisterViewModel model, int TransformadorId) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.NombreUsuario, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); BaseRepositorio <Cliente> repocliente = new BaseRepositorio <Cliente>(); Cliente cliente = null; cliente = new Cliente() { Nombre = model.Nombre, Apellido = model.Apellido, NombreUsuario = model.NombreUsuario, Password = model.Password, NumeroDocumento = model.NumeroDocumento, TransformadorId = TransformadorId }; repocliente.Create(cliente); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); //se vincula el rol cliente a todos los registrados desde la pagina var result1 = UserManager.AddToRole(user.Id, "Cliente"); // Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771 // Enviar correo electrónico con este vínculo // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public void Inicializar() { BaseRepositorio <Categoria> repoCategoria = new BaseRepositorio <Categoria>(); Categoria categoriaNueva = new Categoria() { Codigo = "R2", ConsumoMinimo = 500, ConsumoMaximo = 1200, CostoFijo = 500, CostoVariable = 350 }; repoCategoria.Create(categoriaNueva); var ListaCategorias = repoCategoria.GetAll(); Assert.IsTrue(ListaCategorias.Any(c => c.Codigo == categoriaNueva.Codigo)); repoCategoria.Delete(categoriaNueva); }
//Inicio public ActionResult Index() { var jsonSerialiser = new JavaScriptSerializer(); BaseRepositorio <Zona> repoZona = new BaseRepositorio <Zona>(); SGEContext db = new SGEContext(); List <object> objetos = new List <object>(); foreach (Transformador transformador in db.Transformadores.Include("Clientes").Include("Clientes.Inteligentes").ToList()) { var objeto = Json(new { transformador.Latitud, transformador.Longitud, Consumo = transformador.ObtenerConsumo() }).Data; objetos.Add(objeto); } ViewBag.transformadores = jsonSerialiser.Serialize(objetos); ViewBag.zonas = jsonSerialiser.Serialize(repoZona.GetAll()); return(View()); }
public void ProcesarDatosEnre() { BaseRepositorio <Transformador> repoTransformador = new BaseRepositorio <Transformador>(); BaseRepositorio <Zona> repoZona = new BaseRepositorio <Zona>(); TransformadoresHelper transHelper = new TransformadoresHelper(); foreach (Core.Entidades.Transformador transformador in transHelper.Transformadores) { if (repoTransformador.Single(t => t.codigo == transformador.codigo) == null) { repoTransformador.Create(new Transformador() { codigo = transformador.codigo, Latitud = (double)transformador.Latitud, Longitud = (double)transformador.Longitud, ZonaId = repoZona.Single(z => z.codigo == transformador.Zona).Id }); } } }
//• Consumo por transformador por periodo. public static decimal consumoTransformadorPorPeriodo(int idTransformador, DateTime fechaDesde, DateTime fechaHasta) { decimal consumo = 0; BaseRepositorio <Transformador> repoTransformador = new BaseRepositorio <Transformador>(); var includesTransformador = new List <Expression <Func <Transformador, object> > >() { t => t.Clientes }; Transformador transformador = repoTransformador.Single(t => t.Id == idTransformador, includesTransformador); if (transformador != null) { foreach (Cliente cliente in transformador.Clientes) { consumo += consumoPorHogarYPeriodo(cliente.Id, fechaDesde, fechaHasta); } } return(consumo); }