Hello,
While testing I noticed a potential bug. I was able to successfully import an existing Project file using Aspose with no issues. However, I noticed that if you delete a task from the Project file, and save, all of the previous data gets removed (Actual Start, Actual Finish, and Duration) and the Project Recalculation no longer works.
How can I fix this issue? Is there a way to delete a task from the Project file and not have my previous data removed? I have attached screenshots of the Project files, and below is the logic used to retrieve and edit an existing Project file.
Thank you
static void Main(string[] args)
{
License lic = new License();
lic.SetLicense("Aspose.Tasks.lic");
// The path to the documents directory.
string dataDir = "C:/Users//Desktop/";
// Read project xml into file stream
using (Stream filesStream = new FileStream(dataDir + "ProjectBeforeSave.mpp", FileMode.Open))
{
// Create project using file stream
Project project = new Project(filesStream);
ChildTasksCollector childTasks = new ChildTasksCollector();
TaskUtils.Apply(project.RootTask, childTasks, 0);
Console.WriteLine("Number of tasks: " + childTasks.Tasks.Count);
foreach(var task in childTasks.Tasks)
{
Console.WriteLine( "Task Name " + task.Get(Tsk.Name) + " Start " + task.Get(Tsk.Start) + " Finish " + task.Get(Tsk.Finish) + " Actual Start " + task.Get(Tsk.ActualStart) + " Actual Finish " + task.Get(Tsk.ActualFinish));
Console.WriteLine(" ");
// Console.WriteLine("Finish " + task.Get(Tsk.Finish));
}
//Delete Task from Project file
var taskToDelete = childTasks.Tasks.Find(x => x.Get(Tsk.Uid) == 8);
Console.WriteLine("Task to Delete" + taskToDelete.Get(Tsk.Name));
taskToDelete.Delete();
//Modify an exiting tasks.
var taskToModify = childTasks.Tasks.Find(x => x.Get(Tsk.Uid) == 7);
taskToModify.Set(Tsk.ActualFinish, DateTime.Now);
project.Recalculate();
//Save the Project file
project.Save(dataDir + " ProjectAfterSave.mpp", SaveFileFormat.MPP);
//The existing Actual Start and Finish dates were removed.
}
AfterSaveProjectScreenshot.PNG (10.8 KB)
BeforeSaveProjectFileScreenshot.PNG (11.5 KB)
ProjectBeforeSave.zip (56.0 KB)