는 내가 아는 한 작업 표를 대리 할 수 있습니다 마술 방법이 없어 ... 나에게 도움이 될 수 있습니다. 다른 사용자 대신 QueueUpdateTimesheet의 메소드를 사용할 수있게하려면 DataSet을 "해킹"해야합니다.
사용자를 가장하려면 선행 조건을 수행해야합니다 (http://msdn.microsoft.com/en-us/library/aa974413.aspx).
Proxy.TimesheetDataSet tds = timesheetSvc.ReadTimesheet(tsFound.TS_UID);
그런 다음이를 대리를 활성화하기 위해 수행 :
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;
}
}
그런 다음 작업 표 데이터 세트를 검색 :;의 모든 당신이 진행할 수 있습니다 완료되면 모든
으로), 당신의 timesheetRow을 retreive
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);
희망 하시겠습니까?
작별 인사