Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public async Task <NodeEntry> UpdateFile([FromRoute] NodeUpdate nodeBody, [FromQuery] IncludeFieldsQueryParams queryParams)
 {
     return(await _fileService.Update(nodeBody, ImmutableList <Parameter> .Empty.AddQueryParams(queryParams)));
 }
Esempio n. 3
0
        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)));
        }