public LoginResponse Logout(User userData) { ResponseDatastore<User> r = base.GetObject<User>(null, new Dictionary<string, string>(1) { { "username", userData.username } }); if (r != null && r.HttpStatusCode == HttpStatusCode.OK && r.ResponseBody != null) { User u = r.ResponseBody; u.sessionToken = null; #warning TODO: can we make the expiration field nullable? or will parse not like a nullable date field? #warning will we be able to null out a token without a token? ResponseDatastore<ObjectUpdatedResponse> updateResponse = base.UpdateObject(u, null); LoginResponse lr = new LoginResponse { ResponseValue = updateResponse?.ResponseBody != null, ResponseMessage = updateResponse?.ResponseBody == null ? "Error logging out" : "" }; return lr; }//if return new LoginResponse { ResponseMessage = "User does not exist", ResponseValue = false }; }
public LoginResponse Login(User userData) { try { #warning TODO:all responses should just use the generic ResponseDataStore<Type> RequestLogin rl = new RequestLogin { username = userData.username, password = userData.password }; ResponseDatastore<User> response = base.GetResponse<User>(rl, null, DatastoreType.Login); #warning TODO:need to find out the response when login fails. LoginResponse lr = new LoginResponse { User = response?.ResponseBody, ResponseMessage = response?.ResponseBody == null ? "Login failed" : "", ResponseValue = response?.ResponseBody != null }; return lr; }//try catch (Exception ex) { ex.Data["User Login Data"] = userData.ToXml() + ""; return new LoginResponse { ResponseMessage = ex.GetBaseException().Message, ResponseValue = false, User = null, }; } }