const createBtn = document.getElementById("create-button"); const tbody = document.getElementById("scrollable-table__tbody"); const serviceInput = document.getElementById("service-input"); const coastInput = document.getElementById("coast-input"); const currentLawyerId = document.getElementById("lawyer-data").dataset.id; var contracts = []; var dataArray = []; var currentLawyer = null; window.addEventListener('load', async () => { await $.ajax({ url: "/contracts/getallbyuser", type: "GET", contentType: "json" }).done((result) => { contracts = result; }); await $.ajax({ url: `/lawyers/get?id=${currentLawyerId}`, type: "GET", contentType: "json" }).done((result) => { currentLawyer = result; }); contracts.forEach((contract) => createRowForContractsTable(contract)); }) createBtn.addEventListener('click', () => { var lawyerCasesUpdate = { "Id": currentLawyer.id, "Service": serviceInput.value, "Coast": coastInput.value, "Date": currentLawyer.date, "ContractViewModels": dataArray, "LawyerCases": currentLawyer.lawyerCases, } $.ajax({ url: "/lawyer/update", type: "POST", contentType: "application/json", data: JSON.stringify(lawyerCasesUpdate) }).done(() => { window.location.href = "/Home/Lawyers"; }); }) const createRowForContractsTable = (contract) => { const { id, service, coast, date} = contract; const row = tbody.insertRow(); row.setAttribute("data-id", id); const cells = [service, coast, formatDate(date)]; cells.forEach((value) => { const cell = row.insertCell(); cell.textContent = value; }); if (currentLawyer.lawyerContracts.find(x => parseInt(x.id) === parseInt(contract.id))) { row.classList.add("bg-success"); dataArray.push(contract); } row.addEventListener('click', () => addAndRemoveFromList(row)); }; const formatDate = (dateString) => { const date = new Date(dateString); const year = date.getFullYear(); const month = ('0' + (date.getMonth() + 1)).slice(-2); const day = ('0' + date.getDate()).slice(-2); return `${year}-${month}-${day}`; }; const addAndRemoveFromList = (row) => { var id = parseInt(row.dataset.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-success"); } else { dataArray.splice(index, 1); row.classList.remove("bg-success"); } }