public void Create(UsuarioDTO usuario)
 {
     try
     {
         using (ModelosDBContainer context = new ModelosDBContainer())
         {
             UsuarioRepository repositorio = new UsuarioRepository(context);
             if (repositorio.Any(usuario.Username))
             {
                 throw new Exception("El usuario ya existe.");
             }
             repositorio.Create(this._mapper.Map <Usuario>(usuario));
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public Object Login(string usuario, string contraseña)
        {
            try
            {
                if (usuario == "" || usuario == null || contraseña == null || contraseña == "")
                {
                    throw new Exception("Por favor, ingrese todos los campos.");
                }
                using (ModelosDBContainer context = new ModelosDBContainer())
                {
                    UsuarioRepository repositorio = new UsuarioRepository(context);

                    if (!repositorio.Any(usuario))
                    {
                        throw new Exception("El usuario no existe.");
                    }

                    var entity = repositorio.Get(usuario);

                    if (!repositorio.VerifyPassword(contraseña, entity.Password))
                    {
                        throw new Exception("Credenciales incorrectas");
                    }

                    var user = this._mapper.Map <UsuarioDTO>(entity);

                    var token = JwtWorker.GenerateTokenJwt(user.Username);


                    return(new {
                        user,
                        token
                    });
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }