Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
3.1 kB
2
Indexable
Never
async function bookMultipleRoom(args) {
    BigRoomBooking = true;

    var emails = args.srcElement.id.split("|")[1].split(';');

    var promises = [];
    emails.forEach(function (element) {
        promises.push(bookRoom({ srcElement: { id: 'bBookRoom|' + element } }));
    });

    await Promise.all(promises).then(() => {
        toastDisplay(
            "R\351servation effectu\351e !",
            "Votre demande de r\351servation a \351t\351 prise en compte avec succ\350s 😄 !",
            "success"
        );
        BigRoomBooking = false;
    });
}

function bookRoom(args) {

    waitPopupShow('R\351servation en cours...');

    var roomId = args.srcElement.id.split("|")[1];
    var dtpBookingDate = document.getElementById("dtpBookingDate").ej2_instances[0];
    var ddlBookingDuration = document.getElementById("ddlBookingDuration").ej2_instances[0];
    var ddlBookingStartTime = document.getElementById("ddlBookingStartTime").ej2_instances[0];
    var ddlBookingName = document.getElementById("ddlBookingName").ej2_instances[0];
    var startDate = dtpBookingDate.value.toISOString().substring(0, 11) + ddlBookingStartTime.text + ":00";
    var emailList = [];
    var selectedPeople = [];
    if (ddlBookingInvite.value != null) {
        selectedPeople = ddlBookingInvite.listData.filter(element => ddlBookingInvite.value.toString().indexOf(element.Id) != -1);
    }

    if (selectedPeople.length > 0) {
        selectedPeople.forEach(function (people) {
            emailList.push(people.UserPrincipalName);
        });
    }

    json = { RoomId: roomId, StartDate: startDate, DurationMinute: ddlBookingDuration.value, Subject: ddlBookingName.value, peopleEmail: emailList };

    var containerRooms = document.getElementById('containerRooms');
    containerRooms.innerHTML = "";

    //AJAX request
    $.ajax({
        type: "POST",
        url: "/services/meetingroomsbooking?handler=BookRoom",
        beforeSend: function (xhr) { xhr.setRequestHeader("MY-XSRF-TOKEN", $('input:hidden[name="__RequestVerificationToken"]').val()); },
        data: JSON.stringify(json),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {

            if (response.ResponseStatus.Response == 1) {
                if (!BigRoomBooking) {
                    toastDisplay(
                        "R\351servation effectu\351e !",
                        "Votre demande de r\351servation a \351t\351 prise en compte avec succ\350s 😄 !",
                        "success"
                    );
                }

                setTimeout(function () {
                    getMyBookings();
                    BookingOptionsChange();
                }, 3000);
            }
            else {
                alert(response);
            }

            waitPopupClose();
        },
        failure: function (response) {
            alert(response);
            waitPopupClose();
        }
    });
}