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));
        }
Exemple #2
0
        /// <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);
            }
        }