If(
IsBooking,
UpdateContext({ShowLoading: true});
If(
!BookForMeeting,
Office365.V2CalendarPostItem(
MyCalendar,
User().FullName & "'s Booking",
DateAdd(
StartDateTime,
-TimeZoneOffset(),
TimeUnit.Minutes
),
DateAdd(
EndDateTime,
-TimeZoneOffset(),
TimeUnit.Minutes
),
{
RequiredAttendees: RoomsGallery.Selected.Email,
Location: RoomsGallery.Selected.Name,
Importance: "Normal",
ShowAs: "Busy"
}
),
ClearCollect(
RequiredAttendeesNoRoom,
ForAll(
Split(
MeetingsGallery.Selected.RequiredAttendees,
";"
),
{Result: ThisRecord.Value}
)
);
ForAll(
AllRooms,
RemoveIf(
RequiredAttendeesNoRoom,
Address = Result
)
);
ClearCollect(
RequiredAttendeesNoRoom,
Concat(
RequiredAttendeesNoRoom,
Result & ";"
)
);
ClearCollect(
RequiredAttendeesNoRoom,
ForAll(
Split(
First(RequiredAttendeesNoRoom).Value,
";;"
),
{Result: ThisRecord.Value}
)
);
Set(
RequiredAttendeesFinal,
First(RequiredAttendeesNoRoom).Result
);
Set(
RequiredAttendeesTrue,
RoomsGallery.Selected.Email & ";" & RequiredAttendeesFinal
);
Office365.V2CalendarPatchItem(
MyCalendar,
MeetingsGallery.Selected.Id,
If(
MeetingsGallery.Selected.Subject = User().FullName & "'s Skype Meeting",
User().FullName & "'s Booking",
MeetingsGallery.Selected.Subject
),
StartDateTime,
EndDateTime,
{
RequiredAttendees: RequiredAttendeesTrue,
OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees,
Body: "Room has been updated to " & RoomsGallery.Selected.Name,
Location: RoomsGallery.Selected.Name,
Importance: "Normal",
ShowAs: "Busy"
}
)
);
UpdateContext({ShowLoading: false})
);
Set(
IsBooking,
false
)