Exemplo n.º 1
0
        public async Task <WorkflowInstance> SaveAsync(WorkflowInstance instance, CancellationToken cancellationToken)
        {
            string instanceId = instance.Id;

            WorkflowInstanceDocument existingInstance = await session
                                                        .Query <WorkflowInstanceDocument, WorkflowInstanceIndex>(x => x.WorkflowInstanceId == instanceId)
                                                        .FirstOrDefaultAsync();

            WorkflowInstanceDocument document = (existingInstance != null)
                ? mapper.Map(instance, existingInstance)
                : mapper.Map <WorkflowInstanceDocument>(instance);

            session.Save(document);
            await session.CommitAsync();

            return(mapper.Map <WorkflowInstance>(document));
        }
 private WorkflowInstance Map(WorkflowInstanceDocument source) => mapper.Map <WorkflowInstance>(source);