Esempio n. 1
0
        public void Post(SearchKeys searchKey)
        {
            switch (searchKey.SearchType)
            {
            case "Title":
                reviews = new List <Review>(PrincessDb.searchReviewByTitle(searchKey.SearchString));
                break;

            case "Domain":
                reviews = new List <Review>(PrincessDb.searchReviewByDomain(searchKey.SearchString));
                break;

            case "Writer":
                reviews = new List <Review>(PrincessDb.searchReviewByWriter(searchKey.SearchString));
                break;

            default:
                reviews = new List <Review>(PrincessDb.searchReviewByTitle(searchKey.SearchString));
                break;
            }

            for (int i = 0; i < reviews.Count(); i++)
            {
                rev.Add(new ReviewFormat
                {
                    Url        = reviews.ElementAt(i).getUrl(),
                    Title      = reviews.ElementAt(i).getTitle(),
                    Rating     = reviews.ElementAt(i).getRating(),
                    ReviewText = reviews.ElementAt(i).getReviewText(),
                    Writer     = reviews.ElementAt(i).getWriter(),
                    DomainUrl  = reviews.ElementAt(i).getDomainUrl(),
                });
            }

            string JSONresult = JsonConvert.SerializeObject(rev);
            string path       = @"C:\PRINCESS\PRINCESS\princess\src\components\JsonData\reviews.json";

            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
                using (var tw = new StreamWriter(path, true))
                {
                    tw.WriteLine(JSONresult.ToString());
                    tw.Close();
                }
            }
            else if (!System.IO.File.Exists(path))
            {
                using (var tw = new StreamWriter(path, true))
                {
                    tw.WriteLine(JSONresult.ToString());
                    tw.Close();
                }
            }

            Console.WriteLine(reviews);
            //PrincessDb.disconnect();
        }
Esempio n. 2
0
        public User Authenticate(string username, string password)
        {
            PrincessDb.connect();
            var u = PrincessDb.CheckUser(username, password);


            if (u != null)
            {
                _users.Add(u);
            }
            else
            {
                PrincessDb.disconnect();
            }

            var user = _users.SingleOrDefault(x => x.Email == username && x.Password == password);

            // return null if user not found
            if (user == null)
            {
                return(null);
            }

            // authentication successful so generate jwt token
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.Name),
                    new Claim(ClaimTypes.Email, user.Email),
                    new Claim(ClaimTypes.Role, user.Usertype),
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            user.Token = tokenHandler.WriteToken(token);

            return(user.WithoutPassword());
        }