public virtual async Task <TEntity> AddAsync(TEntity entity)
        {
            _context.Set <TEntity>().Add(entity);
            await _context.SaveChangesAsync();

            return(entity);
        }
        public async Task <ActionResult <Usuario> > PostUsuario(Usuario usuario)
        {
            _context.Usuarios.Add(usuario);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (UsuarioExists(usuario.CPF))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetUsuario", new { id = usuario.CPF }, usuario));
        }
        public async Task <IActionResult> Create([Bind("UsuarioId,Nombre,Apellido,Email,Password,FechaRegistro")] Usuario usuario, int[] rol)
        {
            if (ModelState.IsValid)
            {
                _context.Add(usuario);
                await _context.SaveChangesAsync();

                int id = usuario.UsuarioId;
                foreach (int r in rol)
                {
                    var usuarioRol = new UsuarioRol {
                        RolId = r, UsuarioId = id
                    };
                    _context.Add(usuarioRol);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.roles = await _context.Roles.ToListAsync();

            return(View(usuario));
        }