|
private async void RiGenerateGantt_Click(object sender, RoutedEventArgs e)
{
view.GenerateGantt();
await Task.Delay(1);
GanttGrid.CollapseAllNodes();
} |
|
In Processi class
public class Processi : INotifyPropertyChanged
{
…
public Processi()
{
Predecessor = new ObservableCollection<Predecessor>();
Child = new ObservableCollection<Processi>();
}
} |
|
public void GenerateGantt()
{
Activities = new ObservableCollection<Processi>();
foreach (DataSource Entity in DataSourceList)
{
…
Task.TaskId = Entity.Id;
Task.Child = new ObservableCollection<Processi>();
Activities.Add(Task);
//Activities.Last().Child = new ObservableCollection<Processi>();
//if (Entity.Child.Count() > 0)
// AddChilds(Entity.Child, Activities.Last());
}
}
…
public void AddChildsSeparately()
{
int Counter = 0;
foreach (DataSource FatherEntity in DataSourceList)
{
//Activities.ElementAt(Counter).Child = new ObservableCollection<Processi>();
//Activities.ElementAt(Counter).Predecessor = new ObservableCollection<Predecessor>();
foreach (DataSource Entity in FatherEntity.Child)
{
…
Task.TaskId = Entity.Id;
Task.Child = new ObservableCollection<Processi>();
Activities.ElementAt(Counter).Child.Add(Task);
//Activities.ElementAt(Counter).Child.Last().Child = new ObservableCollection<Processi>();
}
Counter++;
}
} |