private async void MainViewModel_AgentsChanged(object sender, EventArgs e) { var response = await client.GetAsync($"{serverUrl}api/Agent"); if (!response.IsSuccessStatusCode) { MessageBox.Show(response.StatusCode.ToString()); return; } string responseBody = await response.Content.ReadAsStringAsync(); foreach (var item in JsonConvert.DeserializeObject <AgentsList>(responseBody).Agents) { Agents.Add(new Agent() { Id = item.Id, Endpoint = item.Endpoint, OsType = item.OsType, AgentVersion = item.AgentVersion, IsEnabled = item.IsEnabled }); } if (Agents.Any()) { SelectedAgent = Agents.First(); } }
private void ExecuteImprimer() { if (Agents.Any(ag => ag.IsSelected) && _SelectedSemaine != null) { _dataService.Jour = SelectedSemaine.Debut; //ApercuBordereauDeclaratifViewModel bordereauDeclaratifVM = SimpleIoc.Default.GetInstance<ApercuBordereauDeclaratifViewModel>(); ApercuBordereauDeclaratifViewModel bordereauDeclaratifVM = new ApercuBordereauDeclaratifViewModel(_dataService, _dialogService); List <string> listeMatricules = new List <string>(); foreach (var item in Agents.Where(ag => ag.IsSelected)) { listeMatricules.Add(item.Matricule); } bordereauDeclaratifVM.entete = _Entete; bordereauDeclaratifVM.Agents = listeMatricules; bordereauDeclaratifVM.previsionnel = OuiNon; bordereauDeclaratifVM.Mois = DatesDebutFin.Debut; _dialogService.ShowDialog <ApercuBordereauDeclaratif>(this, bordereauDeclaratifVM); } else { EnableImprimer = false; } }
private async void GetAgentData() { var agentData = await AgentAPI.GetAgentData(); if (agentData != null) { foreach (var agent in agentData) { if (!Agents.Any(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase))) { Agents.Add(new Agent { AgentId = agent.Metadata.AgentID, Hostname = agent.Metadata.Hostname, IpAddress = agent.Metadata.IPAddress, Identity = agent.Metadata.Identity, ProcessName = agent.Metadata.ProcessName, ProcessId = agent.Metadata.ProcessID, Arch = agent.Metadata.Arch.ToString(), CLR = agent.Metadata.CLR, Integrity = agent.Metadata.Integrity.ToString(), AgentModules = agent.LoadModules, LastSeen = Helpers.CalculateTimeDiff(agent.LastSeen) }); } else { Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .Hostname = agent.Metadata.Hostname; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .IpAddress = agent.Metadata.IPAddress; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .Identity = agent.Metadata.Identity; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .ProcessName = agent.Metadata.ProcessName; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .ProcessId = agent.Metadata.ProcessID; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .Arch = agent.Metadata.Arch.ToString(); Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .CLR = agent.Metadata.CLR; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .Integrity = agent.Metadata.Integrity.ToString(); Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .AgentModules = agent.LoadModules; Agents.FirstOrDefault(a => a.AgentId.Equals(agent.Metadata.AgentID, StringComparison.OrdinalIgnoreCase)) .LastSeen = Helpers.CalculateTimeDiff(agent.LastSeen); } } } }
protected override void InternalStart(IList <CustomerEntry> jobsTodo) { if (apiExtension == null) { var extId = _settingsRepository.GetSettings().ExtensionId; if (string.IsNullOrEmpty(extId) || (apiExtension = _client.GetAPIExtension(extId)) == null) { Messenger.Default.Send(new NotificationMessage(AgentDialerViewModel.ShowApiExtensionWarning)); Running = false; CurrentConcurrentWorkers = 0; return; } } if (!Agents.Any()) { Messenger.Default.Send(new NotificationMessage(AgentDialerViewModel.ShowNoAgentsSelectedError)); Running = false; CurrentConcurrentWorkers = 0; return; } foreach (var customer in Customers) { if (!RetryStates.Any(s => s.ProgressState == customer.State.ProgressState) || CurrentConcurrentWorkers >= MaxConcurrentWorkers) { continue; } while (!Agents.Any(a => a.State == AgentState.Free)) { _eventLock.WaitOne(); } var call = apiExtension.CreateCall(customer.PhoneNumber); if (call == null) { continue; } customer.CallId = call.CallId; customer.State = new CustomerState(ProgressState.Calling, null); call.CallStateChanged += ApiCallStateChanged; call.CallErrorOccurred += (sender, args) => CallEnded(null, Customers.First(c => c.CallId == customer.CallId), args.Item == CallError.NotFound ? ProgressState.NotFound : ProgressState.Error); _startedCalls.TryAdd(call); call.Start(); Interlocked.Increment(ref CurrentConcurrentWorkers); while (CurrentConcurrentWorkers >= MaxConcurrentWorkers) { _eventLock.WaitOne(); } } Running = false; OnWorksCompleted(CompletedWorks); }
public Tuple <Agent, bool> GetAgent(List <Guid> contactResponsibles) { var result = Agents.FirstOrDefault(r => r.Status == AgentStatus.Online && contactResponsibles.Contains(r.Id)) ?? Agents.FirstOrDefault(r => r.Status == AgentStatus.Online); var isAnyNotOffline = Agents.Any(); if (result != null) { result.Status = AgentStatus.Paused; } return(new Tuple <Agent, bool>(result, isAnyNotOffline)); }
private bool CanAssignment() { return(Agents.Any() && Operations.Any()); }
internal IEnumerable <ValidationResult> Validate() { var agentValidationResults = new List <ValidationResult>(6); if (Agents?.Any() == true) { if (Agents.Contains(AgentType.BankPayingAgent) || Agents.Contains(AgentType.BankPayingSubagent) || Agents.Contains(AgentType.PayingAgent) || Agents.Contains(AgentType.PayingSubagent)) { if (PayingAgent == null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("RequiredError"), this.GetType().GetProperty(nameof(PayingAgent)).GetDisplayName()))); } } else { if (PayingAgent != null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("MustBeNullError"), this.GetType().GetProperty(nameof(PayingAgent)).GetDisplayName()))); } } if (Agents.Contains(AgentType.BankPayingAgent) || Agents.Contains(AgentType.BankPayingSubagent)) { if (MoneyTransferOperator == null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("RequiredError"), this.GetType().GetProperty(nameof(MoneyTransferOperator)).GetDisplayName()))); } } else { if (MoneyTransferOperator != null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("MustBeNullError"), this.GetType().GetProperty(nameof(MoneyTransferOperator)).GetDisplayName()))); } } if (Agents.Contains(AgentType.PayingAgent) || Agents.Contains(AgentType.PayingSubagent)) { if (ReceivePaymentsOperator == null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("RequiredError"), this.GetType().GetProperty(nameof(ReceivePaymentsOperator)).GetDisplayName()))); } } else { if (ReceivePaymentsOperator != null) { agentValidationResults.Add(new ValidationResult(string.Format( ErrorStrings.ResourceManager.GetString("MustBeNullError"), this.GetType().GetProperty(nameof(ReceivePaymentsOperator)).GetDisplayName()))); } } } return(agentValidationResults); }