public static async Task <HttpResponseMessage> EvalAssetStatus([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log) { dynamic BodyData = await req.Content.ReadAsAsync <object>(); UnifiedProcessStatus manifest = BodyData.ToObject <UnifiedProcessStatus>(); IActionsProvider myActions = ActionProviderFactory.GetActionProvider(SingleWaterMarkStorageAccInstanceController); //1. Update EvalPreprocessorNotifications int nNotification = await myActions.EvalPreprocessorNotifications(manifest.JobStatus.JobID); //2. Eval Asset Status var OriginalAssetStatus = manifest.AssetStatus.State; manifest.AssetStatus = myActions.EvalAssetStatus(manifest.AssetStatus.AssetId); if (OriginalAssetStatus != manifest.AssetStatus.State) { //3. Update Manifest/ all process await myActions.UpdateUnifiedProcessStatus(manifest); //4. Log and replay log.Info($"[{manifest.JobStatus.JobID}] Preprocessor Notifications processed {nNotification} / Updated AssetId {manifest.AssetStatus.AssetId} Status {manifest.AssetStatus.State.ToString()} / previus status {OriginalAssetStatus}"); } else { log.Info($"[{manifest.JobStatus.JobID}] Preprocessor Notifications processed {nNotification} / No Change AssetId {manifest.AssetStatus.AssetId} Status {OriginalAssetStatus}"); } return(req.CreateResponse(HttpStatusCode.OK, manifest, JsonMediaTypeFormatter.DefaultMediaType)); }
public static async Task <HttpResponseMessage> EvalAssetStatus([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestMessage req, TraceWriter log) { dynamic BodyData = await req.Content.ReadAsAsync <object>(); UnifiedProcessStatus manifest = BodyData.ToObject <UnifiedProcessStatus>(); IActionsProvider myActions = ActionProviderFactory.GetActionProvider(); //1. Update EvalPreprocessorNotifications int nNotification = await myActions.EvalPreprocessorNotifications(); log.Info($"Preprocessor Notifications processed {nNotification}"); //2. Eval Asset Status manifest.AssetStatus = myActions.EvalAssetStatus(manifest.AssetStatus.AssetId); //3. Update Manifest/ all process myActions.UpdateUnifiedProcessStatus(manifest); //4. Log and replay log.Info($"Updated Actions AssetId {manifest.AssetStatus.AssetId} staus {manifest.AssetStatus.ToString()}"); return(req.CreateResponse(HttpStatusCode.OK, manifest, JsonMediaTypeFormatter.DefaultMediaType)); }