internal void CompleteJob()
        {
            if (_integrationJobID == null)
            {
                return;
            }

            var request = new UpdateIntegrationJobRequest()
            {
                ID                 = (long)_integrationJobID,
                RecordsTotal       = _totalRecords,
                RecordsTotalUnique = _totalUniqueRecords,
                RecordsSuccessful  = _success,
                RecordsFailed      = _fail,
                Detail             = GlobalContext.GetEventLog(),
                //AttachmentData = new AttachmentData
                //{
                //    AttachmentContent = _fileContent,
                //    AttachmentName = GetFileName(file)
                //}
            };

            // update the job to show that it is complete
            _serviceFacade.UpdateIntegrationJob(request, true);
        }
Пример #2
0
        internal void UpdateIntegrationJob(UpdateIntegrationJobRequest request, bool updateJobStatus)
        {
            IntegrationJobStatus jobStatus = request.RecordsFailed > 0
                                                 ? IntegrationJobStatus.CompletedWithErrors
                                                 : IntegrationJobStatus.Completed;

            var gfs = new List <GenericField>
            {
                RightNowServiceBaseObjectBuilder.CreateGenericField("CountOfRowsInFile", DataTypeEnum.INTEGER, request.RecordsTotal),
                RightNowServiceBaseObjectBuilder.CreateGenericField("CountOfUniqueRowsInFile", DataTypeEnum.INTEGER, request.RecordsTotalUnique),
                RightNowServiceBaseObjectBuilder.CreateGenericField("CountOfSuccess", DataTypeEnum.INTEGER, request.RecordsSuccessful),
                RightNowServiceBaseObjectBuilder.CreateGenericField("CountOfFailure", DataTypeEnum.INTEGER, request.RecordsFailed)
            };

            if (updateJobStatus)
            {
                gfs.Add(RightNowServiceBaseObjectBuilder.CreateGenericField("JobStatus", DataTypeEnum.NAMED_ID, RightNowServiceBaseObjectBuilder.CreateNamedID((int)jobStatus)));
            }

            if (request.AttachmentData != null)
            {
                gfs.Add(RightNowServiceBaseObjectBuilder.CreateAttachmentText(request.AttachmentData));
            }

            if (!string.IsNullOrEmpty(request.Detail))
            {
                gfs.Add(RightNowServiceBaseObjectBuilder.CreateGenericField("Detail", DataTypeEnum.STRING, request.Detail));
            }

            var package = new RNObject[]
            {
                new GenericObject
                {
                    ObjectType = new RNObjectType
                    {
                        Namespace = "IJ",
                        TypeName  = "Job"
                    },
                    GenericFields = gfs.ToArray(),
                    ID            = new ID
                    {
                        id          = request.ID,
                        idSpecified = true
                    },
                }
            };

            GlobalContext.Log("Updating the Integration Job with results", true);
            _serviceWrapper.UpdateObjects(package);
        }
        internal void UpdateJob()
        {
            if (_integrationJobID == null)
            {
                return;
            }

            var request = new UpdateIntegrationJobRequest()
            {
                ID                 = (long)_integrationJobID,
                RecordsTotal       = _totalRecords,
                RecordsTotalUnique = _totalUniqueRecords,
                RecordsSuccessful  = _success,
                RecordsFailed      = _fail,
                Detail             = GlobalContext.GetEventLog(),
            };

            // update the job to show that it is complete
            _serviceFacade.UpdateIntegrationJob(request, false);
        }