を手伝ってくれる私の知る限りではあなたの代理タイムシートをすることができます魔法の方法はありません。他のユーザーの代わりにQueueUpdateTimesheetのメソッドを使用できるようにするには、DataSetを少しハックする必要があります。
ユーザーを偽装するためには、前提条件を実行する必要があります(http://msdn.microsoft.com/en-us/library/aa974413.aspx)。そのすべてはあなたが進むことができます行われたら;)すべての
まず、あなたのtimesheetRowを盗ん:
Proxy.TimesheetListDataSet.TimesheetsRow tsFound = null;
foreach (Proxy.TimesheetListDataSet.TimesheetsRow ts in ds.Timesheets)
{
if (ts.WPRD_START_DATE <= day.Date && ts.WPRD_FINISH_DATE > day.Date)
{
tsFound = ts;
break;
}
}
そして、タイムシートのデータセットを取得:
Proxy.TimesheetDataSet tds = timesheetSvc.ReadTimesheet(tsFound.TS_UID);
その後surrogatingを有効にするには、これを実行します。
if (Boolean.Parse(tds.Headers.Rows[0]["TS_IS_CONTROLLED_BY_OWNER"].ToString()) == true)
{
tds.Headers.Rows[0]["TS_IS_CONTROLLED_BY_OWNER"] = false;
tds.Headers.Rows[0]["TS_CREATOR_RES_UID"] = "[SUPER USER GUID]"
}
最後に、更新されたデータセットをプッシュ:
timesheetSvc.QueueUpdateTimesheet(Guid.NewGuid(), tsFound.TS_UID, updatedTimesheetDataSet);
希望すると助かります!
お別れ