In Microsoft Project server: After all timesheets have been submitted and approved I need to disable the button Recall to prevent mistakes.
Here is a part of test code:
DateTime _startDateParameter = new DateTime(2022, 10, 1);
DateTime __endDateParameter = new DateTime(2022, 10, 1);
using (projContext)
{
var tsp = projContext.TimeSheetPeriods;
projContext.Load(tsp, c => c.Where(p => p.Start <=
_startDateParameter && p.End >= __endDateParameter));
projContext.ExecuteQuery();
var myPeriod = projContext.TimeSheetPeriods.FirstOrDefault();
Console.WriteLine("\n\t{0} {1} {2}", myPeriod.Name.ToString(), myPeriod.Start.ToString(), myPeriod.End.ToString());
var tms = myPeriod.TimeSheet;
var lines = tms.Lines;
var creator = tms.Creator;
var manager = tms.Manager;
projContext.Load(tms);
projContext.Load(lines);
projContext.Load(creator);
projContext.Load(manager);
projContext.ExecuteQuery();
Console.WriteLine("\t\tName = {0} , Status = {1}, IsProcessed = {2}", tms.Name.ToString(), tms.Status.ToString(), tms.IsProcessed.ToString());
Console.WriteLine("\t\tCreator = {0} , Manager = {1}", creator.Title, manager.Title);
//tms.IsProcessed = true;
//tms.Name = "My Locked Timesheet";
tms.Update();
projContext.ExecuteQuery();
}
The two problems I have:
- I can only get my timesheet. I need to get all timesheets for a specific period. I do not know if I can call something like start delegate!?
- If I uncomment the change to tms.IsProcessed or tms.Name, then I get an error dialog " An unhandled exception of type 'Microsoft.SharePoint.Client.ServerException' occurred in Microsoft.SharePoint.Client.Runtime.dll Additional information: PJClientCallableException: GeneralSecurityAccessDenied"
thanks