Пример #1
0
 private void InitializeService ( )
 {
    try
    {
       if ( InvokeRequired ) 
       {
          Invoke ( new MethodInvoker ( delegate ( ) 
          {
             InitializeService ( ) ;
          } ) ) ;
          
          return ;
       }
       
       InitServiceInformation ( ) ;
       
       if ( ( null != WorkstationService ) && ( WorkstationService.Status == ServiceControllerStatus.Running ) ) 
       {
          AeTitlesListView.Items.Clear ( ) ;
          
          //
          // Request server ae titles
          //    
          WorkstationService.SendMessage ( MessageNames.GetAeTitles ) ;
       }
    }
    catch ( Exception ex )
    {
       ThreadSafeMessager.ShowError( "Error sending message.\n" + ex.Message );
    }
 }
Пример #2
0
        private async Task AddVaultAsync()
        {
            try
            {
                if (SelectedHardwareVault == null)
                {
                    WarningMessage = "Please, select a vault.";
                    return;
                }

                await WorkstationService.AddProximityVaultAsync(WorkstationId, SelectedHardwareVault.Id);

                await RemoteWorkstationConnectionsService.UpdateProximitySettingsAsync(WorkstationId, await WorkstationService.GetProximitySettingsAsync(WorkstationId));

                await ToastService.ShowToastAsync("Vault added", ToastType.Success);

                await SynchronizationService.UpdateWorkstationDetails(ExceptPageId, WorkstationId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
Пример #3
0
        protected override async Task OnInitializedAsync()
        {
            try
            {
                WorkstationService = ScopedServices.GetRequiredService <IWorkstationService>();
                RemoteWorkstationConnectionsService = ScopedServices.GetRequiredService <IRemoteWorkstationConnectionsService>();

                Workstation = await WorkstationService.GetWorkstationByIdAsync(WorkstationId);

                if (Workstation == null)
                {
                    throw new Exception("Workstation not found.");
                }

                EntityBeingEdited = MemoryCache.TryGetValue(Workstation.Id, out object _);
                if (!EntityBeingEdited)
                {
                    MemoryCache.Set(Workstation.Id, Workstation);
                }

                SetInitialized();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
                await ModalDialogCancel();
            }
        }
Пример #4
0
            private void toolStripButtonAddAeTitle_Click ( object sender, EventArgs e )
            {
               try
               {
                  EditAeTitleDialog dialog ;
                  
                  
                  dialog = new EditAeTitleDialog ( ) ;

                  if ( dialog.ShowDialog ( this ) == DialogResult.OK )
                  {
                     AeInfo newAeInfo = AddInUtils.Clone<AeInfo> ( dialog.AeInfo ) ;
                     
                     
                     newAeInfo.Address = newAeInfo.Address ;
                     
                     try
                     {
                        WorkstationService.SendMessage ( MessageNames.AddAeTitle, newAeInfo ) ;
                     }
                     catch ( Exception ex )
                     {
                        ThreadSafeMessager.ShowError (  "Error sending message.\n" + ex.Message ) ;
                     }
                  }
               }
               catch ( Exception exception )
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  ThreadSafeMessager.ShowError (  exception.Message ) ;
               }
            }
Пример #5
0
            private void DeleteServerToolStripButton_Click ( object sender, EventArgs e )
            {
               DialogResult result = DialogResult.Yes;


               if ( null == WorkstationService ) 
               {
                  return ;
               }
               
               if ( WorkstationService.Status == ServiceControllerStatus.Running )
               {
                   result = ThreadSafeMessager.ShowQuestion ( "Service is currently running\r\nDo you want to stop and delete?",
                                                              MessageBoxButtons.YesNo ) ;
                                              
                   if (result == DialogResult.Yes)
                   {
                       WorkstationService.Stop();
                       
                       while ( WorkstationService.Status != ServiceControllerStatus.Stopped )
                       {
                           Application.DoEvents ( ) ;
                       }
                   }
               }

               if ( result == DialogResult.Yes )
               {
                  try
                  {
                     string serviceName ;
                     
                     
                     serviceName = ServiceManager.ServiceName ;
                     
                     UnInstallService ( ) ;
                       
                     LEADStorageServiceAELabel.Text = string.Empty ;
                     IpAddressLabel.Text            = string.Empty;
                     ServerPortLabel.Text           = string.Empty;

                     AeTitlesListView.Items.Clear();
                       
                     ThreadSafeMessager.ShowInformation (  "Service successfully uninstalled" ) ;
                       
                     WorkstationService = null ;
                     
                     OnWorkstationServiceDeleted ( this, new WorkstationServiceEventArgs ( serviceName, null ) ) ;
                  }
                  catch (Exception ex)
                  {
                     ThreadSafeMessager.ShowError (  ex.Message );
                  }
               }
               
               HandleStatusChange ( ) ;
           }
Пример #6
0
        private async Task LoadWorkstationAsync()
        {
            Workstation = await WorkstationService.GetWorkstationByIdAsync(WorkstationId);

            if (Workstation == null)
            {
                throw new Exception("Workstation not found.");
            }
        }
        public void UninstallWorkstationService( )
        {
            if (null != WorkstationService)
            {
                ServiceAdmin.UnInstallService(WorkstationService);

                WorkstationService.Dispose( );

                WorkstationService = null;
            }
        }
Пример #8
0
 private void toolStripButtonStop_Click ( object sender, EventArgs e )
 {
    try
    {
       WorkstationService.Stop ( ) ;
    }
    catch ( Exception exception )
    {
       System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                      
       ThreadSafeMessager.ShowError (  exception.Message ) ;
    }
 }
Пример #9
0
        public async Task DeleteVaultAsync()
        {
            try
            {
                await WorkstationService.DeleteProximityVaultAsync(WorkstationProximityVault.Id);

                await ToastService.ShowToastAsync("Vault deleted.", ToastType.Success);
                await ModalDialogClose();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
                await ModalDialogCancel();
            }
        }
Пример #10
0
            private void toolStripButtonEditAeTitle_Click ( object sender, EventArgs e )
            {
               try
               {
                  EditAeTitleDialog dialog ;
                  string oldAe ;
                  
                  
                  if ( AeTitlesListView.SelectedItems.Count == 0 )
                  {
                     return ;
                  }
                  
                  dialog = new EditAeTitleDialog ( ) ;
                  
                  dialog.AeInfo = AddInUtils.Clone<AeInfo> ( AeTitlesListView.SelectedItems [ 0 ].Tag as AeInfo ) ;
                  
                  oldAe  = dialog.AeInfo.AETitle ;

                  if ( dialog.ShowDialog ( this ) == DialogResult.OK )
                  {
                     try
                     {
                        AeInfo newAeInfo = AddInUtils.Clone<AeInfo> ( dialog.AeInfo ) ;
                        
                        
                        newAeInfo.Address = newAeInfo.Address ;
                        
                        WorkstationService.SendMessage ( MessageNames.UpdateAeTitle,
                                                         oldAe, 
                                                         newAeInfo ) ;
                     }
                     catch (Exception ex)
                     {
                        ThreadSafeMessager.ShowError (  "Error sending message.\n" + ex.Message ) ;
                     }
                  }
               }
               catch ( Exception exception )
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  ThreadSafeMessager.ShowError (  exception.Message ) ;
               }
            }
        public void UnloadWorkstationListenerService( )
        {
            if (WorkstationService == null)
            {
                return;
            }

            WorkstationService.Dispose( );

            WorkstationService = null;

            if (null != ServiceAdmin)
            {
                ServiceAdmin.Error -= new EventHandler <Leadtools.Dicom.Server.Admin.ErrorEventArgs> (ServiceAdmin_Error);
                ServiceAdmin.Dispose( );
                ServiceAdmin = null;
            }
        }
Пример #12
0
        private async Task UnapproveAsync()
        {
            try
            {
                await WorkstationService.UnapproveWorkstationAsync(Workstation.Id);

                await RemoteWorkstationConnectionsService.UpdateWorkstationApprovedAsync(Workstation.Id, isApproved : false);

                await ToastService.ShowToastAsync("Workstation unapproved.", ToastType.Success);
                await ModalDialogClose();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
                await ModalDialogCancel();
            }
        }
Пример #13
0
        protected override async Task OnInitializedAsync()
        {
            try
            {
                WorkstationService  = ScopedServices.GetRequiredService <IWorkstationService>();
                OrgStructureService = ScopedServices.GetRequiredService <IOrgStructureService>();
                RemoteWorkstationConnectionsService = ScopedServices.GetRequiredService <IRemoteWorkstationConnectionsService>();

                Workstation = await WorkstationService.GetWorkstationByIdAsync(WorkstationId);

                if (Workstation == null)
                {
                    throw new Exception("Workstation not found.");
                }

                ModalDialogService.OnCancel += OnCancel;

                EntityBeingEdited = MemoryCache.TryGetValue(Workstation.Id, out object _);
                if (!EntityBeingEdited)
                {
                    MemoryCache.Set(Workstation.Id, Workstation);
                }

                Companies = await OrgStructureService.GetCompaniesAsync();

                if (Workstation.DepartmentId == null)
                {
                    Departments = new List <Department>();
                }
                else
                {
                    Departments = await OrgStructureService.GetDepartmentsByCompanyIdAsync(Workstation.Department.CompanyId);
                }

                SetInitialized();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
Пример #14
0
 private async Task EditAsync()
 {
     try
     {
         await Button.SpinAsync(async() =>
         {
             await WorkstationService.ApproveWorkstationAsync(Workstation);
             await RemoteWorkstationConnectionsService.UpdateRfidStateAsync(Workstation.Id, Workstation.RFID);
             await ToastService.ShowToastAsync("Workstation updated.", ToastType.Success);
             await ModalDialogClose();
         });
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
         await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
         await ModalDialogCancel();
     }
 }
        private IEnumerable <LinkResource> BuildLinks(ResponseModel <WorkstationTopUpStatus> workstationTopUpStatus)
        {
            if (WorkstationService.CanStartNewRun(
                    workstationTopUpStatus.ResponseData,
                    this.workstationPack.TopUpRunProgressStatus()) &&
                this.authorisationService.HasPermissionFor(AuthorisedAction.WorkstationAdmin, workstationTopUpStatus.Privileges))
            {
                yield return(new LinkResource {
                    Rel = "start-top-up", Href = "/logistics/workstations/top-up"
                });
            }

            yield return(new LinkResource {
                Rel = "self", Href = this.GetLocation(workstationTopUpStatus)
            });

            yield return(new LinkResource {
                Rel = "status", Href = "/logistics/workstations/top-up"
            });
        }
        public async Task DeleteVaultAsync()
        {
            try
            {
                await WorkstationService.DeleteProximityVaultAsync(WorkstationProximityVault.Id);

                await ToastService.ShowToastAsync("Vault deleted.", ToastType.Success);

                await SynchronizationService.UpdateWorkstationDetails(ExceptPageId, WorkstationId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
Пример #17
0
        protected override async Task OnInitializedAsync()
        {
            try
            {
                WorkstationService = ScopedServices.GetRequiredService <IWorkstationService>();
                AppSettingsService = ScopedServices.GetRequiredService <IAppSettingsService>();

                SynchronizationService.UpdateAlarmPage += UpdateAlarmPage;

                await BreadcrumbsService.SetAlarm();
                await GetAlarmStateAsync();

                WorkstationOnline = RemoteWorkstationConnectionsService.WorkstationsOnlineCount();
                WorkstationCount  = await WorkstationService.GetWorkstationsCountAsync(new DataLoadingOptions <WorkstationFilter>());

                SetInitialized();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
            }
        }
Пример #18
0
        private async Task ApproveAsync()
        {
            try
            {
                await ButtonSpinner.SpinAsync(async() =>
                {
                    await WorkstationService.ApproveWorkstationAsync(Workstation);
                    await RemoteWorkstationConnectionsService.UpdateRfidStateAsync(Workstation.Id, Workstation.RFID);
                    await RemoteWorkstationConnectionsService.UpdateWorkstationApprovedAsync(Workstation.Id, isApproved: true);
                    await ToastService.ShowToastAsync("Workstation approved.", ToastType.Success);
                    await SynchronizationService.UpdateWorkstations(ExceptPageId);
                    await ModalDialogService.CloseAsync();
                });
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
Пример #19
0
        private async Task LoadDataAsync()
        {
            var filter = new HardwareVaultFilter()
            {
                Status = VaultStatus.Active
            };

            TotalRecords = await HardwareVaultService.GetVaultsCountAsync(new DataLoadingOptions <HardwareVaultFilter>
            {
                SearchText = SearchText,
                Filter     = filter
            });

            HardwareVaults = await HardwareVaultService.GetVaultsAsync(new DataLoadingOptions <HardwareVaultFilter>
            {
                Take          = TotalRecords,
                SortedColumn  = nameof(HardwareVault.Id),
                SortDirection = ListSortDirection.Ascending,
                SearchText    = SearchText,
                Filter        = filter
            });

            var count = await WorkstationService.GetProximityVaultsCountAsync(new DataLoadingOptions <WorkstationDetailsFilter>() { EntityId = WorkstationId });

            var proximityVaultFilter = new DataLoadingOptions <WorkstationDetailsFilter>()
            {
                Take          = count,
                SortedColumn  = nameof(WorkstationProximityVault.HardwareVaultId),
                SortDirection = ListSortDirection.Ascending,
                EntityId      = WorkstationId
            };
            var proximityVaults = await WorkstationService.GetProximityVaultsAsync(proximityVaultFilter);

            AlreadyAdded = proximityVaults.Count > 0;

            HardwareVaults        = HardwareVaults.Where(x => !proximityVaults.Select(s => s.HardwareVaultId).Contains(x.Id)).ToList();
            SelectedHardwareVault = null;
            StateHasChanged();
        }
Пример #20
0
        public async Task DeleteAsync()
        {
            try
            {
                await WorkstationService.DeleteWorkstationAsync(Workstation.Id);

                await RemoteWorkstationConnectionsService.UpdateWorkstationApprovedAsync(Workstation.Id, isApproved : false);

                await ToastService.ShowToastAsync("Workstation deleted.", ToastType.Success);

                await SynchronizationService.UpdateWorkstations(ExceptPageId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                await ModalDialogService.CancelAsync();

                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
            }
        }
Пример #21
0
            private void toolStripButtonDeleteAeTitle_Click ( object sender, EventArgs e )
            {
               try
               {
                  AeInfo info  ;
                  
                  
                  if ( AeTitlesListView.SelectedItems.Count == 0 )
                  {
                     return ;
                  }
                  
                  info = AeTitlesListView.SelectedItems [ 0 ].Tag as AeInfo;

                  WorkstationService.SendMessage(MessageNames.RemoveAeTitle, info.AETitle);
               }
               catch ( Exception exception )
               {
                  System.Diagnostics.Debug.Assert ( false, exception.Message ) ;
                                 
                  ThreadSafeMessager.ShowError (  "Error sending message.\n" + exception.Message ) ;
               }
            }
Пример #22
0
        private async Task OnCancel()
        {
            await WorkstationService.UnchangedWorkstationAsync(Workstation);

            ModalDialogService.OnCancel -= OnCancel;
        }
Пример #23
0
 private async Task OnCancel()
 {
     await WorkstationService.UnchangedWorkstationAsync(Workstation);
 }
Пример #24
0
        protected override async Task ModalDialogCancel()
        {
            await WorkstationService.UnchangedWorkstationAsync(Workstation);

            await base.ModalDialogCancel();
        }