public static void GetUserTimetable(UserCredentials userCredentials, string username, TimetableCallback callback, object[] callbackArguments = null) { var b = new BackgroundWorker(); b.DoWork += (sender, args) => { if (userCredentials.CredentialsFilled) { var restClient = new RestClient(HsrRestUrl); restClient.Authenticator = new HttpBasicAuthenticator(userCredentials.Name, userCredentials.Password); restClient.AddDefaultHeader("Accept", "text/json"); restClient.ExecuteAsync(new RestRequest("/api/Timetable/" + username, Method.GET), (response, handle) => { Timetable timetable; if (response.StatusCode == System.Net.HttpStatusCode.OK) { timetable = JsonHelper.ParseJson<Timetable>(response); timetable.LastUpdated = DateTime.Now; timetable.Username = username; callback(timetable, callbackArguments); } else if (response.StatusCode == System.Net.HttpStatusCode.Forbidden && string.IsNullOrEmpty(response.Content)) { callback(new Timetable(){BlockedTimetable = true, LastUpdated = DateTime.Now, Username = username}, callbackArguments); } else { callback(new Timetable(){ErrorMessage = response.StatusDescription, LastUpdated = DateTime.Now, Username = username}, callbackArguments); } }); } else { callback(new Timetable(){ErrorMessage = "Keine Benutzerdaten vorhanden.", LastUpdated = DateTime.Now, Username = username}, callbackArguments); }}; b.RunWorkerAsync(); }
public static void GetUserTimetable(UserCredentials userCredentials, string username, TimetableCallback callback, object[] callbackArguments = null) { var b = new BackgroundWorker(); b.DoWork += (sender, args) => { if (userCredentials.CredentialsFilled) { var restClient = new RestClient(HsrRestUrl); restClient.Authenticator = new HttpBasicAuthenticator(userCredentials.Name, userCredentials.Password); restClient.AddDefaultHeader("Accept", "text/json"); restClient.ExecuteAsync(new RestRequest("/api/Timetable/" + username, Method.GET), (response, handle) => { Timetable timetable; if (response.StatusCode == System.Net.HttpStatusCode.OK) { timetable = JsonHelper.ParseJson <Timetable>(response); timetable.LastUpdated = DateTime.Now; timetable.Username = username; callback(timetable, callbackArguments); } else if (response.StatusCode == System.Net.HttpStatusCode.Forbidden && string.IsNullOrEmpty(response.Content)) { callback(new Timetable() { BlockedTimetable = true, LastUpdated = DateTime.Now, Username = username }, callbackArguments); } else { callback(new Timetable() { ErrorMessage = response.StatusDescription, LastUpdated = DateTime.Now, Username = username }, callbackArguments); } }); } else { callback(new Timetable() { ErrorMessage = "Keine Benutzerdaten vorhanden.", LastUpdated = DateTime.Now, Username = username }, callbackArguments); } }; b.RunWorkerAsync(); }
public static void GetUserTimetable(UserCredentials userCredentials, TimetableCallback callback, object[] callbackArguments = null) { GetUserTimetable(userCredentials, userCredentials.Name, callback, callbackArguments); }