public bool hasErrors(out string error) { error = string.Empty; if (Processes.Count < this.ProcessesAmount || Processes.Any(i => i.Operations.Count == 0)) { error += "\nDefine operation sequences for all processes."; } if (Buffers.Count < this.Machines) { error += "\nDefine buffers."; } if (Inputs.Count < this.ProcessesAmount) { error += "\nDefine inputs."; } if (string.IsNullOrEmpty(error)) { return(false); } else { error = "Input data error." + error; return(true); } }
private void Init() { SelectedProcess = Processes.FirstOrDefault(); SelectedProcess.IsCountingNotVisitedOutputLinesOn = false; StartProcessesCommand = new Command(StartProcesses, () => Processes.Any(x => !x.InProgress)); StopProcessesCommand = new Command(StopProcesses, () => Processes.Any(x => x.InProgress)); }
/// <summary> /// Генирируем имя процесса по шаблону Пр_{порядковый номер}. /// </summary> /// <returns></returns> string ChangeName() { var counter = 0; var name = $"Пр_{++counter}"; while (Processes.Any(p => p.Name == (name = $"Пр_{counter++}"))) { } return(name); }
private void OnTimerElapsed(object sender, ElapsedEventArgs e) { var a = new Process(); a.GetHashCode(); var procs = Process.GetProcesses(); var procsToSkip = procs.Where(p => Processes.Any(pr => pr.Process.Id == p.Id)); var procsToAdd = procs.Where(p => !Processes.Any(pr => pr.Process.Id == p.Id)); }
private void Init() { SelectedProcess = Processes.FirstOrDefault(); SelectedProcess.IsCountingNotVisitedOutputLinesOn = false; StartProcessesCommand = new Command(StartProcesses, () => Processes.Any(x => !x.InProgress)); StopProcessesCommand = new Command(StopProcesses, () => Processes.Any(x => x.InProgress)); //todo ViewReportCommand = new Command(ViewReport); //ViewReportCommand = new Command(ViewReport,() => Processes.Any(x => !x.InProgress && x.MeasureSettings.Any(y=>y.MeasuredUnits.Any()))); }
public bool HasModelToUpdate(StoredObjectInfo newModel) { RWLock.EnterReadLock(); try { return(Processes.Any(p => p.Language == newModel.Language && p.Type == newModel.ModelType && p.Tag == newModel.Tag && p.Version < newModel.Version)); } finally { RWLock.ExitReadLock(); } }
public bool HasModel(StoredObjectInfo model, bool matchVersion = true) { RWLock.EnterReadLock(); try { return(Processes.Any(p => p.Language == model.Language && p.Type == model.ModelType && p. Tag == model.Tag && (!matchVersion || p.Version == model.Version))); } finally { RWLock.ExitReadLock(); } }