private async Task <DialogTurnResult> InstroHospitalCaracteristicsFindingStep(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            DonneesExcel donneesExcel = new DonneesExcel();

            if (stepContext.Options != null)
            {
                //Enregistrement du Nom d'Hôpital Détecté
                hospitalName = "";
                var hospitalNameDetected = (String[])stepContext.Options;
                for (int i = 0; i < hospitalNameDetected.Length; i++)
                {
                    hospitalName += hospitalNameDetected[i];
                }
            }

            if (String.IsNullOrEmpty(hospitalName))
            {
                // Asking Hospital Name
                var promptOptions = new PromptOptions
                {
                    Prompt      = MessageFactory.Text("Veuillez entrer le nom de l'hôpital."),
                    RetryPrompt = MessageFactory.Text("Je suis désolé, mais le nom de l'hôpital entré n'est pas enregistré dans notre base de donnée. Veuillez s'il vous plaît entrer un nom valide."),
                };

                return(await stepContext.PromptAsync(DialogIds.HospitalPrompt, promptOptions, cancellationToken));
            }
            else if (!donneesExcel.ExistHopital(hospitalName))
            {
                // Asking Hospital Name.
                var promptOptions = new PromptOptions
                {
                    Prompt      = MessageFactory.Text($"L'Hôpital {hospitalName} n'existe pas dans notre base de donnée. Veuillez entrer un nom d'Hôpital valide"),
                    RetryPrompt = MessageFactory.Text("Je suis désolé, mais cet hôpital ou centre de santé n'est pas enregistré dans notre base de donnée. Veuillez s'il vous plaît entrer une localisation valide."),
                };
                return(await stepContext.PromptAsync(DialogIds.HospitalPrompt, promptOptions, cancellationToken));
            }

            return(await stepContext.NextAsync(hospitalName, cancellationToken));
        }
Beispiel #2
0
        private static Task <bool> VerificationHospital(PromptValidatorContext <string> promptContext, CancellationToken cancellationToken)
        {
            var donneesExcel = new DonneesExcel();

            return(Task.FromResult(promptContext.Recognized.Succeeded && donneesExcel.ExistHopital(promptContext.Recognized.Value)));
        }