Ejemplo n.º 1
0
        /// <summary>
        /// OBTIENE UN USUARIO CON SUS RELACIONES, DEPENDIENDO SI DESEA UTILIZARLAS O NO.
        /// </summary>
        /// <param name="incluir"></param>
        /// <param name="lstUsuarios"></param>
        /// <returns>LISTA DE USUARIOS MAPEADOS CON DTO</returns>
        private async Task <UsuariosDTO> ObtenerUsuariosRelaciones(
            UsuariosEntidad usuario,
            IncluirUsuariosDTO incluir = null)
        {
            Guid        UsuarioActual = Guid.Empty;
            UsuariosDTO usuarioDTO    = new UsuariosDTO();

            if (usuario != null)
            {
                usuarioDTO = new UsuariosDTO
                {
                    Id            = usuario.Id,
                    Usuario       = usuario.UserName,
                    Email         = usuario.Email,
                    FechaCreacion = usuario.FechaCreacion,
                    Estatus       = usuario.Estatus,
                    Roles         = new List <RolesDTO>(),
                };

                if (incluir.Role)
                {
                    usuarioDTO.Roles = await ObtenerRolesUsuarioAsync(usuario);
                }
            }

            return(usuarioDTO);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// CREA UN USUARIO
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public async Task <Guid> CrearUsuarioAsync(UsuariosEntidad usuario)
        {
            usuario.Estatus       = "Act";
            usuario.FechaCreacion = DateTime.Now;

            return(await _usuariosRepositorio.CrearUsuarioAsync(usuario));
        }
Ejemplo n.º 3
0
        private async Task <List <RolesDTO> > ObtenerRolesUsuarioAsync(UsuariosEntidad usuario)
        {
            List <RolesDTO> lstRolesDTO = new List <RolesDTO>();

            var lstRolesId = await _usuariosRolesRepositorio.ObtenerUsuariosRoleIdAsync(usuario.Id);

            if (lstRolesId != null)
            {
                foreach (var idRole in lstRolesId)
                {
                    var role = await _rolesServicicios.ObtenerRoleIdAsync(idRole);

                    var roleActualUsuarios = await _usuariosRolesRepositorio.ObtenerUsuarioRoleAsync(idRole, usuario.Id);

                    lstRolesDTO.Add(new RolesDTO
                    {
                        Id            = role.Id,
                        Nombre        = role.Name,
                        Estatus       = roleActualUsuarios.Estatus,
                        FechaCreacion = roleActualUsuarios.FechaCreacion
                    });
                }
            }

            return(lstRolesDTO);
        }
Ejemplo n.º 4
0
        public static UsuariosEntidad Map(CrearUsuarioDTO entidad)
        {
            UsuariosEntidad usuario = new UsuariosEntidad();

            //var lstUsuariosRoles = new List<UsuariosRolesEntidad>();

            if (entidad != null)
            {
                usuario.UserName     = entidad.Usuario;
                usuario.PasswordHash = entidad.Contrasena;
                usuario.Email        = entidad.Email;


                //if (entidad.Roles.Count > 0)
                //{

                //    foreach (var role in entidad.Roles)
                //    {

                //        lstUsuariosRoles.Add(new UsuariosRolesEntidad
                //        {
                //            UserId = usuario.Id,
                //            RoleId = role
                //        });

                //    }

                //    usuario.UsuariosRoles = lstUsuariosRoles;

                //}
            }

            return(usuario);
        }
        public async Task <Guid> CrearUsuarioAsync(UsuariosEntidad usuario)
        {
            usuario.UsuarioCreacion = _context.UsuarioAutenticado();

            var respuesta = await _userManager.CreateAsync(usuario, usuario.PasswordHash);

            return(respuesta.Succeeded ? usuario.Id : Guid.Empty);
        }
        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            UsuariosEntidad usuario = new UsuariosEntidad();

            if (Page.IsValid && Page.IsPostBack)
            {
                usuario.usuarioID     = Convert.ToInt32(txtID.ToString());
                usuario.nombreUsuario = txtNombre.Text;
                usuario.password      = txtContra.Text;
                usuario.tipoUsuarioID = Convert.ToInt16(ddlRol.SelectedValue);
            }
        }
        public async Task <bool> ActualizarUsuarioAsync(UsuariosEntidad usuario)
        {
            var actualizarUsuario = await ObtenerUsuarioPorIdAsync(usuario.Id);

            actualizarUsuario.PhoneNumber         = usuario.PhoneNumber;
            actualizarUsuario.FechaModificacion   = DateTime.Now;
            actualizarUsuario.SecurityStamp       = Guid.NewGuid().ToString();
            actualizarUsuario.UsuarioModificacion = _context.UsuarioAutenticado();

            var respuesta = await _userManager.UpdateAsync(actualizarUsuario);

            return(respuesta.Succeeded ? true : false);
        }
