我已在页面http://mpxj.sourceforge.net/apidocs/net/sf/mpxj/ProjectFile.html中读到 GetTaskById 方法返回请求的任务,如果未找到则返回 null,但我不知道为什么找不到活动。
这是我的代码:
var actividades=db.Actividades.Where(s=>s.ProyectoId==ProyectoId).Include(s=>s.ActApuCompuesto);
ProjectFile pfile = new ProjectFile();
foreach(var item in actividades){
Task task= pfile.addTask();
task.setName(item.Nombre);
task.setDuration(Duration.getInstance(item.Cantidad * item.ActApuCompuesto.DuracionApu(), TimeUnit.DAYS));
task.setID(new Integer(item.Id));
}
//pfile have all activities, I check it.
foreach (Task task in ToEnumerable(pfile.getAllTasks()))
{
int valor=task.getID().intValue();
var precedencias=db.ActividadRelacionPrecedencias.Where(s => s.Actividad1Id ==valor );
foreach (var item2 in precedencias)
{//item2.Actividad2Id not is null
Task taskPrec = pfile.getTaskByID(java.lang.Integer.valueOf(item2.Actividad2Id));
//But taskprec is null
task.addPredecessor(taskPrec, relationType(item2.RelacionPrecedenciaId), Duration.getInstance(item2.MasDias, TimeUnit.DAYS));
}
}