public async Task <NodeEntry> UpdateConcept([FromRoute] NodeUpdate nodeBody, [FromQuery] IncludeFieldsQueryParams queryParams) { var conceptEntryBeforeUpdate = await _alfrescoHttpClient.GetNodeInfo(nodeBody?.NodeId); var conceptEntryAfterUpdate = await _nodesService.Update(nodeBody, ImmutableList <Parameter> .Empty.AddQueryParams(queryParams)); var documentId = conceptEntryBeforeUpdate?.Entry?.Id; var documentPid = conceptEntryAfterUpdate?.GetPid(); var difference = _alfrescoModelComparer.CompareProperties( conceptEntryBeforeUpdate?.Entry?.Properties?.As <JObject>().ToDictionary(), conceptEntryAfterUpdate?.Entry?.Properties?.As <JObject>().ToDictionary()); try { var componentsJson = difference.FirstOrDefault(x => x.Key == SpisumNames.Properties.ComponentVersionJSON); if (componentsJson != null) { difference.Remove(componentsJson); } } catch { } string messageDocument = TransactinoHistoryMessages.GetMessagePropertiesChange(TransactinoHistoryMessages.ConceptUpdate, difference); try { await _auditLogService.Record( documentId, SpisumNames.NodeTypes.Concept, documentPid, NodeTypeCodes.Dokument, EventCodes.Uprava, conceptEntryBeforeUpdate?.Entry?.Properties?.As <JObject>().ToDictionary(), conceptEntryAfterUpdate?.Entry?.Properties?.As <JObject>().ToDictionary(), messageDocument); } catch (Exception ex) { Log.Logger?.Error(ex, "Audit log failed"); } return(conceptEntryAfterUpdate); }
public async Task <NodeEntry> UpdateFile([FromRoute] NodeUpdate nodeBody, [FromQuery] IncludeFieldsQueryParams queryParams) { return(await _fileService.Update(nodeBody, ImmutableList <Parameter> .Empty.AddQueryParams(queryParams))); }
public async Task <NodeEntry> Create([FromBody] NodeUpdateBody nodeBody, [FromQuery] IncludeFieldsQueryParams queryParams) { var concept = await _documentService.Create(SpisumNames.NodeTypes.Concept, SpisumNames.Paths.EvidenceConcepts(_identityUser.RequestGroup), CodeLists.DocumentTypes.Digital); return(await _nodesService.Update(new NodeUpdate { Body = nodeBody, NodeId = concept.Entry.Id }, ImmutableList <Parameter> .Empty.AddQueryParams(queryParams))); }