// ReSharper disable once InconsistentNaming public Job TransformReadOnlyJob(DeviceId deviceId, Job job) { var refJob = _persistenceProvider.FindJobById(job.ReferenceId)?.Job; if (refJob == null) { return(null); } refJob.Status = JobStatus.Done; _persistenceProvider.UpdateJobStatus(refJob.Id, JobStatus.Done); //Generate new Job with new GUID, no RefID, for Persistence var newJob = new Job { Id = Guid.NewGuid(), Name = "WzBruchMeldenRO", Type = "Job", ReferenceId = Guid.Empty, Status = JobStatus.InProgress, CreatedAt = job.CreatedAt, CreatedBy = job.CreatedBy, AssignedTo = job.CreatedBy, Immediate = false, Priority = job.Priority, Resource = job.Resource, }; newJob.Resource.Add("list_title", "Werkzeugbruch"); newJob.Resource.Add("list_text", $"Art-Nr.: {GetFromRes(newJob.Resource, "text")} - Maschine: {GetFromRes(newJob.Resource, "subject")}"); _persistenceProvider.AddJob(deviceId, newJob); _fcmMessageHandler.SendGetDataWithoutNotification(deviceId); //Set new JobGUID to RUleEngine-Job and send it. job.Id = newJob.Id; job.ReferenceId = Guid.Empty; return(job); }