public static async Task <HttpResponseMessage> EvalEnbebedCodes([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log)
        {
            IActionsProvider myActions = ActionProviderFactory.GetActionProvider();
            dynamic          BodyData  = await req.Content.ReadAsAsync <object>();

            UnifiedProcessStatus manifest = BodyData.ToObject <UnifiedProcessStatus>();
            string ParentAssetID          = manifest.AssetStatus.AssetId;
            //1. Process Embbeded Notifications
            int nNotification = await myActions.EvalPEmbeddedNotifications();

            log.Info($"Embedded Notifications processed {nNotification}");
            //2. Eval Each Watermark Render status
            List <WaterMarkedAssetInfo> UpdatedInfo = new List <WaterMarkedAssetInfo>();

            foreach (var item in manifest.EmbebedCodesList)
            {
                UpdatedInfo.Add(myActions.EvalWaterMarkedAssetInfo(ParentAssetID, item.EmbebedCodeValue));
            }
            //Replace New WaterMarkAssetInfo
            manifest.EmbebedCodesList = UpdatedInfo;
            //
            myActions.UpdateUnifiedProcessStatus(manifest);

            return(req.CreateResponse(HttpStatusCode.OK, manifest, JsonMediaTypeFormatter.DefaultMediaType));
        }
Exemple #2
0
        public static async Task <HttpResponseMessage> EvalEnbebedCodes([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();
            IActionsProvider myActions = ActionProviderFactory.GetActionProvider();
            dynamic          BodyData  = await req.Content.ReadAsAsync <object>();

            UnifiedProcessStatus manifest = BodyData.ToObject <UnifiedProcessStatus>();
            string ParentAssetID          = manifest.AssetStatus.AssetId;

            try
            {
                //1. Process Embbeded Notifications (From share Queue)
                int nNotification = await myActions.EvalPEmbeddedNotifications(manifest.JobStatus.JobID);

                log.Info($"Embedded Notifications processed {nNotification}");
                //2. Eval Each Watermark Render status
                List <WaterMarkedAssetInfo> UpdatedInfo = new List <WaterMarkedAssetInfo>();
                foreach (var item in manifest.EmbebedCodesList)
                {
                    //2.1 EvalWatermarkeAssetInfo
                    var watermarkedRender = myActions.EvalWaterMarkedAssetInfo(ParentAssetID, item.EmbebedCodeValue);
                    UpdatedInfo.Add(watermarkedRender);
                    //log.Info($"{watermarkedRender.AssetID} status {watermarkedRender.State.ToString()}");
                }
                //Replace New WaterMarkAssetInfo
                manifest.EmbebedCodesList = UpdatedInfo;
                //
                myActions.UpdateUnifiedProcessStatus(manifest);
            }
            catch (Exception X)
            {
                log.Error($"[{manifest.JobStatus.JobID}] Error on EvalEnbebedCodes {X.Message}");
                return(req.CreateResponse(HttpStatusCode.InternalServerError, manifest, JsonMediaTypeFormatter.DefaultMediaType));
            }
            watch.Stop();
            log.Info($"[Time] Method EvalEnbebedCodes {watch.ElapsedMilliseconds} [ms]");
            return(req.CreateResponse(HttpStatusCode.OK, manifest, JsonMediaTypeFormatter.DefaultMediaType));
        }