Example #1
0
        // 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);
            }
        }
        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 }));
        }
Example #3
0
        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 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 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 }));
        }
Example #6
0
        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));
        }
Example #8
0
        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);
        }
Example #9
0
        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
                    });
                }
            }
        }
Example #10
0
        public void ProcesarDatosEnre()
        {
            ZonasHelper            zonaHelper = new ZonasHelper();
            BaseRepositorio <Zona> repoZona   = new BaseRepositorio <Zona>();

            foreach (Core.Entidades.Zona zona in zonaHelper.Zonas)
            {
                if (repoZona.Single(z => z.codigo == zona.codigo) == null)
                {
                    repoZona.Create(new Zona()
                    {
                        Id       = zona.Id,
                        codigo   = zona.codigo,
                        Nombre   = zona.Nombre,
                        Latitud  = (double)zona.Latitud,
                        Longitud = (double)zona.Longitud,
                        Radio    = zona.Radio
                    });
                }
            }
        }
Example #11
0
        // GET: Cli/CargaMasiva/Details/5
        public JsonResult SubirArchivo(HttpPostedFileBase File)
        {
            if (!File.ContentType.Contains("json"))
            {
                return(Json(new { success = false, error = "El archivo debe ser de formato JSON" }));
            }

            try {
                using (StreamReader r = new StreamReader(File.InputStream)) {
                    string             json         = r.ReadToEnd();
                    List <Inteligente> inteligentes = JsonConvert.DeserializeObject <List <Inteligente> >(json);

                    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);

                    BaseRepositorio <Catalogo>    repoCatalogo    = new BaseRepositorio <Catalogo>(contexto);
                    BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(contexto);

                    foreach (Inteligente inteligente in inteligentes)
                    {
                        Catalogo Catalogo = repoCatalogo.Single(c => c.Id == inteligente.CatalogoId);

                        if (Catalogo == null)
                        {
                            return(Json(new { success = false, error = "El dispositivo '" + inteligente.Nombre + "' esta asociado a un catálogo inexistente" }));
                        }
                        string nombreInteligente = Catalogo.Nombre + "_" + DateTime.Now.ToString("ddMMyyHHmmss");
                        nombreInteligente  = nombreInteligente.Replace(" ", "_");
                        inteligente.Nombre = nombreInteligente;
                        inteligente.Clientes.Clear();
                        inteligente.Clientes.Add(cliente);

                        if (inteligente.Id != 0)
                        {
                            repoInteligente.Update(inteligente);
                        }
                        else
                        {
                            repoInteligente.Create(inteligente);
                        }

                        List <Sensor> sensores = contexto.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();
                        }
                    }
                }
            } catch (Exception ex) {
                return(Json(new { success = false, error = "El archivo JSON no es valido, por favor verifique el mismo", mensaje = ex.Message }));
            }

            return(Json(new { success = true }));
        }