Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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);
     });
 }