public IHttpActionResult logout([FromBody] UserCredential userCredential) { LogoutService logoutService = new LogoutService(); LogoutResponseDTO response = logoutService.logout(userCredential); if (response.isSuccessful == true) { return(Ok(response.Messages)); } return(Content(HttpStatusCode.NotFound, response.Messages)); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public LogoutResponseDTO AddTokenToBlackList(LoginDTO obj) { // Creates response DTO LogoutResponseDTO response = new LogoutResponseDTO { }; // Find user based off Username var foundCredential = (from u in db.Credentials where u.UserName == obj.UserName select u).FirstOrDefault(); // If token already exists in database if (foundCredential != null) { // Token does not exists in database using (var dbTransaction = db.Database.BeginTransaction()) { try { // Creates temporary token to store in database TokenBlackList temp = new TokenBlackList { UserID = foundCredential.UserID, Token = obj.Token }; db.TokenBlackLists.Add(temp); db.SaveChanges(); dbTransaction.Commit(); // Sends response response.isSuccessful = true; return(response); } catch (NullReferenceException) { dbTransaction.Rollback(); response.isSuccessful = false; return(response); } } } else { // Token already exists in database response.isSuccessful = false; response.Messages = new List <string> { "Error: Token already Exists in Database." }; return(response); } }