Beispiel #1
0
        //----------------------------------------------------------------------

        public async Task <bool> CambiarRol(UsuarioRolVM modelo)
        {
            if (modelo.rol_id < 1 || modelo.peticion_id < 1 || modelo.usuario_id < 1)
            {
                throw new Exception("Alguna de las ID insertadas es invalida");
            }

            //esta peticio_id significa el usuario_id de quien hace la peticion para cambiar el rol
            var usuarioQuePeticiona = await _context.Usuarios.Include(a => a.rol).FirstOrDefaultAsync(f => f.usuario_id == modelo.peticion_id);

            if (usuarioQuePeticiona.rol.nombre != "Administrador")
            {
                throw new Exception("");
            }

            var usuario = await _context.Usuarios.FindAsync(modelo.usuario_id);

            if (usuario == null)
            {
                throw new Exception("La ID del usuario no existe");
            }

            usuario.rol_id = modelo.rol_id;

            _context.Usuarios.Update(usuario);
            await _context.SaveChangesAsync();

            return(true);
        }
Beispiel #2
0
        public ActionResult Create(UsuarioRolVM usuarioVM)
        {
            if (usuarioVM != null)
            {
                usuarioVM.Usuario.idPerfil = (int)PerfilesEnum.Multinivel;
                //var properties = ClaimsPrincipal.Current.Identities.First();
                //usuarioVM.Usuario.Id = int.Parse(properties.Claims.First(i => i.Type == ClaimTypes.NameIdentifier).Value);
                UsuarioRolDomainModel usuarioDM = new UsuarioRolDomainModel();
                AutoMapper.Mapper.Map(usuarioVM, usuarioDM);
                usuarioBusiness.AddUpdateUsuarios(usuarioDM);
            }

            return(RedirectToAction("Create", "Usuario"));
        }
        public ActionResult Create(UsuarioRolVM usuarioVM)
        {
            if (usuarioVM != null)
            {
                var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;

                usuarioVM.Usuario.idStatus = (int)EnumStatus.ALTA;
                usuarioVM.Usuario.Clave    = Funciones.Encrypt(usuarioVM.Usuario.Clave);
                var properties = ClaimsPrincipal.Current.Identities.First();
                usuarioVM.Usuario.Id = int.Parse(properties.Claims.First(i => i.Type == ClaimTypes.NameIdentifier).Value);

                if (identity.IsInRole("Administrador") || identity.IsInRole("Super Administrador"))
                {
                    UsuarioRolDomainModel usuarioDM = new UsuarioRolDomainModel();
                    AutoMapper.Mapper.Map(usuarioVM, usuarioDM);
                    usuarioBusiness.AddUpdateUsuarios(usuarioDM);
                }
                else
                {
                    UsuarioDomainModel usuarioDomainModel = new UsuarioDomainModel();

                    if (identity.IsInRole("MultiNivel"))
                    {
                        usuarioVM.Usuario.area_movilizador = "MultiNivel";
                    }
                    else if (identity.IsInRole("Planilla Ganadora"))
                    {
                        usuarioVM.Usuario.area_movilizador = "Planilla Ganadora";
                    }
                    else if (identity.IsInRole("Campaña"))
                    {
                        usuarioVM.Usuario.area_movilizador = "Campaña";
                    }
                    else if (identity.IsInRole("En Campaña"))
                    {
                        usuarioVM.Usuario.area_movilizador = "En Campaña";
                    }
                    else if (identity.IsInRole("Redes Sociales"))
                    {
                        usuarioVM.Usuario.area_movilizador = "Redes Sociales";
                    }

                    AutoMapper.Mapper.Map(usuarioVM.Usuario, usuarioDomainModel);
                    usuarioBusiness.AddUser(usuarioDomainModel);
                }
            }

            return(RedirectToAction("Create", "Usuario"));
        }
Beispiel #4
0
        public ActionResult Create(UsuarioRolVM usuarioVM)
        {
            if (usuarioVM != null)
            {
                usuarioVM.Usuario.idStatus = (int)EnumStatus.ALTA;
                usuarioVM.Usuario.Clave    = Funciones.Encrypt(usuarioVM.Usuario.Clave);
                var properties = ClaimsPrincipal.Current.Identities.First();
                usuarioVM.Usuario.Id = int.Parse(properties.Claims.First(i => i.Type == ClaimTypes.NameIdentifier).Value);
                UsuarioRolDomainModel usuarioDM = new UsuarioRolDomainModel();
                AutoMapper.Mapper.Map(usuarioVM, usuarioDM);
                usuarioBusiness.AddUpdateUsuarios(usuarioDM);
            }

            return(RedirectToAction("Create", "Usuario"));
        }
Beispiel #5
0
        public async Task <IActionResult> CambiarRol([FromBody] UsuarioRolVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //if (model.peticion_id <= 0 || model.usuario_id <= 0 || model.rol_id <= 0)
            //{
            //    return BadRequest();
            //}


            string Idstr = HttpContext.GetClaim("usuarioId");
            //string Rolstr = HttpContext.GetClaim("rol");

            //if (Idstr.EsNulaOVacia())
            //{
            //    throw new Exception("No existe el Id del Usuario");
            //}
            int IdUSer = int.Parse(Idstr);

            if (IdUSer != model.peticion_id)
            {
                throw new Exception("El Id de la petición no coincide con el usuario conectado");
            }

            //if (Rolstr != "Administrador")
            //{
            //    throw new Exception("Esta opción solo la puede realizar un usuario administrador");
            //}

            bool regreso = await _usuarioService.CambiarRol(model);

            return(Ok());
        }