public static string Authorize(string _username, string _password, out TGUser _user) { LoginResult result = new LoginResult(); OpenFormGraphManager manager = new OpenFormGraphManager(); _user = manager.GetUser(_username); if (_user != null) { if (_user.IsVerified) { if (_user.Active) { if (manager.ValidateUser(_user, _password)) { TGUserAuthorization authorization = TGUserAuthorization.GetNew(_user.Guid, "unknown"); manager.Persist(authorization); result.Result = "Success"; result.AuthToken = authorization.AuthorizationToken; result.DisplayName = _user.DisplayName; result.Username = _user.Username; } TGEula eula = manager.GetLatestEula(); if (eula != null) { TGEulaAgreement agreement = manager.GetEulaAgreement(_user.Guid, eula.Guid); if (agreement == null) { result.NeedsEula = "True"; result.EulaGuid = eula.Guid.ToString(); result.EulaText = eula.Text; _user.EulaAccepted = false; manager.Persist(_user); } else { result.NeedsEula = "False"; } } else { //Bad password or username manager.LogWarning(Guid.Empty, "User not found"); _user = null; result.Result = "BadUserOrPassword"; } } else { //user not active //Todo - Log Something manager.LogWarning(_user.Guid, "User Not Active"); _user = null; result.Result = "NotActive"; } } else { //User not verified //Todo - Log Something manager.LogWarning(_user.Guid, "User not verified"); _user = null; result.Result = "NotVerified"; } } else { //User not found manager.LogWarning(Guid.Empty, "User not found"); result.Result = "BadUserOrPassword"; } return(JsonConvert.SerializeObject(result)); }
public void Persist(TGEulaAgreement _eulaAgreement) { TGEulaAgreementDAO dao = new TGEulaAgreementDAO(MongoDB); dao.Persist(_eulaAgreement); }