public LogoutCleanHelper(IPageDialogService dialogService, DepartmentsManager departmentsManager, SystemEnvironmentsManager systemEnvironmentsManager, SystemStatusManager systemStatusManager, AppStatus appStatus, RefreshTokenManager refreshTokenManager, ExceptionRecordsManager exceptionRecordsManager, LeaveFormsManager leaveFormsManager, CommUserGroupsManager commUserGroupsManager) { this.dialogService = dialogService; this.departmentsManager = departmentsManager; this.systemEnvironmentsManager = systemEnvironmentsManager; this.systemStatusManager = systemStatusManager; this.appStatus = appStatus; this.refreshTokenManager = refreshTokenManager; this.exceptionRecordsManager = exceptionRecordsManager; this.leaveFormsManager = leaveFormsManager; }
public LeaveFormPageViewModel(INavigationService navigationService, IPageDialogService dialogService, LeaveFormsManager leaveFormsManager, LeaveFormTypesManager leaveFormTypesManager, RefreshTokenManager refreshTokenManager, SystemStatusManager systemStatusManager, AppStatus appStatus) { this.navigationService = navigationService; this.dialogService = dialogService; this.leaveFormsManager = leaveFormsManager; this.leaveFormTypesManager = leaveFormTypesManager; this.refreshTokenManager = refreshTokenManager; this.systemStatusManager = systemStatusManager; this.appStatus = appStatus; RefreshCommand = new DelegateCommand(async() => { IsRefreshing = true; await LoadDataAsync(); IsRefreshing = false; }); AddCommand = new DelegateCommand(async() => { LeaveFormModel leaveFormModel = new LeaveFormModel() { BeginTime = DateTime.Today + new TimeSpan(09, 00, 00), EndTime = DateTime.Today + new TimeSpan(18, 00, 00), Id = 0, TotalHours = 8, user = new UserDTO() { Id = appStatus.SystemStatus.UserID }, Description = "請假原因", leaveFormType = new LeaveFormTypeModel() { Id = leaveFormTypesManager.Items[0].Id, Name = leaveFormTypesManager.Items[0].Name }, }; NavigationParameters fooPara = new NavigationParameters(); fooPara.Add("Record", leaveFormModel); await navigationService.NavigateAsync("LeaveFormDetailPage", fooPara); }); ItemTappedCommand = new DelegateCommand(async() => { var leaveFormSelectedItemClone = LeaveFormSelectedItem.Clone(); NavigationParameters fooPara = new NavigationParameters(); fooPara.Add("Record", leaveFormSelectedItemClone); await navigationService.NavigateAsync("LeaveFormDetailPage", fooPara); }); }
public LeaveFormDetailPageViewModel(INavigationService navigationService, IPageDialogService dialogService, RefreshTokenManager refreshTokenManager, SystemStatusManager systemStatusManager, AppStatus appStatus, LeaveFormsManager leaveFormsManager, LeaveFormTypesManager leaveFormTypesManager) { this.navigationService = navigationService; this.dialogService = dialogService; this.leaveFormsManager = leaveFormsManager; this.leaveFormTypesManager = leaveFormTypesManager; SaveCommand = new DelegateCommand(async() => { if (IsAddMode == true) { using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,更新資料中...", null, null, true, MaskType.Black)) { bool fooRefreshTokenResult = await RefreshTokenHelper.CheckAndRefreshToken(dialogService, refreshTokenManager, systemStatusManager, appStatus); if (fooRefreshTokenResult == false) { return; } var fooResult = await leaveFormsManager.PostAsync(new LeaveFormRequestDTO() { id = 0, BeginTime = LeaveFormItemModel.BeginDate + LeaveFormItemModel.BeginTime, EndTime = LeaveFormItemModel.EndDate + LeaveFormItemModel.EndTime, Description = LeaveFormItemModel.Description, TotalHours = LeaveFormItemModel.TotalHours, leaveFormType = new LeaveFormTypeDTO() { Id = LeaveFormTypeSelectedItem.Id } }); } } else { using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,更新資料中...", null, null, true, MaskType.Black)) { bool fooRefreshTokenResult = await RefreshTokenHelper.CheckAndRefreshToken(dialogService, refreshTokenManager, systemStatusManager, appStatus); if (fooRefreshTokenResult == false) { return; } var fooResult = await leaveFormsManager.PutAsync(LeaveFormSelectedItem.Id, new LeaveFormRequestDTO() { id = LeaveFormSelectedItem.Id, BeginTime = LeaveFormItemModel.BeginDate + LeaveFormItemModel.BeginTime, EndTime = LeaveFormItemModel.EndDate + LeaveFormItemModel.EndTime, Description = LeaveFormItemModel.Description, TotalHours = LeaveFormItemModel.TotalHours, leaveFormType = new LeaveFormTypeDTO() { Id = LeaveFormTypeSelectedItem.Id } }); } } var queryString = "NeedRefresh=true"; var navigationParams = new NavigationParameters(queryString); await navigationService.GoBackAsync(navigationParams); }); DeleteCommand = new DelegateCommand(async() => { using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,更新資料中...", null, null, true, MaskType.Black)) { bool fooRefreshTokenResult = await RefreshTokenHelper.CheckAndRefreshToken(dialogService, refreshTokenManager, systemStatusManager, appStatus); if (fooRefreshTokenResult == false) { return; } var fooResult = await leaveFormsManager.DeleteAsync(LeaveFormSelectedItem.Id); } var queryString = "NeedRefresh=true"; var navigationParams = new NavigationParameters(queryString); await navigationService.GoBackAsync(navigationParams); }); }