Beispiel #1
0
        private async void Window_LoadedAsync(object sender, RoutedEventArgs e)
        {
            //1.启动各类定时器
            _UpdateAppTimer.Start();
            _UpdateAppTimer.Interval = new TimeSpan(0, 10, 0);
            _CheckNetStateTimer.Start();

            //2.读取系统用户列表
            AppSet.SysUsers = await DataUserRepository.GetAllRecords();

            if (AppSet.SysUsers == null || AppSet.SysUsers.Count < 2)
            {
                AppFuns.ShowMessage("读取用户列表时出错,程序无法运行。", Caption: "错误", isErr: true);
                //关闭本程序
                ShutDownApp();
            }
            //3.读取服务器设置
            AppSet.ServerSetting = await DataSystemRepository.ReadServerSettings();

            if (AppSet.ServerSetting == null)
            {
                AppFuns.ShowMessage("读取系统设置信息时出错,程序无法运行。", Caption: "错误", isErr: true);
                //关闭本程序
                ShutDownApp();
            }
            lblLoginMsg.Text = $"当前用户:{AppSet.LoginUser.Name}-{AppSet.LoginUser.UnitName}";
            ListBoxItem_MouseLeftButtonUp_0(null, null);
        }
        private async void Btn_Login_ClickAsync(object sender, RoutedEventArgs e)
        {
            string V_UserId  = Text_UserId.Text.Trim();
            string V_UserPwd = Text_UserPwd.Password.Trim();

            if (V_UserId.Length < 1 || V_UserPwd.Length < 1)
            {
                AppFuns.ShowMessage("请输入用户名和密码。", "警告");
                return;
            }
            //显示Loading
            this.CanVas_loadding.Visibility = Visibility.Visible;
            try
            {
                //请求token
                string TokenResult = await DataApiRepository.GetAccessToken(V_UserId, V_UserPwd);

                if (TokenResult != "Ok")
                {
                    if (TokenResult.Trim().Equals("invalid_grant", StringComparison.Ordinal))
                    {
                        AppFuns.ShowMessage("用户名或密码错误!", "警告");
                    }
                    else
                    {
                        AppFuns.ShowMessage(TokenResult, "错误", isErr: true);
                    }
                    CanVas_loadding.Visibility = Visibility.Collapsed;
                    return;
                }
                //从服务器读取指定的用户并在服务器上登陆
                Lib.UserDto LoginUser = await DataUserRepository.GetOneById(V_UserId);

                if (LoginUser != null)
                {
                    DataRWLocalFileRepository.SaveObjToFile <SettingLocal>(AppSet.LocalSetting, AppSet.LocalSettingFileName);
                    AppSet.LoginUser = LoginUser;
                    MainWindow mainWindow = new MainWindow();
                    mainWindow.Show();
                    mainWindow.Activate();
                    this.Close();
                }
                else
                {
                    this.CanVas_loadding.Visibility = Visibility.Collapsed;
                    AppFuns.ShowMessage("读取当前用户信息出错!", "警告");
                }
            }
            catch (Exception ex)
            {
                this.CanVas_loadding.Visibility = Visibility.Collapsed;
                AppFuns.ShowMessage(ex.Message, "错误", isErr: true);
            }
        }
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Btn_UpdateSettings_ClickAsync(object sender, RoutedEventArgs e)
        {
            if (_PageViewModel.CurSelectUser != null)
            {
                string SelectGrants = _PageViewModel.GetSelectUserIds();
                _PageViewModel.CurSelectUser.Grants = SelectGrants;
                ExcuteResult excute = await DataUserRepository.UpdateRecord(_PageViewModel.CurSelectUser);

                if (excute.State == 0)
                {
                    AppFuns.ShowMessage("更新成功!");
                }
                else
                {
                    AppFuns.ShowMessage($"更新失败功!{excute.Msg}", "失败");
                }
            }
        }
            public async void UpdatePwd()
            {
                if (CurPwd != AppSet.LoginUser.PassWord)
                {
                    AppFuns.ShowMessage("原密码输入不正确!");
                    return;
                }
                if (string.IsNullOrWhiteSpace(NewPwd) || NewPwd.Trim().Length < 3)
                {
                    AppFuns.ShowMessage("新密码长度不能小于 3 个字符。");
                    return;
                }
                AppSet.LoginUser.PassWord = NewPwd;
                ExcuteResult excuteResult = await DataUserRepository.UpdateRecord(AppSet.LoginUser);

                if (excuteResult.State == 0)
                {
                    AppFuns.ShowMessage(excuteResult.Msg);
                }
            }