const saveBtn = document.getElementById("save-button");
const tbody = document.getElementById("scrollable-table__tbody");
const currentDealId = document.getElementById("deal-data").dataset.id;

var contracts = [];
var dataArray = [];
var currentDeal = null;

window.addEventListener("load", async () => {
    try {
        await $.ajax({
            url: `/deal/getallcontracts`,
            type: "GET",
            contentType: "json"
        }).done((result) => {
            contracts = result;
            console.log(contracts);
            contracts.forEach((contract) => {
                const { id, service, coast, date } = contract;
                const row = tbody.insertRow();
                row.setAttribute("data-id", id);

                const cells = [service, coast, date];
                cells.forEach((value) => {
                    const cell = row.insertCell();
                    cell.textContent = value;
                });

                row.addEventListener('click', () => addAndRemoveFromList(row));
            });
        });

        await $.ajax({
            url: `/deal/get?id=${currentDealId}`,
            type: "GET",
            contentType: "json"
        }).done((result) => {
            currentDeal = result;
            console.log(currentDeal)
        });
    } catch (error) {
        console.error(error);
    }
});

const correctData = function () {

    return true;
};

const validate = function () {

    return true;
};

saveBtn.addEventListener("click", () => {
    if (!correctData()) {
        return;
    }
    if (!validate()) {
        return;
    }

    let dealModel = {
        "Id": currentDeal.id,
        "Subject": currentDeal.subject,
        "Responsibilities": currentDeal.responsibilities,
        "Date": currentDeal.date,
        "ContractViewModels": dataArray
    };
    console.log(dealModel);
    console.log(dataArray);
    $.ajax({
        url: "/deal/update",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify(dealModel)
    }).done(() => {
        window.location.href = "/Home/Deals";
    });
});

const addAndRemoveFromList = (row) => {
    var id = parseInt(row.dataset.id);
    console.log(contracts.find(x => x.id === id))
    var index = dataArray.indexOf(contracts.find(x => x.id === id));
    if (index === -1) {
        dataArray.push(contracts.find(x => x.id === id));
        row.classList.add("bg-info");
    } else {
        dataArray.splice(index, 1);
        row.classList.remove("bg-info");
    }
    console.log(dataArray);
}