示例#1
0
        public override async void ViewAppearing()
        {
            base.ViewAppearing();

            _token = _messenger.Subscribe <SelectedOpChangedMessage>(async msg =>
            {
                await LoadOperationCommand.ExecuteAsync();

                if (_preferences.Get(UserSettingsKeys.ShowAgentsFromAnyTeam, false) is false)
                {
                    // Force refresh agents pins to only show current OP agents
                    Agents.Clear();
                    await RaisePropertyChanged(() => Agents);
                }

                await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty);
            });
            _tokenReload ??= _messenger.Subscribe <MessageFrom <OperationRootTabbedViewModel> >(async msg => await LoadOperationCommand.ExecuteAsync());
            _tokenLiveLocation ??= _messenger.Subscribe <TeamAgentLocationUpdatedMessage>(async msg => await RefreshTeamAgentPositionCommand.ExecuteAsync(msg));
            _tokenLinkUpdated ??= _messenger.Subscribe <LinkDataChangedMessage>(UpdateLink);
            _tokenMarkerUpdated ??= _messenger.Subscribe <MarkerDataChangedMessage>(UpdateMarker);
            _tokenRefreshAllAgentsLocations ??= _messenger.Subscribe <RefreshAllAgentsLocationsMessage>(async msg => await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty));

            await LoadOperationCommand.ExecuteAsync();

            await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty);
        }
示例#2
0
 /// <summary>
 ///     Clear agents between two iterations
 /// </summary>
 public void Clear()
 {
     State = AgentState.Starting;
     Agents.Clear();
     StoppedAgents.Clear();
     _agentsReference.ForEach(x => Agents.Add(x));
     //todo => _agentsReference.ForEach(x => Agents.Add(x.Clone())); and change SetAGents
 }
示例#3
0
 public void Dispose()
 {
     mDisposed = true;
     lock (Agents)
         Agents.Clear();
     while (requestAgentsPool.TryDequeue(out TcpClientAgent result))
     {
         result.Client.DisConnect();
     }
 }
示例#4
0
        private void NewFileCommand_Execute()
        {
            MessageBoxResult res = MessageBox.Show("Any unsaved data will be lost. Are you sure you want to initiate a new file?", "Warning",
                                                   MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);

            if (res == MessageBoxResult.Yes)
            {
                Agents.Clear();
                filename = "";
            }
        }
示例#5
0
        /// <summary>
        /// Mettre à jour la liste des agent de l'établissement
        /// </summary>
        private void UpdateListeAgents()
        {
            if (_TousAgents != null && Agents != null)
            {
                IEnumerable <AgentModel> _agents;
                if (!String.IsNullOrEmpty(SelectedStatut.IDStatut))
                {
                    _agents = from agent in _TousAgents
                              where agent.Typecontrat == SelectedStatut.IDStatut
                              select agent;

                    if (SelectedService != null && !String.IsNullOrEmpty(SelectedService.ID))
                    {
                        _agents = from agent in _agents
                                  where agent.IDService == SelectedService.ID
                                  select agent;
                    }

                    if (SelectedEmploi != null && !String.IsNullOrEmpty(SelectedEmploi.IDEmploi))
                    {
                        _agents = from agent in _agents
                                  where agent.IDEmploi == SelectedEmploi.IDEmploi
                                  select agent;
                    }


                    Agents.Clear();
                    foreach (AgentModel ag in _agents.Distinct().OrderBy(a => a.Prenom).OrderBy(a => a.Nom))
                    {
                        Agents.Add(ag);
                    }


                    SelectAllAgents = false;



                    RaisePropertyChanged("Agents");
                    UpdateListePeriodes();
                }
                else if (String.IsNullOrEmpty(SelectedStatut.IDStatut) && (!String.IsNullOrEmpty(SelectedService.ID)))
                {
                    _agents = from agent in _TousAgents
                              where agent.IDService == SelectedService.ID
                              select agent;

                    if (SelectedEmploi != null && !String.IsNullOrEmpty(SelectedEmploi.IDEmploi))
                    {
                        _agents = from agent in _agents
                                  where agent.IDEmploi == SelectedEmploi.IDEmploi
                                  select agent;
                    }

                    Agents.Clear();

                    foreach (AgentModel ag in _agents.Distinct().OrderBy(a => a.Prenom).OrderBy(a => a.Nom))
                    {
                        Agents.Add(ag);
                    }

                    SelectAllAgents = false;

                    RaisePropertyChanged("Agents");
                    UpdateListePeriodes();
                }
                else if (String.IsNullOrEmpty(SelectedStatut.IDStatut) && (String.IsNullOrEmpty(SelectedService.ID)) && !String.IsNullOrEmpty(SelectedEmploi.IDEmploi))
                {
                    _agents = from agent in _TousAgents
                              where agent.IDEmploi == SelectedEmploi.IDEmploi
                              select agent;

                    Agents.Clear();

                    foreach (AgentModel ag in _agents.Distinct().OrderBy(a => a.Prenom).OrderBy(a => a.Nom))
                    {
                        Agents.Add(ag);
                    }

                    SelectAllAgents = false;

                    RaisePropertyChanged("Agents");
                    UpdateListePeriodes();
                }
                else
                {
                    Agents = new ObservableCollection <AgentModel>(_TousAgents.Distinct().OrderBy(a => a.Prenom).OrderBy(a => a.Nom));

                    RaisePropertyChanged("Agents");
                    UpdateListePeriodes();
                }
            }
        }
示例#6
0
 public void ClearAgentList()
 {
     Agents.Clear();
 }
示例#7
0
 public static void Update()
 {
     Agents.Clear();
     CreateCollection();
 }