Пример #1
0
 public async void Loaded(object parms)
 {
     if (parms != null)
     {
         View.EduCenterViewParam eduCenterViewParam = parms as View.EduCenterViewParam;
         _httpService          = eduCenterViewParam.HttpService;
         BJUTEduCenterUserinfo = eduCenterViewParam.BJUTEduCenterUserinfo;
     }
 }
Пример #2
0
        public async void Login()
        {
            try
            {
                if (BJUTEduCenterUserinfo == null)
                {
                    throw new NullRefUserinfoException("用户名密码不能为空");
                }
                Name = await _coreService.LoginEduCenter(_httpService, BJUTEduCenterUserinfo.Username, BJUTEduCenterUserinfo.Password, CheckCodeVM.CheckCode);

                if (ClickedItem != null && ClickedItem.PageType != null)
                {
                    View.EduCenterViewParam param = new View.EduCenterViewParam
                    {
                        BJUTEduCenterUserinfo = BJUTEduCenterUserinfo,
                        HttpService           = _httpService
                    };
                    NavigationVM.DetailFrame.Navigate(ClickedItem.PageType, param);
                }
            }
            catch (NullRefUserinfoException)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("请输入用户名和密码", messageToken);
                AccountModifyVM.Open   = true;//提示重新输入账号
                AccountModifyVM.Saved -= Login;
                AccountModifyVM.Saved += Login;
            }
            catch (HttpRequestException)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("网络错误", messageToken);
            }
            catch (InvalidCheckcodeException)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("验证码错误", messageToken);

                //验证码串口显示,并刷新
                RefreshChckcode();
            }
            catch (InvalidUserInfoException)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("用户名或密码错误", messageToken);

                AccountModifyVM.Open   = true;//提示重新输入账号
                AccountModifyVM.Saved -= Login;
                AccountModifyVM.Saved -= RefreshChckcode;
                AccountModifyVM.Saved += RefreshChckcode;
            }
            catch (Exception ex)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(ex.Message, messageToken);
            }
        }
Пример #3
0
        public async void Loaded(object parms)
        {
            //加载离线数据
            LoadGradeChart();

            if (parms != null)
            {
                View.EduCenterViewParam eduCenterViewParam = parms as View.EduCenterViewParam;
                _httpService          = eduCenterViewParam.HttpService;
                BJUTEduCenterUserinfo = eduCenterViewParam.BJUTEduCenterUserinfo;

                GetGrade(ViewModel.BJUTEduCenterVM.Name, BJUTEduCenterUserinfo.Username);//获取最新数据
            }
        }
Пример #4
0
        public async void ItemClick(object o, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as Model.EduNavigationModel;

            ClickedItem = item;//暂存点击数据

            if (item.PageType == null)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("这只是个饼,而且还没画完O(∩_∩)O", messageToken);
                return;
            }

            //初始化页面传递参数
            View.EduCenterViewParam param = new View.EduCenterViewParam();
            param.BJUTEduCenterUserinfo = BJUTEduCenterUserinfo;
            param.HttpService           = _httpService;

            if (BJUTEduCenterUserinfo == null)
            {
                AccountModifyVM.Open = true;//提示重新输入账号
                return;
            }
            //课程表页面特殊,可无网络连接查看
            if (ClickedItem != null && ClickedItem.PageType == typeof(View.BJUTEduScheduleView))
            {
                param.Other = EduTime;

                NavigationVM.DetailFrame.Navigate(ClickedItem.PageType, param);
                return;
            }
            if (IsConnected)//
            {
                var re = await _coreService.GetAuthState(_httpService, BJUTEduCenterUserinfo.Username);

                if (re != true)
                {
                    RefreshChckcode();

                    //CheckCodeVM.OpenCheckCodeDlg = true;
                    //CheckCodeVM.CheckCodeSource = await _coreService.GetCheckCode(_httpService);//获取验证码,非等待,继续执行
                }
                else//已经认证,直接打开
                {
                    if (ClickedItem != null && ClickedItem.PageType != null)
                    {
                        NavigationVM.DetailFrame.Navigate(ClickedItem.PageType, param);
                    }
                }
            }
        }
Пример #5
0
        public async void Loaded(object param)
        {
            if (param != null)
            {
                View.EduCenterViewParam eduCenterViewParam = param as View.EduCenterViewParam;
                BJUTEduCenterUserinfo = eduCenterViewParam.BJUTEduCenterUserinfo;
                _httpService          = eduCenterViewParam.HttpService;

                EduTime = eduCenterViewParam.Other as EduTimeModel;
            }

            if (EduTime != null)
            {
                SelectedSchoolYear = EduTime.SchoolYear;
                SelectedTerm       = EduTime.Term;
            }

            var scedule = await LoadSchedule();

            if (scedule != null)
            {
                if (Schedule == null)
                {
                    Schedule = new Model.ScheduleModel();
                }

                Schedule.ScheduleItemList = scedule.ScheduleItemList;
                Schedule.Weeks            = scedule.Weeks;
                Schedule.AllWeek          = scedule.AllWeek;


                if (EduTime != null && EduTime.Week != 0)
                {
                    Schedule.CurrentWeek  = EduTime.Week;
                    Schedule.SelectedWeek = EduTime.Week;
                }
                else
                {
                    Schedule.CurrentWeek  = scedule.CurrentWeek;
                    Schedule.SelectedWeek = scedule.SelectedWeek;
                }
            }

            hasLoadLoaclInfo = true;
        }