Exemple #1
0
        static async Task Main(string[] args)
        {
            LoginService loginService = new LoginService();
            var          result       = await loginService.PostAsync(new CommonApiServices.LoginRequestDto()
            {
                Account  = "user1",
                Password = "******"
            });

            LOBGlobal.AccessToken = loginService.SingleItem.Token;
            Console.WriteLine($"存取權杖 : {loginService.SingleItem.Token}");
            OnlyUserService onlyUserService = new OnlyUserService();

            result = await onlyUserService.GetAsync();

            Console.WriteLine($"呼叫結果 : {onlyUserService.SingleItem.Message}");
        }
        public HomePageViewModel(INavigationService navigationService, IPageDialogService dialogService,
                                 OnlyAdministratorService OnlyAdministratorService, OnlyUserService OnlyUserService,
                                 RefreshTokenService refreshTokenService,
                                 SystemStatusService systemStatusService, AppStatus appStatus)
        {
            this.navigationService   = navigationService;
            this.dialogService       = dialogService;
            onlyAdministratorService = OnlyAdministratorService;
            onlyUserService          = OnlyUserService;
            this.refreshTokenService = refreshTokenService;
            this.systemStatusService = systemStatusService;
            this.appStatus           = appStatus;

            #region OnlyAdministratorCommand
            OnlyAdministratorCommand = new DelegateCommand(async() =>
            {
                using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,執行中...", null, null, true, MaskType.Black))
                {
                    bool fooRefreshTokenResult = await RefreshTokenHelper
                                                 .CheckAndRefreshToken(dialogService, refreshTokenService,
                                                                       systemStatusService, appStatus);
                    if (fooRefreshTokenResult == false)
                    {
                        return;
                    }
                    var fooResult = await OnlyAdministratorService.GetAsync();
                    if (fooResult.Status == false)
                    {
                        Message = fooResult.Message;
                    }
                    else
                    {
                        Message = fooResult.Payload.ToString();
                    }
                }
            });
            #endregion
            #region OnlyUserCommand
            OnlyUserCommand = new DelegateCommand(async() =>
            {
                using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,執行中...", null, null, true, MaskType.Black))
                {
                    bool fooRefreshTokenResult = await RefreshTokenHelper
                                                 .CheckAndRefreshToken(dialogService, refreshTokenService,
                                                                       systemStatusService, appStatus);
                    if (fooRefreshTokenResult == false)
                    {
                        return;
                    }
                    var fooResult = await OnlyUserService.GetAsync();
                    if (fooResult.Status == false)
                    {
                        Message = fooResult.Message;
                    }
                    else
                    {
                        Message = fooResult.Payload.ToString();
                    }
                }
            });
            #endregion
            #region 故意拋出例外
            ThrowExceptionrCommand = new DelegateCommand(async() =>
            {
                throw new Exception("魔鬼藏在細節中");
            });
            #endregion
        }