int actionID, logID; Company comp = new Company(); ElectronicCommunicationActionsService srvEcmAction = comp.GetCompanyService().GetBusinessService(ServiceTypes.ElectronicCommunicationActionsService); EcmActionLogTypeEnum logType; EcmActionParams paramsByECM = srvEcmAction.GetDataInterface(ElectronicCommunicationActionsServiceDataInterfaces.ecasEcmActionParams); paramsByECM.ActionID = ecm2AbsEntry; EcmAction action = srvEcmAction.GetEcmAction(paramsByECM); foreach(EcmActionLog log in srvEcmAction.GetEcmActionLogList(action)) { actionID = log.ActionID; logID = log.LogID; logType = log.Type; // do something with ECM3 data } public void WorkWithEntryDetails(string docGuid) { var eds = (ElectronicDocumentService)service.GetBusinessService(ServiceTypes.ElectronicDocumentService); var entryIP = (EDFEntryInputParams)eds.GetDataInterface(ElectronicDocumentServiceDataInterfaces.ecsEDFEntryInputParams); entryIP.Code = ElectronicDocProtocolCodeStrEnum.edpcs_FPA; entryIP.GUID = docGuid; EDFEntry entry = eds.GetEntry(entryIP); ListEntryLogs(eds, entry); EDFEntryAddLogInputParams logIP = CreateLog (eds, entry, ElectronicDocumentEntryLogTypeEnum.edeltAuthorityProcessBegins, ElectronicDocumentAuthorityProcessEnum.edapApproval, ""Approval process started""); eds.AddLog (logIP); } public void ListEntryLogs(ElectronicDocumentService eds, EDFEntry entry) { var logIP = (EDFEntryLogInputParams)eds.GetDataInterface(ElectronicDocumentServiceDataInterfaces.ecsEDFEntryLogInputParams); logIP.Code = entry.Code; logIP.GUID = entry.GUID; logIP.LogType = ElectronicDocumentEntryLogTypeEnum.edeltNone; EDFEntryLogsCollection logs = null; try { logs = eds.GetLogs(logIP); if (logs.Count == 0) Console.WriteLine(""Entry has no logs""); else { Console.WriteLine(""Listing logs:""); foreach (EDFEntryLog log in logs) { Console.WriteLine(string.Format(""Number = {0}, Type = {1}, Message = '{2}', Authority Process = {3}"", log.LogNumber, log.LogType, log.LogMessage, log.AuthorityProcess)); } } } catch (Exception) { Console.WriteLine(string.Format(""Error while listing logs! Code = {0}, Message = '{1}', Context = '{2}'"", oCompany.GetLastErrorCode(), oCompany.GetLastErrorDescription(), oCompany.GetLastErrorContext())); } if (logs != null) Marshal.ReleaseComObject(logs); if (logIP != null) Marshal.ReleaseComObject(logIP); } public EDFEntryAddLogInputParams CreateLog (ElectronicDocumentService eds, EDFEntry entry, ElectronicDocumentEntryLogTypeEnum type, ElectronicDocumentAuthorityProcessEnum process, string message) { var logIP = (EDFEntryAddLogInputParams)eds.GetDataInterface (ElectronicDocumentServiceDataInterfaces.ecsEDFEntryAddLogInputParams); logIP.Code = entry.Code; logIP.GUID = entry.GUID; logIP.LogType = type; logIP.AuthorityProcess = process; logIP.LogMessage = message; return logIP; } |
|