Ejemplo n.º 8
0
        public UsuariosEntidad ObtieneUsuario(string usuario, string pass)
        {
            UsuariosEntidad us = new UsuariosEntidad();

            DataSet ds = UsuarioDatos.ObtieneUsuario(usuario, pass);

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                us.nombreUsuario = row["Nombre"].ToString();
                us.usuarioID     = Convert.ToInt32(row["UsuarioID"]);
                us.tipoUsuarioID = Convert.ToInt32(row["TipoUsuarioID"]);
            }
            return(us);
        }
Ejemplo n.º 9
0
        protected void btnIniciarSesion_Click(object sender, EventArgs e)
        {
            UsuariosEntidad us = new UsuariosEntidad();

            us = serv.obtieneUsuario(txtNombreUsuario.Value, txtContrasena.Value);
            if (us.nombreUsuario != null)
            {
                Session["nombreUsuario"] = us.nombreUsuario;
                Session["idUsuario"]     = us.usuarioID;
                Session["perfilUsuario"] = us.tipoUsuarioID;
                Response.Redirect("Bienvenida.aspx");
            }
            else
            {
                Label1.Text = "Usuario o contraseña incorrectos";
            }
        }
        protected void btnNuevo_Click1(object sender, EventArgs e)
        {
            UsuariosEntidad u    = new UsuariosEntidad();
            FacturaEntidad  fac1 = new FacturaEntidad();

            fac1.idDetalle    = Convert.ToInt16(ddlFactura.SelectedIndex);
            fac1.fechaFactura = Convert.ToDateTime(txtFechaFactura.Text);
            fac1.total        = Convert.ToDecimal(txtTotal.Text);
            fac1.duennoID     = Convert.ToInt32(txtDuenno.Text);
            fac1.usuarioID    = Convert.ToInt32(Session["idUsuario"]);
            servicio.insertarFactura(fac1);
            refrescar();

            String mensaje = @"alert('Datos guardados correctamente')";

            ScriptManager.RegisterStartupScript(this, typeof(Page), "Informacion", mensaje, true);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// GENERA UN TOKEN Y AL TOKEN SE PASAN RECLAMACIONES NECESARIAS
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        private async Task <AutenticacionDTO> GenerarTokenAutorizacion(UsuariosEntidad usuario)
        {
            var tokenManejador = new JwtSecurityTokenHandler();

            var lstClaims = await ObtenerListaReclamacionesAsync(usuario);

            var key = Encoding.ASCII.GetBytes(_configuration["JWT:Secret"]);

            var tiempoVida = DateTime.UtcNow.Add(TimeSpan.Parse(_configuration["JWT:TokenTiempoVida"]));

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Audience           = _configuration["JWT:Issuer"],
                Issuer             = _configuration["JWT:Issuer"],
                Subject            = new ClaimsIdentity(lstClaims),
                Expires            = tiempoVida,
                SigningCredentials = new SigningCredentials
                                     (
                    new SymmetricSecurityKey(key),
                    SecurityAlgorithms.HmacSha256Signature
                                     )
            };

            var token = tokenManejador.CreateToken(tokenDescriptor);

            var nuevoToken = new TokenEntidad()
            {
                JwtId         = token.Id,
                UserId        = usuario.Id,
                FechaCreacion = DateTime.UtcNow,
                Expiracion    = DateTime.UtcNow.AddMonths(6)
            };

            await _tokenRepositorio.CrearTokenAsync(nuevoToken);

            return(new AutenticacionDTO
            {
                Access_Token = tokenManejador.WriteToken(token),
                Refresh_Token = nuevoToken.Token,
                Expire = tiempoVida
            });
        }
