按天添加资源分配工作

Add resource assignment work by day

几天来,我一直在尝试为特定日期的特定任务编写分配进度。例如:我能够设置任务的总体进度,但不能设置资源在给定日期所做的实际工作。我们可以在“任务使用情况”视图中使用 Project Pro 来做到这一点,但我们需要根据另一个系统生成的文件自动执行一些操作,这就是为什么我在这个解决方案中工作,但我找不到任何允许的对象我保存日期的实际工作值。我正在使用 CSOM 库和 Project Online。

这个问题快把我逼疯了!任何帮助将不胜感激。提前致谢!

编辑:

如果我不够清楚,我基本上需要按天从资源分配中获取和设置数据,因为我们可以通过 Project PRO 上的 TASK USAGE 屏幕查看和设置,但我需要这样做使用 CSOM 和 Project Online。 这是我正在谈论的观点:

最后,我们设法找到了一条出路…… 以下是我们的做法:

    private void SaveAssignmentData(Guid id, DateTime start, DateTime finish, Config config)
    {  

        //start = DateTime.Today.AddHours(8);
        //finish = start.AddHours(10); //from 8am to 6pm

        var ctx = new Connection().ProjectOnline(config.SpOnlineSite, config.SpOnlineUsuario, config.SpOnlineSenha); //simple method to get the current context

        var resources = ctx.EnterpriseResources;
        ctx.Load(resources);
        ctx.ExecuteQuery();
        var resource = ctx.EnterpriseResources.FirstOrDefault(i => i.Email == "user@domain.com");
        if (resource == null) throw new Exception("Resource not found.");
        ctx.Load(resource, p => p.Assignments);
        ctx.ExecuteQuery();

        var timePhase = resource.Assignments.GetTimePhase(start, finish);
        ctx.Load(timePhase, p => p.Assignments);
        ctx.ExecuteQuery();

        var statusAssignment = timePhase.Assignments.FirstOrDefault(i => i.Id == id);
        if (statusAssignment != null)
        {
            statusAssignment.ActualWork = "6h";
            statusAssignment.SubmitStatusUpdates("through csom");
            ctx.ExecuteQuery();
        }
    }