protected void SwitchContext(InputContextType type, bool state) { if (WantDisableContext != null) { WantDisableContext(type, this); } }
protected void DisableContext(InputContextType type) { if (WantDisableContext != null) { WantDisableContext(type, this); } }
private void ContextDisableHandler(InputContextType type, InputContextBase ctx) { var context = _contexts[type]; if (context.IsEnabled()) { _contexts[type].Disable(); } }
/// <summary> /// Validates the specified input. /// </summary> /// <param name="input">The input.</param> /// <returns></returns> public OutAccessCode Validate(InAccessCode input) { try { if (!string.IsNullOrEmpty(input.CredentialData)) { var concAccessCode = new StringBuilder(""); concAccessCode.Append(input.AccessCodeId.ToString()); concAccessCode.Append(input.CredentialData); var inputContext = new InputContextType { CorporationId = (short)input.CorporationId, ChannelId = input.ChannelId, Language = input.Language }; var existingAccessCode = CredentialsMembershipDataAccess.GetAccessCodeValue(inputContext, input.AccessCodeId); if (!PasswordHash.Validate(concAccessCode.ToString(), existingAccessCode)) { throw new Exception("Validation failed"); } // Clear token from database var argonAccessCode = PasswordHash.Hash(DateTime.Now.Ticks.ToString()); Authentication.UpdatePassword((short)input.CorporationId, input.AccessCodeId, input.Language, input.ChannelId, argonAccessCode); return(new OutAccessCode { Success = true, ActionFlags = SecurityCenterActionFlags.RestoreFailures }); } return(new OutAccessCode { Success = false, ActionFlags = SecurityCenterActionFlags.IncrementFailures }); } catch (Exception e) { var error = new AccessCodeError { ErrorCode = "0", ErrorMessage = e.Message, SystemErrorMessage = e.StackTrace }; return(new OutAccessCode { Error = error, Success = false, ActionFlags = SecurityCenterActionFlags.IncrementFailures }); } }