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); }
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"); } }