public bool IsBlocked(string username) { LoginAttemptsRepository loginAttempts = new LoginAttemptsRepository(); string userIp = loginAttempts.GetIP(); bool usernameBlocked = false; bool ipBlocked = false; if (loginAttempts.DoesUsernameAttemptExist(username) == true) { LoginAttempt l = loginAttempts.GetUsernameAttempt(username); if ((bool)l.Blocked) { TimeSpan elapsed = DateTime.Now.Subtract((DateTime)l.Time); usernameBlocked = (elapsed.Minutes >= 15) ? false : true; if (usernameBlocked == false) { loginAttempts.DeleteUsernameAttempt(l); } } } if (loginAttempts.DoesIpAttemptExist(userIp) == true) { IpAttempt i = loginAttempts.GetIpAttempt(userIp); if ((bool)i.Blocked) { TimeSpan elapsed = DateTime.Now.Subtract((DateTime)i.Time); ipBlocked = (elapsed.Minutes >= 15) ? false : true; if (ipBlocked == false) { loginAttempts.DeleteIpAttempt(i); } } } return(usernameBlocked || ipBlocked); }