Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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");
 }