public void addNewPartTime(QueueAssign partTime) { PartTimes.Add(partTime); OnPropertyChanged("PartTimes"); OnPropertyChanged("PartTimeSum"); }
public void AddToHistory(int time, Process executingProcess, ObservableCollection<Process> queue) { // hogy ne kelljen teljes Process-t emiatt sorosítani, ezért csak a neveket kiszedni ObservableCollection<string> queueWithProcessNames = new ObservableCollection<string>(); foreach (Process process in queue) { queueWithProcessNames.Add(process.ProcessName); } string executingProcessName = ""; if (executingProcess != null) { executingProcessName = executingProcess.ProcessName; } QueueAssign queueAssign = new QueueAssign(previousTime, time, queueWithProcessNames); if (ProcessQueueCouples.Count > 0) // már van tárolva Gannt egység { ProcessWithQueueAssigns processWithQueueAssigns = ProcessQueueCouples.Last(); if (processWithQueueAssigns.ProcessName != null) { if (processWithQueueAssigns.ProcessName.Equals(executingProcessName)) { if (processWithQueueAssigns.PartTimes.Count > 0) { if (CheckIfQuesAreEqual(queueWithProcessNames, processWithQueueAssigns.PartTimes.Last().Queue)) { processWithQueueAssigns.setLastPartTimesEndInterval(time); } else { QueueAssigns.Add(queueAssign); processWithQueueAssigns.addNewPartTime(queueAssign); } } else { } } else { QueueAssigns.Add(queueAssign); ObservableCollection<QueueAssign> partTime = new ObservableCollection<QueueAssign>(); partTime.Add(queueAssign); processQueueCouples.Add(new ProcessWithQueueAssigns(executingProcessName, partTime)); } } else // ha előzőleg nem volt tárolva process, ami végrehajtás alatt lett volna (tipikusan 2. iteráció, vagy esetleg sokadik) // több esetre kell szétválasztani { QueueAssigns.Add(queueAssign); ObservableCollection<QueueAssign> partTime = new ObservableCollection<QueueAssign>(); partTime.Add(queueAssign); processQueueCouples.Add(new ProcessWithQueueAssigns(executingProcessName, partTime)); } } else // ha az adatszerkezetben még nincs korábban eltárolt Gannt egység (1. iteráció) { QueueAssigns.Add(queueAssign); ObservableCollection<QueueAssign> partTime = new ObservableCollection<QueueAssign>(); partTime.Add(queueAssign); processQueueCouples.Add(new ProcessWithQueueAssigns(executingProcessName, partTime)); } previousTime = time; }