Ejemplo n.º 1
0
        private async Task contact_choice(IDialogContext context, IAwaitable <ContactOptions> contact_result)
        {
            var contactResponse = await contact_result;

            contactOption = contactResponse.ToString();

            /**
             * Set the details in the method create incident calling method of SnowClass
             **/
            if (server_desc != null)
            {
                detail_description = description + server_desc;
                short_description  = description;

                incidentTokenNumber = Logger.CreateServiceNow(detail_description, short_description, contactOption, category_choice);

                await context.PostAsync("An incident ticket is being raised for you\n\n following is the raised token number " + incidentTokenNumber);

                await context.PostAsync("Please take a note of this number as it is required for any future references");

                //await ticketStatusDialogAsync(incidentTokenNumber, context);
            }

            else if (database_desc != null)
            {
                detail_description = description + database_desc;
                short_description  = description;

                incidentTokenNumber = Logger.CreateServiceNow(detail_description, short_description, contactOption, category_choice);

                await context.PostAsync("An incident ticket is being raised for you\n\n following is the raised token number " + incidentTokenNumber);

                await context.PostAsync("Please take a note of this number as it is required for any future references");

                //await ticketStatusDialogAsync(incidentTokenNumber, context);
            }

            else if (middleware_desc != null)
            {
                detail_description = description + middleware_desc;
                short_description  = description;

                incidentTokenNumber = Logger.CreateServiceNow(detail_description, short_description, contactOption, category_choice);

                await context.PostAsync("An incident ticket is being raised for you\n\n following is the raised token number " + incidentTokenNumber);

                await context.PostAsync("Please take a note of this number as it is required for any future references");

                //await ticketStatusDialogAsync(incidentTokenNumber, context);
            }

            else
            {
                detail_description = description;
                short_description  = description;

                incidentTokenNumber = Logger.CreateServiceNow(detail_description, short_description, contactOption, category_choice);

                await context.PostAsync("An incident ticket is being raised for you\n\n following is the raised token number " + incidentTokenNumber);

                await context.PostAsync("Please take a note of this number as it is required for any future references");

                //await ticketStatusDialogAsync(incidentTokenNumber, context);
            }

            string incidentStatusDetail = Logger.RetrieveIncidentServiceNow(incidentTokenNumber);

            if (incidentStatusDetail == "1")
            {
                var    status     = "Your ticket is created and is under review of your team.";
                string Noteresult = Logger.RetrieveIncidentWorkNotes(incidentTokenNumber);

                var replyMessage = context.MakeMessage();

                Attachment attachment = HeroCardDetails.GetReplyMessage(Noteresult, incidentTokenNumber, status);

                replyMessage.Attachments = new List <Attachment> {
                    attachment
                };
                await context.PostAsync(replyMessage);
            }

            context.Done(this);
        }
Ejemplo n.º 2
0
        private async Task DisplayTicketStatus(IDialogContext context, IAwaitable <string> result)
        {
            var incidentTokenNumber = await result;

            string statusDetail = Logger.RetrieveIncidentServiceNow(incidentTokenNumber);

            string statusDetails = Logger.RetrieveIncidentServiceNow(incidentTokenNumber);

            /**
             * The if- else- if condition to match the state of the incident token returned by the RetrieveIncidentSerivceNow method
             */

            if (statusDetails == "1")
            {
                var    status      = "Your token is created and is under review by our team.";
                string Notesresult = Logger.RetrieveIncidentWorkNotes(incidentTokenNumber);

                var        replyMessage = context.MakeMessage();
                Attachment attachment   = HeroCardDetails.GetReplyMessage(Notesresult, incidentTokenNumber, status);
                replyMessage.Attachments = new List <Attachment> {
                    attachment
                };
                await context.PostAsync(replyMessage);
            }

            else if (statusDetails == "2")
            {
                var    status      = "Your ticket is in progress.";
                string Notesresult = Logger.RetrieveIncidentWorkNotes(incidentTokenNumber);

                var        replyMessage = context.MakeMessage();
                Attachment attachment   = HeroCardDetails.GetReplyMessage(Notesresult, incidentTokenNumber, status);
                replyMessage.Attachments = new List <Attachment> {
                    attachment
                };
                await context.PostAsync(replyMessage);
            }

            else if (statusDetails == "3")
            {
                await context.PostAsync("Your ticket is been kept on hold.");
            }

            else if (statusDetails == "6")
            {
                var status = "Your ticket is resolved.";

                /**
                 * Retrieves the details from the resolve columns of SnowLogger class if the incident token is being resolved
                 **/

                string     resolveDetails = Logger.RetrieveIncidentResolveDetails(incidentTokenNumber);
                var        replyMessage   = context.MakeMessage();
                Attachment attachment     = HeroCardDetails.GetReplyMessage(resolveDetails, incidentTokenNumber, status);
                replyMessage.Attachments = new List <Attachment> {
                    attachment
                };
                await context.PostAsync(replyMessage);
            }


            else if (statusDetails == "7")
            {
                var status = "Your ticket has been closed by our team";

                /**
                 * Retrieves the close_code from the SnowLogger class if the incident token is being closed
                 **/

                string     resolveDetails = Logger.RetrieveIncidentCloseDetails(incidentTokenNumber);
                var        replyMessage   = context.MakeMessage();
                Attachment attachment     = HeroCardDetails.GetReplyMessage(resolveDetails, incidentTokenNumber, status);
                replyMessage.Attachments = new List <Attachment> {
                    attachment
                };
                //await context.PostAsync("Reasons for closing the ticket: " + resolveDetails);
                await context.PostAsync(replyMessage);
            }

            else
            {
                await context.PostAsync("Our team cancelled your ticket");
            }
        }