Exemplo n.º 1
0
        public async Task <dynamic> getclaimId(EntitiDetails entitiDetails)
        {
            try
            {
                var url    = "http://uapcippm01:8080/SpringwithMongo-ZTAServices/ccv/" + entitiDetails.DbInstance.Trim().ToUpper() + "/" + entitiDetails.Buildversion.Trim().ToUpper() + "/" + entitiDetails.Buildwar.Trim().ToUpper();
                var client = new HttpClient();
                client.BaseAddress = new Uri("http://uapcippm01:8080");
                HttpResponseMessage response = client.GetAsync(url).Result;
                response.EnsureSuccessStatusCode();
                var result = await response.Content.ReadAsStringAsync();

                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        private async Task <DialogTurnResult> ActStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            // Call LUIS and gather any potential action details. (Note the TurnContext has the response to the prompt.)
            var entitiDetails = stepContext.Result != null
                      ?
                                await LuisHelper.ExecuteLuisQuery(Configuration, Logger, stepContext.Context, cancellationToken)
                      :
                                new EntitiDetails();

            var  eDetails = (EntitiDetails)entitiDetails;
            bool isNum    = int.TryParse(stepContext.Result.ToString().Trim(), out int num);

            if (strRole.ToUpper().Equals("ADMIN"))
            {
                if (isNum)
                {
                    if (num > 5)
                    {
                        isContinue = true;
                        stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                        return(await IntroStepAsync(stepContext, cancellationToken));
                    }
                    if (stepContext.Result.ToString() == "1")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Trigger_Service";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "2")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Build_Deployment";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "3")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score   = 0.9;
                        eDtls.Intent  = "Trigger_Service";
                        eDtls.Project = "ProductionHealthCheck";
                        eDetails      = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "4")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "UsefulLinks";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "5")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score   = 0.9;
                        eDtls.Intent  = "Trigger_Service";
                        eDtls.Project = "ClientProfile";
                        eDtls.Tag     = "AutoDerivation";
                        eDetails      = eDtls;
                    }
                }
                //else if (eDetails.Intent == "Acronym" && (string.IsNullOrEmpty(eDetails.Acronym) && eDetails.Score < 0.7))
                //{
                //    isContinue = true;
                //    stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                //    return await IntroStepAsync(stepContext, cancellationToken);
                //}
            }
            else if (strRole.ToUpper().Equals("CP-ADMIN"))
            {
                if (isNum)
                {
                    if (num > 4)
                    {
                        isContinue = true;
                        stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                        return(await IntroStepAsync(stepContext, cancellationToken));
                    }
                    if (stepContext.Result.ToString() == "1")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Trigger_Service";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "2")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Build_Deployment";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "3")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score   = 0.9;
                        eDtls.Intent  = "Trigger_Service";
                        eDtls.Project = "ProductionHealthCheck";
                        eDetails      = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "4")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "UsefulLinks";
                        eDetails     = eDtls;
                    }
                }
                else if (eDetails.Intent == "Acronym" && (string.IsNullOrEmpty(eDetails.Acronym) && eDetails.Score < 0.7))
                {
                    isContinue = true;
                    stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                    return(await IntroStepAsync(stepContext, cancellationToken));
                }
                else if (eDetails.Intent == "Build_Deployment")
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Sorry. You dont have access to Build deployments. Please contact administrator."), cancellationToken);

                    return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
                }
            }
            else if (strRole.ToUpper().Equals("USER"))
            {
                if (isNum)
                {
                    if (num > 3)
                    {
                        isContinue = true;
                        stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                        return(await IntroStepAsync(stepContext, cancellationToken));
                    }
                    if (stepContext.Result.ToString() == "1")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Trigger_Service";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "2")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score   = 0.9;
                        eDtls.Intent  = "Trigger_Service";
                        eDtls.Project = "ProductionHealthCheck";
                        eDetails      = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "3")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "UsefulLinks";
                        eDetails     = eDtls;
                    }
                }
                else if (eDetails.Intent == "Acronym" && (string.IsNullOrEmpty(eDetails.Acronym) && eDetails.Score < 0.7))
                {
                    isContinue = true;
                    stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                    return(await IntroStepAsync(stepContext, cancellationToken));
                }
                else if (eDetails.Intent == "Build_Deployment")
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Sorry. You dont have access to Build deployments. Please contact administrator."), cancellationToken);

                    return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
                }
            }
            else if (strRole.ToUpper().Equals("DEVOPS"))
            {
                if (isNum)
                {
                    if (num > 2)
                    {
                        isContinue = true;
                        stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                        return(await IntroStepAsync(stepContext, cancellationToken));
                    }
                    if (stepContext.Result.ToString() == "1")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "Build_Deployment";
                        eDetails     = eDtls;
                    }
                    else if (stepContext.Result.ToString() == "2")
                    {
                        EntitiDetails eDtls = new EntitiDetails();
                        eDtls.Score  = 0.9;
                        eDtls.Intent = "UsefulLinks";
                        eDetails     = eDtls;
                    }
                }
                else if (eDetails.Intent == "Acronym" && (string.IsNullOrEmpty(eDetails.Acronym) && eDetails.Score < 0.7))
                {
                    isContinue = true;
                    stepContext.ActiveDialog.State["stepIndex"] = (int)stepContext.ActiveDialog.State["stepIndex"] - 1;
                    return(await IntroStepAsync(stepContext, cancellationToken));
                }
                else if (eDetails.Intent == "Trigger_Service")
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Sorry. You dont have access to Test Execution. Please contact administrator."), cancellationToken);

                    return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
                }
            }
            if (eDetails.Intent == "Trigger_Service")
            {
                if (!string.IsNullOrEmpty(entitiDetails.Project) && entitiDetails.Project == "AutoDerivation")
                {
                    entitiDetails.Project = "ClientProfile";
                    entitiDetails.Tag     = "AutoDerivation";
                }
                strJenkinUrl = Configuration["JenkinsURL1"];
                if (Configuration["CheckJenkins"] == "true")
                {
                    strJenkinUrl = CheckJenkinsServer();
                }
                if (string.IsNullOrEmpty(strJenkinUrl) || Configuration["IsJenkinsDown"] == "true")
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text(Configuration["MaintainanceMessage"]), cancellationToken);

                    return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
                }
            }
            else if (eDetails.Intent == "UsefulLinks")
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Click on the link: [Useful Links](https://floraafeedback.z13.web.core.windows.net/CotivitiUsefulLink.html)"), cancellationToken);

                return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
            }
            if ((string.IsNullOrEmpty(eDetails.Intent) || eDetails.Score < 0.3))
            {
                var httpClient = _httpClientFactory.CreateClient();

                var qnaMaker = new QnAMaker(new QnAMakerEndpoint
                {
                    KnowledgeBaseId = Configuration["QnAKnowledgebaseId"],
                    EndpointKey     = Configuration["QnAEndpointKey"],
                    Host            = Configuration["QnAEndpointHostName"]
                },
                                            null,
                                            httpClient);
                EntitiDetails entitiDetails1 = new EntitiDetails();
                if (stepContext.Result.ToString().ToUpper().Trim() == "QUIT")
                {
                    entitiDetails1.Returnmsg = "returnQuit";
                    return(await stepContext.BeginDialogAsync(nameof(MainDialog), entitiDetails1, cancellationToken));
                }
                else
                {
                    entitiDetails1.Returnmsg = "return";
                }
                var response = await qnaMaker.GetAnswersAsync(stepContext.Context);

                if (response != null && response.Length > 0)
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text(response[0].Answer), cancellationToken);

                    await stepContext.EndDialogAsync(cancellationToken : cancellationToken);

                    return(await stepContext.BeginDialogAsync(nameof(MainDialog), entitiDetails1, cancellationToken));
                }
                else
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Sorry. I didn't get you. Please select appropriate action"), cancellationToken);

                    return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
                }
            }
            return(await stepContext.BeginDialogAsync(nameof(ActionDialog), eDetails, cancellationToken));
        }