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();
 }
Ejemplo n.º 2
0
        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);
 }
Ejemplo n.º 4
0
 public static void GetUserTimetable(UserCredentials userCredentials, TimetableCallback callback, object[] callbackArguments = null)
 {
     GetUserTimetable(userCredentials, userCredentials.Name, callback, callbackArguments);
 }