private static async Task BlockItems(InventoryInputDetails itemcount, Activity replyActivity) { var addItems = await DocumentDBRepository <Product> .GetItemsAsync(d => d.PrdouctId == Convert.ToInt32(itemcount.ProductId)); if (addItems.Count() > 0) { try { var list = addItems.FirstOrDefault(); foreach (var loc in list.locationList) { if (itemcount.Location.ToLower() == loc.Location.ToLower()) { loc.Committed = Convert.ToInt32(loc.Committed) + Convert.ToInt32(itemcount.newItemCount); if (loc.Quantity - loc.Committed > 0) { var itemsList = await DocumentDBRepository <Product> .UpdateItemAsync(list.Id, list); var replyCard = O365CardHelper.GetAdativeCard(addItems.FirstOrDefault(), itemcount.ActionId); replyActivity.Attachments.Add(replyCard); } else { replyActivity.Text = "Items are not availbile"; } } } } catch (Exception e) { replyActivity.Text = e.Message.ToString(); } } }
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> argument) { var message = await argument; if (message.Text != null && message.Text.Contains("Show Passenger")) { // Show Passenger var PNRToSearch = System.Text.RegularExpressions.Regex.Match(message.Text, @"\(([^)]*)\)").Groups[1].Value; var passengers = await DocumentDBRepository <Passenger> .GetItemsAsync(d => d.PNR == PNRToSearch); var reply = context.MakeMessage(); if (passengers.Count() == 0) { reply.Text = $"Passenger with PNR {PNRToSearch} not found in system."; } else { var replyCard = O365CardHelper.GetO365ConnectorCard(passengers.FirstOrDefault()); reply.Attachments.Add(replyCard.ToAttachment()); } await context.PostAsync((reply)); } else { var reply = context.MakeMessage(); reply.Attachments.Add(GetFilter()); await context.PostAsync((reply)); context.Wait(MessageReceivedAsync); } }
private async Task HandleMessage(IDialogContext context, IMessageActivity message) { if (message.Text != null && message.Text.Contains("Show aircraft by Id")) { //var reply = context.MakeMessage(); var reply = (Activity)message; Activity replyActivity = reply.CreateReply(); var actionId = Guid.NewGuid().ToString(); var flightnumber = System.Text.RegularExpressions.Regex.Match(message.Text, @"\(([^)]*)\)").Groups[1].Value; var list = await DocumentDBRepository <AirCraftInfo> .GetItemsAsync(d => d.AircraftId == flightnumber); var aircraftInfoCard = O365CardHelper.GetO365ConnectorCardResult(list.FirstOrDefault(), actionId); replyActivity.Attachments.Add(aircraftInfoCard.ToAttachment()); ConnectorClient connector = new ConnectorClient(new Uri(message.ServiceUrl)); var msgToUpdate = await connector.Conversations.ReplyToActivityAsync(replyActivity); context.ConversationData.SetValue(actionId, msgToUpdate.Id); privateStorage.Add(actionId, msgToUpdate.Id); //await context.PostAsync((replyActivity)); } else { var messageText = message.Text.ToLower(); var reply = context.MakeMessage(); reply.Attachments.Add(GetCardsInformation()); await context.PostAsync((reply)); context.Wait(MessageReceivedAsync); } }
private async Task HandleMessage(IDialogContext context, IMessageActivity message) { if (message.Text != null && message.Text.Contains("Show Baggage by Name")) { var reply = context.MakeMessage(); var PNRToSearch = System.Text.RegularExpressions.Regex.Match(message.Text, @"\(([^)]*)\)").Groups[1].Value; var list = await DocumentDBRepository <Baggage> .GetItemsAsync(d => d.PNR.ToLower() == PNRToSearch.ToLower()); var BaggagebyPNR = O365CardHelper.GetO365ConnectorCard(list.FirstOrDefault()); reply.Attachments.Add(BaggagebyPNR.ToAttachment()); await context.PostAsync((reply)); } else { var messageText = message.Text.ToLower(); var reply = context.MakeMessage(); reply.Attachments.Add(GetCardsInformation()); await context.PostAsync((reply)); context.Wait(MessageReceivedAsync); } context.ConversationData.RemoveValue(LastMessageIdKey); }
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> argument) { var message = await argument; if (message.Text != null && message.Text.Contains("Show details of flight")) { var reply = context.MakeMessage(); var flightnumber = System.Text.RegularExpressions.Regex.Match(message.Text, @"\(([^)]*)\)").Groups[1].Value; var list = await DocumentDBRepository <FlightInfo> .GetItemsAsync(d => d.FlightNumber == flightnumber); var flightresultCard = O365CardHelper.GetO365ConnectorCardResult(list.FirstOrDefault()); reply.Attachments.Add(flightresultCard.ToAttachment()); await context.PostAsync((reply)); } else { var messageText = message.Text.ToLower(); var reply = context.MakeMessage(); List <Cities> lst = new List <Cities>(); Cities obj = new Cities(); obj.CityName = "Seattle"; obj.CityCode = "SEA"; lst.Add(obj); Cities obj1 = new Cities(); obj1.CityName = "Newark"; obj1.CityCode = "EWR"; lst.Add(obj1); Cities obj3 = new Cities(); obj3.CityCode = "BWI"; obj3.CityName = "Washington, DC"; lst.Add(obj3); Cities obj4 = new Cities(); obj4.CityCode = "BSZ"; obj4.CityName = "Boston, MA"; lst.Add(obj4); Cities obj5 = new Cities(); obj5.CityCode = "JFK"; obj5.CityName = "New York"; lst.Add(obj5); Cities obj6 = new Cities(); obj6.CityCode = "ORD"; obj6.CityName = "Chicago"; lst.Add(obj6); var citieslist = lst; reply.Attachments.Add(GetCardsInformation(citieslist)); await context.PostAsync((reply)); context.Wait(MessageReceivedAsync); } }
private static async Task AddListCardAttachment(Activity replyActivity, System.Collections.Generic.IEnumerable <Baggage> baggages) { var card = O365CardHelper.GetListCardAttachment(baggages); try { replyActivity.Attachments.Add(card); } catch (Exception ex) { Console.WriteLine(ex); } }
private static async Task AddListCardAttachment(Activity replyActivity, System.Collections.Generic.IEnumerable <FlightInfo> flightinfo, DateTime Journetdate) { var card = O365CardHelper.GetListofFlights(flightinfo, Journetdate); try { replyActivity.Attachments.Add(card); } catch (Exception ex) { Console.WriteLine(ex); } }
private static void AddPassengersInReply(Activity replyActivity, System.Collections.Generic.IEnumerable <Passenger> passengers, string title) { var card = O365CardHelper.GetListCardAttachment(passengers, title + $" - {passengers.Count()}"); try { replyActivity.Attachments.Add(card); } catch (Exception ex) { Console.WriteLine(ex); } }
private static async Task AddListCardAttachment(Activity replyActivity, System.Collections.Generic.IEnumerable <AirCraftInfo> aircraftDetails) { var card = O365CardHelper.GetListofFlights(aircraftDetails); try { replyActivity.Attachments.Add(card); } catch (Exception ex) { Console.WriteLine(ex); } }
private static async Task AttachPassengerOnSpecifiedSeat(string seatNo, Activity replyActivity) { var passengers = await DocumentDBRepository <Passenger> .GetItemsAsync(d => d.Seat == seatNo); if (passengers.Count() == 0) { replyActivity.Text = $"Passenger with seat number {seatNo} does not exist."; } else { var replyCard = O365CardHelper.GetO365ConnectorCard(passengers.FirstOrDefault()); replyActivity.Attachments.Add(replyCard.ToAttachment()); } }
private static async Task AttachBaggagebyPNR(string PNR, Activity replyActivity) { var list = await DocumentDBRepository <Baggage> .GetItemsAsync(d => d.PNR.ToLower() == PNR.ToLower()); if (list.Count() == 0) { replyActivity.Text = "The passenger with PNR " + PNR + " does not have any checked baggage."; } else { var BaggagebyPNR = O365CardHelper.GetO365ConnectorCard(list.FirstOrDefault()); replyActivity.Attachments.Add(BaggagebyPNR.ToAttachment()); } }
private static async Task AttachBaggageInformation(string PNR, Activity replyActivity) { var list = await DocumentDBRepository <Baggage> .GetItemsAsync(d => d.PNR == PNR); if (list.Count() == 0) { replyActivity.Text = "Baggage with PNR " + PNR + " not found in the system."; } else { var replyCard = O365CardHelper.GetO365ConnectorCardResult(list.FirstOrDefault()); replyActivity.Attachments.Add(replyCard.ToAttachment()); } }
private static async Task AttachBaggageInformationTicket(string Ticket, Activity replyActivity) { var list = await DocumentDBRepository <Baggage> .GetItemsAsync(d => d.TicketNo.ToLower() == Ticket.ToLower()); if (list.Count() == 0) { replyActivity.Text = "The passenger with ticket " + Ticket + " does not have any checked baggage."; } else { var replyCard = O365CardHelper.GetO365ConnectorCard(list.FirstOrDefault()); replyActivity.Attachments.Add(replyCard.ToAttachment()); } }
private static async Task AttachBaggageInformationName(string Name, Activity replyActivity) { var actionId = Guid.NewGuid().ToString(); var list = await DocumentDBRepository <Baggage> .GetItemsAsync(d => d.Name.ToLower().Contains(Name.ToLower())); int count = list.Count(); if (list.Count() > 1) { var ListCard = AddListCardAttachment(replyActivity, list); } else if (list.Count() == 1) { var replyCard = O365CardHelper.GetO365ConnectorCard(list.FirstOrDefault()); replyActivity.Attachments.Add(replyCard.ToAttachment()); } else { replyActivity.Text = $"Passenger with Name {Name} does not exists."; } }
public async static Task <ComposeExtensionResponse> HandleMessageExtensionQuery(Activity activity) { var query = activity.GetComposeExtensionQueryData(); if (query == null || query.CommandId != "search") { // We only process the 'getRandomText' queries with this message extension return(null); } var title = ""; var titleParam = query.Parameters?.FirstOrDefault(p => p.Name == "searchText"); if (titleParam != null) { title = titleParam.Value.ToString().ToLower(); } var attachments = new List <ComposeExtensionAttachment>(); var passengers = await DocumentDBRepository <Passenger> .GetItemsAsync(d => d != null && (d.Name.ToLower().Contains(title) || d.Seat.ToLower().Contains(title))); foreach (var passenger in passengers) { var card = O365CardHelper.GetO365ConnectorCard(passenger); var preview = O365CardHelper.GetPreviewCard(passenger); attachments.Add(card .ToAttachment() .ToComposeExtensionAttachment(preview.ToAttachment())); } var response = new ComposeExtensionResponse(new ComposeExtensionResult("list", "result")); response.ComposeExtension.Attachments = attachments.ToList(); return(response); }
private static async Task MarkFreeAirCraft(AirCraftDetails aircardInfo, Activity replyActivity) { var aircraftInfo = await DocumentDBRepository <AirCraftInfo> .GetItemsAsync(d => d.FlightNumber == aircardInfo.FlightNumber && d.AircraftId == aircardInfo.AircraftId); if (aircraftInfo.Count() > 0) { try { var list = aircraftInfo.FirstOrDefault(); list.Status = Status.Available; var aircraftDetails = await DocumentDBRepository <AirCraftInfo> .UpdateItemAsync(list.Id, list); var replyCard = O365CardHelper.GetO365ConnectorCardResult(aircraftInfo.FirstOrDefault(), aircardInfo.ActionId); replyActivity.Attachments.Add(replyCard.ToAttachment()); //replyActivity.Text = $"Aircraft {aircardInfo.AircraftId} is available"; } catch (Exception e) { replyActivity.Text = e.Message.ToString(); } } }
private async Task HandleMessage(IDialogContext context, IMessageActivity message) { if (message.Text != null && message.Text.Contains("Show details of product")) { var reply = (Activity)message; Activity replyActivity = reply.CreateReply(); var actionId = Guid.NewGuid().ToString(); var productid = System.Text.RegularExpressions.Regex.Match(message.Text, @"\(([^)]*)\)").Groups[1].Value; var list = await DocumentDBRepository <Product> .GetItemsAsync(d => d.PrdouctId == Convert.ToInt32(productid)); var productResultCard = O365CardHelper.GetAdativeCard(list.FirstOrDefault(), actionId); replyActivity.Attachments.Add(productResultCard); try { ConnectorClient connector = new ConnectorClient(new Uri(message.ServiceUrl)); var msgToUpdate = await connector.Conversations.ReplyToActivityAsync(replyActivity); context.ConversationData.SetValue(actionId, msgToUpdate.Id); privateStorage.Add(actionId, msgToUpdate.Id); } catch (Exception e) { await context.PostAsync((replyActivity)); } } else if (message.Value != null) { var activity = (Activity)message; InventoryInputDetails itemCount = Newtonsoft.Json.JsonConvert.DeserializeObject <InventoryInputDetails>(activity.Value.ToString()); var connector = new ConnectorClient(new Uri(activity.ServiceUrl)); Activity replyActivity = activity.CreateReply(); switch (itemCount.Type) { case Constants.newInventoryCount: await AddItems(itemCount, replyActivity); break; case Constants.BlockInventory: await BlockItems(itemCount, replyActivity); break; case Constants.RetireInventory: await RetireItems(itemCount, replyActivity); break; case Constants.RequestNewStock: await AttachNewStock(replyActivity); await connector.Conversations.ReplyToActivityAsync(replyActivity); break; default: break; } if (itemCount.Type != Constants.RequestNewStock) { var lastMessageId = context.ConversationData.GetValueOrDefault <string>(itemCount.ActionId); if (lastMessageId == null && privateStorage.ContainsKey(itemCount.ActionId)) { lastMessageId = privateStorage[itemCount.ActionId]; } if (!string.IsNullOrEmpty(lastMessageId)) { // Update existing item. await connector.Conversations.UpdateActivityAsync(replyActivity.Conversation.Id, lastMessageId, replyActivity); context.ConversationData.RemoveValue(itemCount.ActionId); } else { await connector.Conversations.SendToConversationAsync(replyActivity); } } } else { var messageText = message.Text.ToLower(); var reply = context.MakeMessage(); List <Industry> lst = new List <Industry>(); Industry obj = new Industry(); obj.IndsutryCode = "air"; obj.IndustryName = "Airlines"; lst.Add(obj); Industry obj1 = new Industry(); obj1.IndsutryCode = "ret"; obj1.IndustryName = "Retail"; lst.Add(obj1); Industry obj2 = new Industry(); obj2.IndsutryCode = "mft"; obj2.IndustryName = "Manufacturing"; lst.Add(obj2); var industryNames = lst; reply.Attachments.Add(GetCardsInformation(industryNames)); await context.PostAsync((reply)); context.Wait(MessageReceivedAsync); } }