Example #1
0
        /// <summary>
        /// Process tagfile request
        /// </summary>
        protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item)
        {
            var request = item as CompactionTagFileRequest;

            var result = new ContractExecutionResult((int)TRexTagFileResultCode.TRexUnknownException, "TRex unknown result (TagFileExecutor.ProcessEx)");

            try
            {
                log.LogInformation($"#In# TagFileExecutor. Process tag file:{request.FileName}, Project:{request.ProjectUid}, TCCOrgID:{request.OrgId}, TreatAsJohnDoe = {request.TreatAsJohnDoe}");

                var submitRequest = new SubmitTAGFileRequest();

                var arg = new SubmitTAGFileRequestArgument
                {
                    ProjectID       = request.ProjectUid,
                    AssetID         = null, // not available via TagFileController APIs
                    TreatAsJohnDoe  = request.TreatAsJohnDoe,
                    TAGFileName     = request.FileName,
                    TagFileContent  = request.Data,
                    TCCOrgID        = request.OrgId,
                    SubmissionFlags = TAGFiles.Models.TAGFileSubmissionFlags.AddToArchive,
                    OriginSource    = request.OriginSource
                };

                var res = await submitRequest.ExecuteAsync(arg);

                if (res.Success)
                {
                    result = TagFileResult.Create(0, ContractExecutionResult.DefaultMessage);
                }
                else
                {
                    result = TagFileResult.Create(res.Code, res.Message);
                }
            }
            finally
            {
                if (request != null)
                {
                    log.LogInformation($"#Out# TagFileExecutor. Process tagfile:{request.FileName}, Project:{request.ProjectUid}, Submission Code: {result.Code}, Message:{result.Message}");
                }
                else
                {
                    log.LogInformation("#Out# TagFileExecutor. Invalid request");
                }
            }

            return(result);
        }
Example #2
0
        public static void SubmitSingleTAGFile(Guid projectID, Guid assetID, string fileName)
        {
            submitTAGFileRequest = submitTAGFileRequest ?? new SubmitTAGFileRequest();
            SubmitTAGFileRequestArgument arg;

            using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                byte[] bytes = new byte[fs.Length];
                fs.Read(bytes, 0, bytes.Length);

                arg = new SubmitTAGFileRequestArgument()
                {
                    ProjectID      = projectID,
                    AssetID        = assetID,
                    TagFileContent = bytes,
                    TAGFileName    = Path.GetFileName(fileName)
                };
            }

            Log.LogInformation($"Submitting TAG file #{++tAGFileCount}: {fileName}");

            submitTAGFileRequest.Execute(arg);
        }