Esempio n. 1
0
        // 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);
        }