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(); }
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()); }