public async Task NewBook(IDialogContext context, IAwaitable <IMessageActivity> message, LuisResult result) { var state = new BookMeetingRoomForm(); var entities = new List <EntityRecommendation>(result.Entities); if (entities.Count > 0) { FillEntityNewBookFromLuis(result, out state); entities = null; } var formDialog = new FormDialog <BookMeetingRoomForm>(state, BookMeetingRoomForm.BuildForm , FormOptions.PromptInStart, entities); context.Call(formDialog, Callback); }
public static void CreateEventOutlook(BookMeetingRoomForm data) { try { Application app = null; app = new Application(); AppointmentItem appt = app.CreateItem(OlItemType.olAppointmentItem) as AppointmentItem; appt.Subject = "Notice: book a meeting room"; appt.AllDayEvent = false; appt.Start = DateTime.Parse(data.StartDate.ToShortDateString() + " " + data.StartTime); //appt.End = DateTime.Parse(data.FinalDate.ToShortDateString() + " " + data.FinalTime); appt.Importance = OlImportance.olImportanceHigh; appt.Location = "Sala Pozuelo"; appt.Body = "Room type: " + data.TypeRoom.Value.ToString() + "Number of people: + " + data.Attendant.ToString(); appt.Display(false); } catch (System.Exception ex) { } }
private void FillEntityNewBookFromLuis(LuisResult result, out BookMeetingRoomForm entity) { var entities = new List <EntityRecommendation>(result.Entities); entity = new BookMeetingRoomForm(); foreach (var item in entities) { if (item.Type.Contains("builtin.datetimeV2.timerange")) { foreach (var vals in item.Resolution.Values) { entity.StartTime = (DateTime)((JArray)vals).First.SelectToken("start"); entity.EndTime = (DateTime)((JArray)vals).First.SelectToken("end"); } } if (item.Type.Contains("builtin.datetimeV2.date")) { foreach (var vals in item.Resolution.Values) { entity.StartDate = (DateTime)((JArray)vals).First.SelectToken("value"); } } if (item.Type.Contains("TypeRoom")) { entity.TypeRoom = TypeMeetingRoom.without_projector;// item.Entity.ToString(); } if (item.Type.Contains("Attendant") || item.Type.Contains("number")) { entity.Attendant = int.Parse(item.Entity); } } }