Ejemplo n.º 12
0
        /// <summary>
        /// OBTIENE UN USUARIO CON SUS RELACIONES, DEPENDIENDO SI DESEA UTILIZARLAS O NO.
        /// </summary>
        /// <param name="incluir"></param>
        /// <param name="lstUsuarios"></param>
        /// <returns>LISTA DE USUARIOS MAPEADOS CON DTO</returns>
        private async Task <UsuariosDTO> ObtenerUsuariosRoles(UsuariosEntidad usuario)
        {
            Guid        UsuarioActual    = Guid.Empty;
            UsuariosDTO UsuariosRolesDTO = null;

            if (usuario != null)
            {
                var roles = await ObtenerRolesUsuarioAsync(usuario);

                var usuarioDTO = new UsuariosDTO
                {
                    Id            = usuario.Id,
                    Usuario       = usuario.UserName,
                    Email         = usuario.Email,
                    FechaCreacion = usuario.FechaCreacion,
                    Estatus       = usuario.Estatus
                };
            }

            return(UsuariosRolesDTO);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// OBTIENE LISTA DE RECLAMACIONES PARA AGREGARLO AL TOKEN DE AUTORIZACION
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        private async Task <List <Claim> > ObtenerListaReclamacionesAsync(UsuariosEntidad usuario)
        {
            List <Claim> lstClaimsToken = new List <Claim>();

            var lstRoles = await _usuariosRepositorio.ObtenerUsuariosRolesAsync(usuario);

            lstClaimsToken.Add(new Claim("Id", usuario.Id.ToString()));
            lstClaimsToken.Add(new Claim("User", usuario.UserName));
            lstClaimsToken.Add(new Claim(ClaimTypes.Email, usuario.Email));
            lstClaimsToken.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()));

            foreach (var usuarioRole in lstRoles)
            {
                //ASIGANACION LISTA DE ROLES
                lstClaimsToken.Add(new Claim(ClaimTypes.Role, usuarioRole));

                var role = await _rolesRepositorio.ObtenerRoleNombreAsync(usuarioRole);

                if (role == null)
                {
                    continue;
                }

                var roleClaims = await _rolesRepositorio.ObtenerRoleClaimAsync(role);

                foreach (var roleClaim in roleClaims)
                {
                    if (lstClaimsToken.Contains(roleClaim))
                    {
                        continue;
                    }

                    lstClaimsToken.Add(roleClaim);
                }
            }

            return(lstClaimsToken);
        }
Ejemplo n.º 14
0
        public async Task <bool> RestaurarPasswordCuentaAsync(UsuariosEntidad usuario)
        {
            _dbContext.Entry(usuario).State = EntityState.Modified;

            return(await _dbContext.SaveChangesAsync() > 0 ? true : false);
        }
Ejemplo n.º 15
0
 /// <summary>
 /// ELIMINA USUARIO
 /// </summary>
 /// <param name="usuario"></param>
 /// <returns></returns>
 public Task <bool> EliminarUsuarioAsync(UsuariosEntidad usuario)
 {
     return(_usuariosRepositorio.EliminarUsuarioAsync(usuario));
 }
Ejemplo n.º 16
0
 /// <summary>
 /// ACTUALIZA UN USUARIO
 /// </summary>
 /// <param name="usuario"></param>
 /// <returns></returns>
 public async Task <bool> ActualizarUsuarioAsync(UsuariosEntidad usuario)
 {
     return(await _usuariosRepositorio.ActualizarUsuarioAsync(usuario));
 }
Ejemplo n.º 17
0
 public async Task <IList <string> > ObtenerUsuariosRolesAsync(UsuariosEntidad usuario)
 {
     return(await _userManager.GetRolesAsync(usuario));
 }
Ejemplo n.º 18
0
        public async Task <bool> EliminarUsuarioAsync(UsuariosEntidad usuario)
        {
            _context.Users.Remove(usuario);

            return(await _context.SaveChangesAsync() > 0 ? true : false);
        }
Ejemplo n.º 19
0
 public async Task <bool> VerificarCredencialesAsync(UsuariosEntidad usuario, string password)
 {
     return(await _userManager.CheckPasswordAsync(usuario, password));
 }
Ejemplo n.º 20
0
        public async Task <bool> ActualizarDatosPersonalesUsuarioAsync(UsuariosEntidad usuario)
        {
            _context.Entry(usuario).State = EntityState.Modified;

            return(await _context.SaveChangesAsync() > 0 ? true : false);
        }