Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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)
            {
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }