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

            try
            {
                EnbebedCode myCode                  = BodyData.EnbebedCode.ToObject <EnbebedCode>();
                string      ParentAssetID           = BodyData.ParentAssetID;
                List <WaterMarkedRender> RenderList = new List <WaterMarkedRender>();
                foreach (var info in myCode.MP4WatermarkedURL)
                {
                    WaterMarkedRender data = new WaterMarkedRender()
                    {
                        Details          = "Submited",
                        EmbebedCodeValue = myCode.EmbebedCode,
                        MP4URL           = info.WaterMarkedMp4,
                        RenderName       = info.FileName,
                        ParentAssetID    = ParentAssetID,
                        State            = ExecutionStatus.Running
                    };
                    RenderList.Add(data);
                }
                //Update all renders in a single call
                await myActions.UpdateWaterMarkedRender(RenderList);
            }
            catch (Exception X)
            {
                return(req.CreateResponse(HttpStatusCode.InternalServerError, new { Error = X.Message }, JsonMediaTypeFormatter.DefaultMediaType));
            }

            return(req.CreateResponse(HttpStatusCode.OK, new { Status = ExecutionStatus.Finished.ToString() }, JsonMediaTypeFormatter.DefaultMediaType));
        }
Beispiel #2
0
        private ManifestInfo GetManifestInfo(int skip, int take, ManifestInfo manifest)
        {
            ManifestInfo aggregateJobManifest = new ManifestInfo()
            {
                AssetID = manifest.AssetID,
                EmbedderNotificationQueue = manifest.EmbedderNotificationQueue,
                EnbebedCodes = new List <EnbebedCode>(),
                JobID        = manifest.JobID,
                PreprocessorNotificationQueue = manifest.PreprocessorNotificationQueue,
                VideoInformation = new List <VideoInformation>()
            };

            //Add aggregated video info nodes
            aggregateJobManifest.VideoInformation.AddRange(manifest.VideoInformation.Skip(skip).Take(take));
            foreach (var emc in manifest.EnbebedCodes)
            {
                EnbebedCode jobemc = new EnbebedCode()
                {
                    EmbebedCode       = emc.EmbebedCode,
                    MP4WatermarkedURL = new List <MP4WatermarkedURL>()
                };
                foreach (var vi in aggregateJobManifest.VideoInformation)
                {
                    MP4WatermarkedURL myMMP4WatermarkeInfo = emc.MP4WatermarkedURL.Where(x => x.FileName == vi.FileName).FirstOrDefault();
                    //add to the list
                    jobemc.MP4WatermarkedURL.Add(myMMP4WatermarkeInfo);
                }
                aggregateJobManifest.EnbebedCodes.Add(jobemc);
            }
            return(aggregateJobManifest);
        }
        public static async Task <HttpResponseMessage> UpdateWaterMarkCode([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log)
        {
            IActionsProvider myActions = ActionProviderFactory.GetActionProvider();
            dynamic          BodyData  = await req.Content.ReadAsAsync <object>();

            EnbebedCode myCode        = BodyData.EnbebedCode.ToObject <EnbebedCode>();
            string      ParentAssetID = BodyData.ParentAssetID;

            foreach (var info in myCode.MP4WatermarkedURL)
            {
                WaterMarkedRender data = new WaterMarkedRender()
                {
                    Details          = "Submited",
                    EmbebedCodeValue = myCode.EmbebedCode,
                    MP4URL           = info.WaterMarkedMp4,
                    RenderName       = info.FileName,
                    ParentAssetID    = ParentAssetID,
                    State            = ExecutionStatus.Running
                };
                myActions.UpdateWaterMarkedRender(data);
                var outputData = myActions.UpdateWaterMarkedRender(data);
            }
            return(req.CreateResponse(HttpStatusCode.OK, new { Status = ExecutionStatus.Finished.ToString() }, JsonMediaTypeFormatter.DefaultMediaType));
        }