public static CheckTokenModel CheckToken(User userModel, string action) { try { var secret = TwoStepsAuthenticator.Authenticator.GenerateKey(); var data = new CheckTokenModel { Secret = secret, NewSecret = null }; var newSecret = new ActionCode(); if (!string.IsNullOrEmpty(userModel.SecretAuthToken)) { newSecret = ActionCode.FromJson(userModel.SecretAuthToken); } switch (action) { case ActionLog.TWOFA_ENABLE: newSecret.TwofaEnable = secret; break; case ActionLog.CUSTOM_TWOFA: newSecret.CustomTwofa = secret; break; case ActionLog.UPDATE_OPTION_VETIFY: newSecret.UpdateOptionVerification = secret; break; case ActionLog.API_ACCESS_ADD: newSecret.ApiAccessAdd = secret; break; case ActionLog.API_ACCESS_EDIT: newSecret.ApiAccessEdit = secret; break; case ActionLog.API_ACCESS_DELETE: newSecret.ApiAccessDelete = secret; break; case ActionLog.API_ACCESS_STATUS: newSecret.ApiAccessStatus = secret; break; case ActionLog.SEND_TRANSACTION: newSecret.SendTransaction = secret; break; case ActionLog.TWOFA_DISABLE: newSecret.TwofaDisable = secret; break; case ActionLog.LOCK_SCREEN: newSecret.LockScreen = secret; break; } data.NewSecret = ActionCode.ToJson(newSecret); return(data); } catch (Exception e) { Console.WriteLine(e.Message); return(null); } }