public static async Task <List <string> > RunOrchestrator( [OrchestrationTrigger] DurableOrchestrationContext context) { ImportParametersContainer data = context.GetInput <ImportParametersContainer>(); var outputs = new List <string>(); foreach (var importParmeter in data.Importings) { outputs.Add(await context.CallActivityAsync <string>("Import_FetchFile", importParmeter)); } outputs.Add(await context.CallActivityAsync <string>("Import_SendNotification", data)); return(outputs); }
public static async Task <HttpResponseMessage> HttpStart( [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestMessage req, [OrchestrationClient] DurableOrchestrationClient starter, ClaimsPrincipal principal, ILogger log) { ImportRequestParameter requestParameter = new ImportRequestParameter(req); List <ImportParameters> result = await requestParameter.UploadFilesToStorageAccountAndGnerateParameters(); ImportParametersContainer parametersContainer = new ImportParametersContainer(result, ""); // Get Username string customInstanceID = ((ClaimsIdentity)principal.Identity).Claims.First().Value; // Set id to instance id parametersContainer.InstanceId = customInstanceID; string instanceId = await starter.StartNewAsync("Import", parametersContainer.InstanceId, parametersContainer); return(starter.CreateCheckStatusResponse(req, instanceId)); }
public static async Task <string> SendNotification([ActivityTrigger] ImportParametersContainer parameter, ILogger log) { log.LogInformation("Sending information to requester"); // Add Mail Logic here! return($"Mail to {parameter.NotifierMail} was send"); }