예제 #1
0
        public static void Register(string username, string email, string authenticationCode, Action <LoginResponseModel> callback)
        {
            AppCache.Config.IsBusyPool.Add("Registering, please wait");
            BackgroundWorker bw = new BackgroundWorker();

            bw.DoWork += ((se, ea) =>
            {
                //Validation!!!!!
                //validate username
                //validate email
                //validate authentication code
                //use validation from WebAPI
                var userModel = new UserModel()
                {
                    Username = username,
                    Email = email,
                    AuthCode = authenticationCode
                };
                var loginResponse = HttpRequester.Post <LoginResponseModel>(BaseServicesUrl + "users/register", userModel);
                ea.Result = loginResponse;
            });
            bw.RunWorkerAsync();
            bw.RunWorkerCompleted += ((se, ea) =>
            {
                AppCache.Config.IsBusyPool.TryRemove("Registering, please wait");
                var result = ea.Result as LoginResponseModel;
                if (callback != null)
                {
                    callback(result);
                }
            });
        }
예제 #2
0
        public static void CreateLectures(AddLectureModel newLecture, string sessionKey, int id, Action callback)
        {
            BackgroundWorker bw = new BackgroundWorker();

            bw.DoWork += ((se, ea) =>
            {
                HttpRequester.Post(BaseServicesUrl + "admin/addlecture/" + id + "?sessionKey=" + sessionKey, newLecture);
            });
            bw.RunWorkerAsync();
            bw.RunWorkerCompleted += ((se, ea) =>
            {
                if (callback != null)
                {
                    callback();
                }
            });
        }
예제 #3
0
        public static void AddCourse(GlanceCourseModel courseModel, string sessionKey, Action <GlanceCourseModel> callBack)
        {
            BackgroundWorker backgroundWorker = new BackgroundWorker();

            backgroundWorker.DoWork += ((se, ea) =>
            {
                var url = BaseServicesUrl + "admin/course?sessionKey=" + sessionKey;
                var model = HttpRequester.Post <GlanceCourseModel>(url, courseModel);
                ea.Result = model;
            });

            backgroundWorker.RunWorkerCompleted += ((se, ea) =>
            {
                if (callBack != null)
                {
                    callBack(ea.Result as GlanceCourseModel);
                }
            });

            backgroundWorker.RunWorkerAsync();
        }
예제 #4
0
        public static void Login(string username, string authenticationCode, Action <object> callback)
        {
            AppCache.Config.IsBusyPool.Add("Logging, please wait");
            BackgroundWorker bw = new BackgroundWorker();

            bw.DoWork += ((se, ea) =>
            {
                //Validation!!!!!
                //validate username
                //validate email
                //validate authentication code
                //use validation from WebAPI
                var userModel = new UserModel()
                {
                    Username = username,
                    AuthCode = authenticationCode
                };
                try
                {
                    var loginResponse = HttpRequester.Post <LoginResponseModel>(BaseServicesUrl + "auth/token", userModel);
                    ea.Result = loginResponse;
                }
                catch (Exception ex)
                {
                    ea.Result = "User Not Found! Please try again.";
                }
            });
            bw.RunWorkerAsync();
            bw.RunWorkerCompleted += ((se, ea) =>
            {
                AppCache.Config.IsBusyPool.TryRemove("Logging, please wait");
                if (callback != null)
                {
                    callback(ea.Result);
                }
            });
        }